RFC 9917

IGP Flexible Algorithms Reverse Affinity Constraint

πŸ“… published January 2026, from ietf

RFC 9917: IGP Flexible Algorithms Reverse Affinity Constraint πŸ’…πŸ¦‹

okay bestie, let's get into this one 🫢 it's an IETF Standards Track doc (so it's the real deal, not a vibe-check draft ✨), published January 2026 as RFC 9917, and it's giving main character energy πŸ‘‘

The authors are P. Psenak and J. Horn from Cisco Systems, plus A. Dhamija from Arrcus πŸ’œ. It's part of the IETF stream and the ISSN is 2070-1721 🌸

It updates RFC 9350 and RFC 9843 πŸ”₯. It doesn't obsolete anything, so nothing gets retired here. The updates are the whole point: it adds a new IANA registry for the ordered rules that prune links during Flex-Algorithm path computation 🧚

The "Status of This Memo" and "Copyright Notice" sections are the boring legal bits, so you can read them yourself at https://www.rfc-editor.org/info/rfc9917 πŸ™ˆ Copyright is IETF Trust and the document authors, 2026, all rights reserved πŸ’–

Table of Contents ✨

The full outline (sections 1 through 14, plus Authors' Addresses) is in part 2 πŸŽ€

Abstract ✨

okay so an IGP Flexible Algorithm (Flex-Algorithm) lets you compute constraint-based paths inside an IGP domain, so operators can steer path selection with their own policies πŸ¦‹

This doc adds a new extension: you can include or exclude links from path computation based on Administrative Groups (also called link affinities), but looking at the reverse direction of the path being computed πŸ’…

It also updates RFC 9350 and RFC 9843 by creating a new IANA registry for the ordered set of rules that prune links during Flex-Algorithm path computation 🌈

1. Introduction 🌸

so, IGPs used to pick the best paths using only the IGP metric on each link πŸ“ Flex-Algorithm from RFC 9350 changed that and lets IGPs compute constraint-based paths ✨

There are already a few ways to include or exclude a link during Flex-Algorithm calculation:

  • link inclusion or exclusion based on the presence of specific Admin Group(s) [RFC9350]
  • link exclusion based on the presence of a specific Shared Risk Link Group (SRLG) [RFC9350]
  • link exclusion based on minimum bandwidth [RFC9843]
  • link exclusion based on maximum delay [RFC9843]

This doc adds more constraints for including or excluding links, based on Admin Groups tied to the reverse direction of the SPF computation πŸ”₯

It updates [RFC9350] and [RFC9843] by creating the new IANA registry that holds the ordered rules for pruning links during Flex-Algorithm path computation (see Section 12.3.1) πŸ’œ

Also, the term OSPF in this doc means both OSPFv2 and OSPFv3 🫢

2. Requirements Language πŸŽ€

okay this part is important, bestie πŸ™ˆ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" are to be read as described in BCP 14 [RFC2119] [RFC8174], but only when they show up in all capitals like here πŸ’–

3. Use Case Example πŸ¦‹

so the Flexible Algorithm Definition (FAD) can specify Extended Administrative Groups that the operator uses to include or exclude links during Flex-Algorithm path computation [RFC9350] ✨

These Extended Admin Groups are checked in the direction of the SPF computation, which means from the root vertex toward vertices with increasing distance 🌈

sometimes it's more useful to look at the Extended Admin Groups on the reverse direction of a link instead of only the forward one πŸ‘‘ Picture a point-to-point link as a pair of directed edges between nodes A and B 🧚 When you compute a path from A to B, input errors on that link might only be detectable at node B, and those can matter operationally πŸ’€

So an operator might watch things like CRC errors or other input faults at node B and set thresholds over an observation period πŸ”₯ If a threshold gets crossed, node B may locally assign specific Extended Admin Groups to the link in the B-to-A direction πŸ’…

To make that work, Flex-Algorithm can look at the Extended Admin Groups of the reverse edge (B to A) while it evaluates the forward edge (A to B) during path computation 🫢 This lets you exclude links based on conditions detected at the far end, which improves network reliability and policy control ✨

4. Deployment Consideration πŸŽ€

heads up, bestie 🚨 Threshold-based setting of the link Extended Admin Groups must be done with care so you don't get excessive flooding and constant Flex-Algorithm path recalculation 😭

One approach is to use two different thresholds, one for setting and one for unsetting the Extended Admin Group on the link πŸ¦‹ For example, when you set the Extended Admin Group based on the percentage of certain incoming errors, use a higher threshold for setting and a lower threshold for unsetting 🌸

Lots of implementations have a throttling mechanism that limits how often the Link State PDU (LSP) in IS-IS, or the Link State Advertisement (LSA) in OSPFv2 and OSPFv3, gets updated at the originator πŸ“ That kind of throttling usually isn't specific to any one link attribute. It just looks at any change in the LSP or LSA ✨ You can also use it to stop frequent changes to the Extended Admin Group on a link from making the receivers unstable πŸ’œ

5. IS-IS Flexible Algorithm Exclude Reverse Admin Group Sub-TLV 🧚

okay so the IS-IS Flexible Algorithm Exclude Reverse Admin Group (FAERAG) Sub-TLV advertises the exclude rule used during Flex-Algorithm path calculation, as specified in Section 11 πŸ‘‘

The IS-IS FAERAG Sub-TLV is a sub-TLV of the IS-IS FAD Sub-TLV πŸ”₯ Here's the format:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      Type     |    Length     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      Extended Admin Group                     |
+-                                                             -+
|                            ...                                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

where:

  • Type (1 octet): 10
  • Length (1 octet): variable, depending on the size of the Extended Admin Group. The length MUST be a multiple of 4 octets. If the length is not a multiple of 4 octets, the receiver MUST ignore the entire sub-TLV πŸ’€
  • Extended Administrative Group: the Extended Administrative Group as defined in [RFC7308] πŸ’–

The IS-IS FAERAG Sub-TLV MUST NOT appear more than once in a single IS-IS FAD Sub-TLV 😭 If it shows up more than once, the receiver MUST ignore the IS-IS FAD Sub-TLV πŸ™ˆ

The IS-IS FAERAG Sub-TLV MUST NOT appear more than once in the set of FAD Sub-TLVs for a given Flex-Algorithm from a given IS 🚨 If it does appear more than once in that set, the receiver MUST use the IS-IS FAERAG Sub-TLV from the first occurrence in the lowest-numbered LSP from that IS, and MUST ignore any other occurrences 🫢

6. IS-IS Flexible Algorithm Include-Any Reverse Admin Group Sub-TLV 🌈

okay so the IS-IS Flexible Algorithm Include-Any Reverse Admin Group Sub-TLV advertises the include-any rule used during Flex-Algorithm path calculation, as specified in Section 11 πŸ¦‹

Its format is identical to the FAERAG Sub-TLV in Section 5 ✨

IANA has assigned Type value 11 to the IS-IS Flexible Algorithm Include-Any Reverse Admin Group Sub-TLV 🧚

The IS-IS Flexible Algorithm Include-Any Reverse Admin Group Sub-TLV MUST NOT appear more than once in a single IS-IS FAD Sub-TLV πŸ’… If it does, the receiver MUST ignore the IS-IS FAD Sub-TLV 😭

The IS-IS Flexible Algorithm Include-Any Reverse Admin Group Sub-TLV MUST NOT appear more than once in the set of FAD Sub-TLVs for a given Flex-Algorithm from a given IS πŸ”₯ If it appears more than once in that set, the receiver MUST use the one from the first occurrence in the lowest-numbered LSP from that IS, and MUST ignore any other occurrences 🫢


that's the end of part 1, bestie πŸŽ€ Part 2 picks up with Section 7 (the Include-All Reverse Admin Group Sub-TLV) and keeps going from there πŸ’–

7. IS-IS Flexible Algorithm Include-All Reverse Admin Group Sub-TLV ✨

okay so this sub-TLV is how you advertise the include-all rule πŸ’… that gets used during the Flex-Algorithm path calculation (see Section 11). main character energy, honestly πŸ¦‹

the format of the IS-IS Flexible Algorithm Include-All Reverse Admin Group Sub-TLV is identical to the FAERAG Sub-TLV from Section 5. same shape, same vibe πŸŽ€

IANA has assigned Type value of 12 for the IS-IS Flexible Algorithm Include-All Reverse Admin Group Sub-TLV πŸ‘‘

the IS-IS Flexible Algorithm Include-All Reverse Admin Group Sub-TLV MUST NOT appear more than once in a single IS-IS FAD Sub-TLV. if it shows up more than once, the IS-IS FAD Sub-TLV MUST be ignored by the receiver. πŸ’€

the IS-IS Flexible Algorithm Include-All Reverse Admin Group Sub-TLV MUST NOT appear more than once in the set of FAD Sub-TLVs for a given Flex-Algorithm from a given IS. if it appears more than once in that set, the first occurrence in the lowest-numbered LSP from a given IS MUST be used, and any other occurrences MUST be ignored by the receiver. the lowest-numbered LSP wins, bestie 🫢

8. OSPF Flexible Algorithm Exclude Reverse Admin Group Sub-TLV 🌸

the OSPF Flexible Algorithm Exclude Reverse Admin Group (FAERAG) Sub-TLV is used to advertise the exclude rule that gets used during the Flex-Algorithm path calculation (see Section 11). it's giving "rule enforcer" 😀

the OSPF FAERAG Sub-TLV is a sub-TLV of the OSPF FAD TLV. it looks like this:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              Type             |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      Extended Admin Group                     |
+-                                                             -+
|                            ...                                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

where:

  • Type (2 octets): 10
  • Length (2 octets): variable, depending on the size of the Extended Admin Group. the length MUST be a multiple of 4 octets. if the length is not a multiple of 4 octets, the entire sub-TLV MUST be ignored by the receiver.
  • Extended Administrative Group: the Extended Administrative Group as defined in [RFC7308].

the OSPF FAERAG Sub-TLV MUST NOT appear more than once in an OSPF FAD TLV. if it appears more than once, the OSPF FAD TLV MUST be ignored by the receiver. one per FAD, no drama πŸ’–

9. OSPF Flexible Algorithm Include-Any Reverse Admin Group Sub-TLV πŸ¦‹

the OSPF Flexible Algorithm Include-Any Reverse Admin Group Sub-TLV is used to advertise the include-any rule that gets used during the Flex-Algorithm path calculation (see Section 11). the "any of these, I'm in" energy ✨

the format of the OSPF Flexible Algorithm Include-Any Reverse Admin Group Sub-TLV is identical to the format of the OSPF FAERAG Sub-TLV in Section 8. copy-paste structure, fr fr πŸŽ€

IANA has assigned Type value of 11 for the OSPF Flexible Algorithm Include-Any Reverse Admin Group Sub-TLV πŸ‘‘

the OSPF Flexible Algorithm Include-Any Reverse Admin Group Sub-TLV MUST NOT appear more than once in an OSPF FAD TLV. if it appears more than once, the OSPF FAD TLV MUST be ignored by the receiver. πŸ’…

10. OSPF Flexible Algorithm Include-All Reverse Admin Group Sub-TLV 🧚

the OSPF Flexible Algorithm Include-All Reverse Admin Group Sub-TLV is used to advertise the include-all rule that gets used during the Flex-Algorithm path calculation (see Section 11). the "every single one, or nothing" rule, iconic 🌈

the format of the OSPF Flexible Algorithm Include-All Reverse Admin Group Sub-TLV is identical to the format of the OSPF FAERAG Sub-TLV in Section 8. same look, different job πŸ’œ

IANA has assigned Type value of 12 for the OSPF Flexible Algorithm Include-All Reverse Admin Group Sub-TLV πŸ‘‘

the OSPF Flexible Algorithm Include-All Reverse Admin Group Sub-TLV MUST NOT appear more than once in an OSPF FAD TLV. if it appears more than once, the OSPF FAD TLV MUST be ignored by the receiver. ngl this is the same rule every time, it's consistent and I respect it 🫢

11. Calculation of Flexible Algorithm Paths πŸ“

the following procedures add extra constraints on top of the rules in Section 13 of [RFC9350], based on the Administrative Groups (AGs) associated with the reverse direction of a link. it's a double-check situation, and I'm here for it πŸ”₯

  • check if any exclude reverse Admin Group rule is part of the Flex-Algorithm definition. if such an exclude rule exists, check whether any Admin Group in that exclude rule is also set on the link in the reverse direction. if such an Admin Group is set on the link in the reverse direction, the link MUST be pruned from the computation. bye bye, link πŸ™ˆ
  • check if any include-any reverse Admin Group rule is part of the Flex-Algorithm definition. if such an include-any rule exists, check whether any Admin Group in that include-any rule is also set on the link in the reverse direction. if no such Admin Group is set on the link in the reverse direction, the link MUST be pruned from the computation. at least one has to show up, or it's out πŸ’€
  • check if any include-all reverse Admin Group rule is part of the Flex-Algorithm definition. if such an include-all rule exists, check whether all Admin Groups in that include-all rule are also set on the link in the reverse direction. if not all of those Admin Groups are set on the link in the reverse direction, the link MUST be pruned from the computation. all of them or none of them, periodt ✨

please see rules 8, 9, and 10 in Section 12.3 for these added rules πŸ¦‹

12. IANA Considerations πŸ’–

12.1. Sub-Sub-TLVs for Flexible Algorithm Definition Sub-TLV

IANA has registered the following in the "IS-IS Sub-Sub-TLVs for Flexible Algorithm Definition Sub-TLV" registry under the "IS-IS TLV Codepoints" registry group:

Type:  10
Description:  Flexible Algorithm Exclude Reverse Admin Group
MP:  n
Reference:  RFC 9917, Section 5

Type:  11
Description:  Flexible Algorithm Include-Any Reverse Admin Group
MP:  n
Reference:  RFC 9917, Section 6

Type:  12
Description:  Flexible Algorithm Include-All Reverse Admin Group
MP:  n
Reference:  RFC 9917, Section 7

12.2. OSPF Flexible Algorithm Definition TLV Sub-TLV Registry

this document makes the following registration in the "OSPF Flexible Algorithm Definition TLV Sub-TLVs" registry under the "Open Shortest Path First (OSPF) Parameters" registry group:

Type:  10
Description:  Flexible Algorithm Exclude Reverse Admin Group
Reference:  RFC 9917, Section 8

Type:  11
Description:  Flexible Algorithm Include-Any Reverse Admin Group
Reference:  RFC 9917, Section 9

Type:  12
Description:  Flexible Algorithm Include-All Reverse Admin Group
Reference:  RFC 9917, Section 10

12.3. IGP Flex-Algorithm Path Computation Rules Registry πŸ¦‹

Okay bestie, IANA said "we're making a whole new registry" and honestly? Iconic πŸ’…. It's called "IGP Flex-Algorithm Path Computation Rules" and it lives inside the "Interior Gateway Protocol (IGP) Parameters" registry group ✨. The registration procedure is Expert Review [RFC8126], and Section 12.3.1 is where the designated experts get their vibe-check guidance πŸŽ€.

This registry is basically the ordered list of rules used to prune links from the topology during Flex-Algorithm path computation. Think of it as the bouncer's checklist for links 🚫🫢. And there's literally no upper bound on how many rules it can hold 🌈.

Quick decoder ring for Table 1: FAEMB means "Flex-Algorithm Exclude Minimum Bandwidth" and FAEMD means "Flex-Algorithm Exclude Maximum Delay" 🧚.

+==========+===========================================+===========+
| Sequence | Description                               | Reference |
| Number   |                                           |           |
+==========+===========================================+===========+
| 1        | Check if any exclude Administrative Group | Section   |
|          | rule is part of the Flex-Algorithm        | 13 of     |
|          | Definition.  If such exclude rule exists, | [RFC9350] |
|          | check if any color that is part of the    |           |
|          | exclude rule is also set on the link.  If |           |
|          | such a color is set, the link MUST be     |           |
|          | pruned from the computation.              |           |
+----------+-------------------------------------------+-----------+
| 2        | Check if any exclude SRLG rule is part of | Section   |
|          | the Flex-Algorithm Definition.  If such   | 13 of     |
|          | exclude rule exists, check if the link is | [RFC9350] |
|          | part of any SRLG that is also part of the |           |
|          | SRLG exclude rule.  If the link is part   |           |
|          | of such SRLG, the link MUST be pruned     |           |
|          | from the computation.                     |           |
+----------+-------------------------------------------+-----------+
| 3        | Check if any include-any Administrative   | Section   |
|          | Group rule is part of the Flex-Algorithm  | 13 of     |
|          | Definition.  If such include-any rule     | [RFC9350] |
|          | exists, check if any color that is part   |           |
|          | of the include-any rule is also set on    |           |
|          | the link.  If no such color is set, the   |           |
|          | link MUST be pruned from the computation. |           |
+----------+-------------------------------------------+-----------+
| 4        | Check if any include-all Administrative   | Section   |
|          | Group rule is part of the Flex-Algorithm  | 13 of     |
|          | Definition.  If such include-all rule     | [RFC9350] |
|          | exists, check if all colors that are part |           |
|          | of the include-all rule are also set on   |           |
|          | the link.  If all such colors are not set |           |
|          | on the link, the link MUST be pruned from |           |
|          | the computation.                          |           |
+----------+-------------------------------------------+-----------+
| 5        | If the Flex-Algorithm Definition uses     | Section   |
|          | something other than the IGP metric       | 13 of     |
|          | (Section 5 of [RFC9350]), and such metric | [RFC9350] |
|          | is not advertised for the particular link |           |
|          | in a topology for which the computation   |           |
|          | is done, such link MUST be pruned from    |           |
|          | the computation.  A metric of value 0     |           |
|          | MUST NOT be assumed in such a case.       |           |
+----------+-------------------------------------------+-----------+
| 6        | Check if any exclude FAEMB rule is part   | Section 6 |
|          | of the Flex-Algorithm definition.  If     | of        |
|          | such exclude rule exists and the link has | [RFC9843] |
|          | Maximum Link Bandwidth advertised, check  |           |
|          | if the link bandwidth satisfies the FAEMB |           |
|          | rule.  If the link does not satisfy the   |           |
|          | FAEMB rule, the link MUST be pruned from  |           |
|          | the Flex-Algorithm computation.           |           |
+----------+-------------------------------------------+-----------+
| 7        | Check if any exclude FAEMD rule is part   | Section 6 |
|          | of the Flex-Algorithm definition.  If     | of        |
|          | such exclude rule exists and the link has | [RFC9843] |
|          | Min Unidirectional link delay advertised, |           |
|          | check if the link delay satisfies the     |           |
|          | FAEMD rule.  If the link does not satisfy |           |
|          | the FAEMD rule, the link MUST be pruned   |           |
|          | from the Flex-Algorithm computation.      |           |
+----------+-------------------------------------------+-----------+
| 8        | Check if any exclude reverse Admin Group  | Section   |
|          | rule is part of the Flex-Algorithm        | 11 of RFC |
|          | definition.  If such exclude rule exists, | 9917      |
|          | check if any Admin Group that is part of  |           |
|          | the exclude rule is also set on the link  |           |
|          | in the reverse direction.  If such Admin  |           |
|          | Group is set on the link in the reverse   |           |
|          | direction, the link MUST be pruned from   |           |
|          | the computation.                          |           |
+----------+-------------------------------------------+-----------+
| 9        | Check if any include-any reverse Admin    | Section   |
|          | Group rule is part of the Flex-Algorithm  | 11 of RFC |
|          | definition.  If such include-any rule     | 9917      |
|          | exists, check if any Admin Group that is  |           |
|          | part of the include-any rule is also set  |           |
|          | on the link in the reverse direction.  If |           |
|          | no such Admin Group is set on the link in |           |
|          | the reverse direction, the link MUST be   |           |
|          | pruned from the computation.              |           |
+----------+-------------------------------------------+-----------+
| 10       | Check if any include-all reverse Admin    | Section   |
|          | Group rule is part of the Flex-Algorithm  | 11 of RFC |
|          | definition.  If such include-all rule     | 9917      |
|          | exists, check if all Admin Groups that    |           |
|          | are part of the include-all rule are also |           |
|          | set on the link in the reverse direction. |           |
|          | If all such Admin Groups are not set on   |           |
|          | the link in the reverse direction, the    |           |
|          | link MUST be pruned from the computation. |           |
+----------+-------------------------------------------+-----------+

Table 1: IGP Flex-Algorithm Path Calculation Rules

12.3.1. Guidance for Designated Experts 🧚

Okay so the original Flex-Algorithm spec [RFC9350] came out, and then tons of Flex-Algorithm extensions were proposed and standardized 😭. A lot of them added extra rules to path computation. Keeping an IANA registry for those rules means specs across multiple documents can keep progressing independently, which is so smart 🧠✨. The new "IGP Flex-Algorithm Path Computation Rules" registry has been created, and it's specified in Section 12.3.

This section gives the designated experts their guidance for evaluating new registrations in that registry πŸ’–:

  1. When a new constraint is defined, its rule MAY be inserted at any position. Backwards compatibility is guaranteed, because nodes that don't support the new constraint just won't take part in an algorithm where the FAD specifies a constraint they don't support 🫢.
  2. The relative ordering of existing rules MUST NOT be altered. Doing so has the potential to create backwards compatibility issues πŸ’€.
  3. Deletion of the rules MUST NOT be done. The rules only get used conditionally, based on the information carried in the winning FAD, so deleting a rule isn't necessary πŸ™ˆ.
  4. Merging or repeating of the rules MUST NOT be done πŸ‘‘.

13. Security Considerations πŸ”’

This document totally borrows its security vibes from [RFC9350]. Go read that one too, bestie πŸ’œ.

14. References πŸ“š

14.1. Normative References

[RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
           Requirement Levels", BCP 14, RFC 2119,
           DOI 10.17487/RFC2119, March 1997,
           <https://www.rfc-editor.org/info/rfc2119>.

[RFC7308]  Osborne, E., "Extended Administrative Groups in MPLS
           Traffic Engineering (MPLS-TE)", RFC 7308,
           DOI 10.17487/RFC7308, July 2014,
           <https://www.rfc-editor.org/info/rfc7308>.

[RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
           2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
           May 2017, <https://www.rfc-editor.org/info/rfc8174>.

[RFC9350]  Psenak, P., Ed., Hegde, S., Filsfils, C., Talaulikar, K.,
           and A. Gulko, "IGP Flexible Algorithm", RFC 9350,
           DOI 10.17487/RFC9350, February 2023,
           <https://www.rfc-editor.org/info/rfc9350>.

[RFC9843]  Hegde, S., Britto, W., Shetty, R., Decraene, B., Psenak,
           P., and T. Li, "IGP Flexible Algorithms: Bandwidth, Delay,
           Metrics, and Constraints", RFC 9843, DOI 10.17487/RFC9843,
           September 2025, <https://www.rfc-editor.org/info/rfc9843>.

14.2. Informative References

[RFC8126]  Cotton, M., Leiba, B., and T. Narten, "Guidelines for
           Writing an IANA Considerations Section in RFCs", BCP 26,
           RFC 8126, DOI 10.17487/RFC8126, June 2017,
           <https://www.rfc-editor.org/info/rfc8126>.

Authors' Addresses πŸ’–

Peter Psenak
Cisco Systems
Apollo Business Center
Mlynske nivy 43
82109 Bratislava
Slovakia
Email: ppsenak@cisco.com

Jakub Horn
Cisco Systems
Milpitas, CA 95035
United States of America
Email: jakuhorn@cisco.com

Amit Dhamija
Arrcus
Email: amitd@arrcus.com
πŸ“¦ where this page comes from