Subject: [Srcomp] Appendix B.3 and B.4 ( was RE: Notes on Section 3.3.1)

From: Ron Bonica <[email-masked]>
Date: Mon, 17 May 2021 00:34:26 +0000

Folks,

The following is proposed text for Appendix B.3 and B4.

                     Ron

B.3 CRH Encoding of VPN SIDs

Consider the following network topology:

 S---P1-P2---D

  *   The SR domain contains Node S, P1 and D.
  *   S is an ingress PE router
  *   D is an egress PE router

The SR path needs to encapsulate payload on S, visit Nodes P1 and P2, and execute and END.DX instruction on Node D.

Uncompressed SRv6 can achieve this behavior using the following segments:

  *   An END instruction, instantiated on P1
  *   An END instruction, instantiated on P2
  *   An END.DX instruction, instantiated on D

The CRH can achieve this behavior using either of the following methods. In the first method, it uses:

  *   An END instruction, instantiated on P1
  *   An END instruction, instantiated on P2
  *   A TPF Destination Option, processed on Node D

In the second method, it uses:

  *   An END instruction, instantiated on P1
  *   An END instruction, instantiated on P2
  *   An END instruction, instantiated on Node D
  *   An END.DX instruction, instantiated on Node D

The END instruction on P2 brings the packet to Node D, but does not indicate though which interface the packet should be forwarded after decapsulation. The END instruction on Node D causes the IPv6 Destination address to be replaced with a classic SRv6 SID. That SID's locator represents Node D. Its function and arguments  indicate though which interface the packet should be forwarded after decapsulation.

The extra END instruction on Node B is required so that Node P2 does not need to carry VPN information.

B.3 CSID Encoding of VPN SIDs

Consider the following network topology:

 S---P1-P2---D

  *   The SR domain contains Node S, P1 and D.
  *   S is an ingress PE router
  *   D is an egress PE router

The SR path needs to encapsulate payload on S, visit Nodes P1 and P2, and execute and END.DX instruction on Node D.

Uncompressed SRv6 can achieve this behavior using the following segments:

  *   An END instruction, instantiated on P1
  *   An END instruction, instantiated on P2
  *   An END.DX instruction, instantiated on D

The CSID can achieve this behavior using the following segments:

  *   An END instruction, instantiated on P1
  *   An END instruction, instantiated on P2
  *   An END instruction, instantiated on Node D
  *   An END.DX instruction, instantiated on Node D

The END instruction on P2 brings the packet to Node D, but does not indicate though which interface the packet should be forwarded after decapsulation. The END instruction on Node D does not cause the packet to be forwarded. However, it does cause the next CSID (i.e., the END.DX instruction) to be processed.

This is required because VPN service instructions are locally allocated.

From: Ron Bonica
Sent: Thursday, May 6, 2021 3:53 PM
To: 'srcomp' <[email-masked]>
Subject: Notes on Section 3.3.1

Note: Any path that can be represented by uncompressed SRv6 can also be represented by any of the proposed compression mechanisms. However, for some SR paths, a compression mechanism may require additional segments or additional state in transit routers. See Appendix B for details.

Conclusion:  All proposals satisfy this requirement, because any path that can be represented by uncompressed SRv6 can also be represented by any of the proposed compression mechanisms.

Appendix B:

This appendix provides examples of SR paths that  can be represented by uncompressed SRv6 or any of the proposed compression mechanisms. However, extra state or segments are required when representing the path in compressed format.

B.1 Transit Nodes Following Adjacency Segments

Consider the following network topology:

                          Network A
                        /          |            \
     S  ----  P                 | --------  D1
                        \             -------- DN
                           \          |         /
                            Network B

  *   The SR domain contains Node S, Node P, and a set of destination nodes (D1 through DN)
  *   S is connected to P
  *   P is connected to Network A and to Network B. Neither of these networks are SR-capable.
  *   The destination nodes  connect to both Network A and Network B

S needs to reach each destination node through two SR paths. One SR path traverses:

  *   A prefix segment that is instantiated on node S and takes the packet to Node P
  *   An adjacency segment that is instantiated on Node P and takes the packet through Network A to a destination node

The other SR path traverses:

  *   A prefix segment that is instantiated on node S and takes the packet to Node P
  *   An adjacency segment that is instantiated on Node P and takes the packet through Network B to a destination node

Uncompressed SRv6 can achieve this goal by:

  *   Using two segments, one ending at P and the other at the destination
  *   Instantiating 2 adjacency SIDs on Node P (one per outbound interface).

CRH compressed SRv6 can achieve this goal by:

  *   Using two segments, one ending at P and the other at the destination
  *   Instantiating 2*N adjacency SIDs on Node P (one per outbound interface per destination).

Alternatively, CRH compressed SRv6  by:

  *   Using three segments, two ending at P and the other at the destination
  *   Instantiating 2 adjacency SIDs on Node P (one per outbound interface per destination).

In this case, the first segment on P would change the IPv6 destination address but not forward the packet. The second segment would forward the packet, but not change the destination address.

B.2 Transit Nodes Preceding Local Adjacency Segments

Consider the following network topology:

 S---P1-T1-P2-T2---P3---T3---D

  *   The SR domain contains Node S, P1, P2, P3, and D.
  *   T1, T2, and T3 are not SR aware.

S needs to reach D through local (LIB) adjacency segments instantiated on P1,P2 and P3.

Uncompressed SRv6 can achieve this goal using three adjacency segments, instantiated on P1, P2 and P3.

CSID compressed SRv6 can achieve this goal five adjacency segments. These are:

  *   A prefix segment on P1
  *   A prefix segment followed by an adjacency segment on P2
  *   A prefix segment followed by an adjacency segment on P3

The prefix segments are required because local adjacency segments are not routable on T1, T2 or T3.

B.3 SR Path 3

Do we need to discuss CRH handling of VPN SIDs?

B.4 SR Path 4

Do we need to discuss CSID handling of VPN labels?

Juniper Business Use Only

---

From: "Darren Dukes (ddukes)" <[email-masked]>
Date: Wed, 19 May 2021 11:09:35 +0000

Hello Ron,

I only see one scenario described below (B3).
This scenario you describe is documented and analyzed as part of the encapsulation size evaluation for all proposals.
Your CSID analysis applies to the 16-bit CSID.

Thanks
  Darren

On 2021-05-16, 8:35 PM, "Srcomp" <[email-masked]> wrote:

Folks,

                     Ron

 S---P1—P2---D

-          The SR domain contains Node S, P1 and D.

-          S is an ingress PE router

-          D is an egress PE router

-          An END instruction, instantiated on P1

-          An END instruction, instantiated on P2

-          An END.DX instruction, instantiated on D

-          An END instruction, instantiated on P1

-          An END instruction, instantiated on P2

-          A TPF Destination Option, processed on Node D

-          An END instruction, instantiated on P1

-          An END instruction, instantiated on P2

-          An END instruction, instantiated on Node D

-          An END.DX instruction, instantiated on Node D

The END instruction on P2 brings the packet to Node D, but does not indicate though which interface the packet should be forwarded after decapsulation. The END instruction on Node D causes the IPv6 Destination address to be replaced with a classic SRv6 SID. That SID’s locator represents Node D. Its function and arguments  indicate though which interface the packet should be forwarded after decapsulation.

 S---P1—P2---D

-          The SR domain contains Node S, P1 and D.

-          S is an ingress PE router

-          D is an egress PE router

-          An END instruction, instantiated on P1

-          An END instruction, instantiated on P2

-          An END.DX instruction, instantiated on D

-          An END instruction, instantiated on P1

-          An END instruction, instantiated on P2

-          An END instruction, instantiated on Node D

-          An END.DX instruction, instantiated on Node D

From: Ron Bonica

Appendix B:

                          Network A
                        /          |            \
     S  ----  P                 | --------  D1
                        \             -------- DN
                           \          |         /
                            Network B

-          The SR domain contains Node S, Node P, and a set of destination nodes (D1 through DN)

-          S is connected to P

-          P is connected to Network A and to Network B. Neither of these networks are SR-capable.

-          The destination nodes  connect to both Network A and Network B

-          A prefix segment that is instantiated on node S and takes the packet to Node P

-          An adjacency segment that is instantiated on Node P and takes the packet through Network A to a destination node

-          A prefix segment that is instantiated on node S and takes the packet to Node P

-          An adjacency segment that is instantiated on Node P and takes the packet through Network B to a destination node

-          Using two segments, one ending at P and the other at the destination

-          Instantiating 2 adjacency SIDs on Node P (one per outbound interface).

-          Using two segments, one ending at P and the other at the destination

-          Instantiating 2*N adjacency SIDs on Node P (one per outbound interface per destination).

-          Using three segments, two ending at P and the other at the destination

-          Instantiating 2 adjacency SIDs on Node P (one per outbound interface per destination).

 S---P1—T1—P2—T2---P3---T3---D

-          The SR domain contains Node S, P1, P2, P3, and D.

-          T1, T2, and T3 are not SR aware.

-          A prefix segment on P1

-          A prefix segment followed by an adjacency segment on P2

-          A prefix segment followed by an adjacency segment on P3

B.3 SR Path 3

B.4 SR Path 4