Routing

 View Only
last person joined: yesterday 

Ask questions and share experiences about ACX Series, CTP Series, MX Series, PTX Series, SSR Series, JRR Series, and all things routing, including portfolios and protocols.

Inter-AS SRv6 on an ASBR that is also a PE...

  • 1.  Inter-AS SRv6 on an ASBR that is also a PE...

    Posted 16 days ago

    Hi all,

    I'm doing an inter-vendor lab with Ericsson and MX routers. So far, I have everything working fine on the Ericsson side, but not that much on the MX. All real hardware, no virtualization.

    SIDs are 2001:db8:a:(x)::/64, where X is the last number for the router(1,2,3,4,11,12,13), and Loopbacks are 2001:db8::(x)/128.

    (There is another lab not shown here)

    MX11 receives the BGP routes for the external SIDs, but it doesn't install them as SRv6 tunnels. It sets its own SID next-hop to the internal BGP neighbors, and the internal BGP neighbors (MX12 and MX13) successfully install the routes to the external neighbors as SRv6 tunnels

    admin@MX11# run show route table inet6.3 2001:db8:a::/48
    
    inet6.3: 48 destinations, 82 routes (48 active, 0 holddown, 0 hidden)
    + = Active Route, - = Last Active, * = Both
    
    2001:db8:a:1::/64  *[BGP/170] 01:25:46, MED 0, localpref 100, from 2001:db8:1::3:11:3
                          AS path: 100 ?, validation-state: unverified
                           to 2001:db8:1::3:11:3 via xe-0/1/3.0
                        >  to 2001:db8:1::2:11:2 via xe-0/1/4.0
                        [BGP/170] 01:25:46, MED 0, localpref 100
                          AS path: 100 ?, validation-state: unverified
                        >  to 2001:db8:1::2:11:2 via xe-0/1/4.0
    2001:db8:a:2::/64  *[BGP/170] 04:22:19, MED 0, localpref 100
                          AS path: 100 I, validation-state: unverified
                        >  to 2001:db8:1::2:11:2 via xe-0/1/4.0
                        [BGP/170] 02:13:32, MED 0, localpref 100
                          AS path: 100 ?, validation-state: unverified
                        >  to 2001:db8:1::3:11:3 via xe-0/1/3.0
    2001:db8:a:3::/64  *[BGP/170] 02:16:07, MED 0, localpref 100
                          AS path: 100 I, validation-state: unverified
                        >  to 2001:db8:1::3:11:3 via xe-0/1/3.0
                        [BGP/170] 01:25:46, MED 0, localpref 100
                          AS path: 100 ?, validation-state: unverified
                        >  to 2001:db8:1::2:11:2 via xe-0/1/4.0
    2001:db8:a:4::/64  *[BGP/170] 01:25:46, MED 0, localpref 100, from 2001:db8:1::3:11:3
                          AS path: 100 ?, validation-state: unverified
                           to 2001:db8:1::3:11:3 via xe-0/1/3.0
                        >  to 2001:db8:1::2:11:2 via xe-0/1/4.0
                        [BGP/170] 01:25:46, MED 0, localpref 100
                          AS path: 100 ?, validation-state: unverified
                        >  to 2001:db8:1::2:11:2 via xe-0/1/4.0
    2001:db8:a:12::/64 *[SRV6-ISIS/14] 5d 01:15:23, metric 10
                           to fe80::65c:6cff:fea9:6438 via xe-0/1/5.0, SRV6-Tunnel, Dest: 2001:db8:a:12::
                        >  to fe80::65c:6cff:fea9:6439 via xe-0/1/6.0, SRV6-Tunnel, Dest: 2001:db8:a:12::
    2001:db8:a:12::ffff/128
                       *[SRV6-ISIS/14] 5d 01:15:23, metric 10
                           to fe80::65c:6cff:fea9:6438 via xe-0/1/5.0, SRV6-Tunnel, Dest: 2001:db8:a:12::ffff
                        >  to fe80::65c:6cff:fea9:6439 via xe-0/1/6.0, SRV6-Tunnel, Dest: 2001:db8:a:12::ffff
    2001:db8:a:13::/64 *[SRV6-ISIS/14] 5d 01:15:18, metric 10
                           to fe80::65c:6cff:fea6:2417 via xe-0/1/0.0, SRV6-Tunnel, Dest: 2001:db8:a:13::
                        >  to fe80::65c:6cff:fea6:2418 via xe-0/1/1.0, SRV6-Tunnel, Dest: 2001:db8:a:13::
    2001:db8:a:13::ffff/128
                       *[SRV6-ISIS/14] 5d 01:15:18, metric 10
                           to fe80::65c:6cff:fea6:2417 via xe-0/1/0.0, SRV6-Tunnel, Dest: 2001:db8:a:13::ffff
                        >  to fe80::65c:6cff:fea6:2418 via xe-0/1/1.0, SRV6-Tunnel, Dest: 2001:db8:a:13::ffff
    
    [edit]
    admin@MX11#
    

    I configured a policy for MX11 to advertise these routes internally with its own SRv6 SID as next-hop:

    admin@MX11# show policy-options policy-statement SRV6_NHS | display set
    set policy-options policy-statement SRV6_NHS term LOC from route-filter 2001:db8:a::/60 orlonger
    set policy-options policy-statement SRV6_NHS term LOC then next-hop 2001:db8:a:11::
    set policy-options policy-statement SRV6_NHS term LOC then accept
    set policy-options policy-statement SRV6_NHS term ELSE then next-hop self
    set policy-options policy-statement SRV6_NHS term ELSE then accept
    

    MX11 doesn't have any valid external VPN routes

    admin@MX11# run show route table vpnA hidden
    
    vpnA.inet.0: 7 destinations, 7 routes (3 active, 0 holddown, 4 hidden)
    + = Active Route, - = Last Active, * = Both
    
    10.255.0.1/32       [BGP/170] 02:01:59, MED 0, localpref 100, from 2001:db8::13
                          AS path: 100 ?, validation-state: unverified
                           Unusable
    10.255.0.2/32       [BGP/170] 04:09:19, MED 0, localpref 100, from 2001:db8::13
                          AS path: 100 ?, validation-state: unverified
                           Unusable
    10.255.0.3/32       [BGP/170] 02:04:33, MED 0, localpref 100, from 2001:db8::13
                          AS path: 100 ?, validation-state: unverified
                           Unusable
    10.255.0.4/32       [BGP/170] 02:01:59, MED 0, localpref 100, from 2001:db8::13
                          AS path: 100 ?, validation-state: unverified
                           Unusable
    
    [edit]
    admin@MX11#

    MX11 only has internal routes in vpnA, which are of course pingable:

    admin@MX11# run show route table vpnA
    
    vpnA.inet.0: 7 destinations, 7 routes (3 active, 0 holddown, 4 hidden)
    + = Active Route, - = Last Active, * = Both
    
    10.255.0.11/32     *[Direct/0] 2d 02:37:13
                        >  via lo0.100
    10.255.0.12/32     *[BGP/170] 04:23:54, localpref 100, from 2001:db8::13
                          AS path: I, validation-state: unverified
                           to fe80::65c:6cff:fea9:6438 via xe-0/1/5.0, SRv6 SID: 2001:db8:a:12:8005::, SRV6-Tunnel, Dest: 2001:db8:a:12::
                        >  to fe80::65c:6cff:fea9:6439 via xe-0/1/6.0, SRv6 SID: 2001:db8:a:12:8005::, SRV6-Tunnel, Dest: 2001:db8:a:12::
    10.255.0.13/32     *[BGP/170] 04:23:54, localpref 100, from 2001:db8::13
                          AS path: I, validation-state: unverified
                           to fe80::65c:6cff:fea6:2417 via xe-0/1/0.0, SRv6 SID: 2001:db8:a:13:100:100:0:1, SRV6-Tunnel, Dest: 2001:db8:a:13::
                        >  to fe80::65c:6cff:fea6:2418 via xe-0/1/1.0, SRv6 SID: 2001:db8:a:13:100:100:0:1, SRV6-Tunnel, Dest: 2001:db8:a:13::
    
    [edit]
    admin@MX11# run ping routing-instance vpnA 10.255.0.12
    PING 10.255.0.12 (10.255.0.12): 56 data bytes
    64 bytes from 10.255.0.12: icmp_seq=0 ttl=64 time=6.924 ms
    ^C
    --- 10.255.0.12 ping statistics ---
    1 packets transmitted, 1 packets received, 0% packet loss
    round-trip min/avg/max/stddev = 6.924/6.924/6.924/0.000 ms
    
    [edit]
    admin@MX11#
    

    MX12  (and MX13) can  receive external SRv6 routes and can use them for VPN traffic. Even ping works. Note that Dest of SRv6 tunnel is MX11's SID

    admin@MX12# run show route table vpnA
    
    vpnA.inet.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden)
    + = Active Route, - = Last Active, * = Both
    
    10.255.0.1/32      *[BGP/170] 02:03:06, MED 0, localpref 100, from 2001:db8::13
                          AS path: 100 ?, validation-state: unverified
                        >  to fe80::65c:6cff:fea5:99a4 via xe-0/1/5.0, SRv6 SID: 2001:db8:a:1:11::, SRV6-Tunnel, Dest: 2001:db8:a:11::
                           to fe80::65c:6cff:fea5:99a5 via xe-0/1/6.0, SRv6 SID: 2001:db8:a:1:11::, SRV6-Tunnel, Dest: 2001:db8:a:11::
    10.255.0.2/32      *[BGP/170] 04:10:26, MED 0, localpref 100, from 2001:db8::13
                          AS path: 100 ?, validation-state: unverified
                        >  to fe80::65c:6cff:fea5:99a4 via xe-0/1/5.0, SRv6 SID: 2001:db8:a:2:11::, SRV6-Tunnel, Dest: 2001:db8:a:11::
                           to fe80::65c:6cff:fea5:99a5 via xe-0/1/6.0, SRv6 SID: 2001:db8:a:2:11::, SRV6-Tunnel, Dest: 2001:db8:a:11::
    10.255.0.3/32      *[BGP/170] 02:05:41, MED 0, localpref 100, from 2001:db8::13
                          AS path: 100 ?, validation-state: unverified
                        >  to fe80::65c:6cff:fea5:99a4 via xe-0/1/5.0, SRv6 SID: 2001:db8:a:3:11::, SRV6-Tunnel, Dest: 2001:db8:a:11::
                           to fe80::65c:6cff:fea5:99a5 via xe-0/1/6.0, SRv6 SID: 2001:db8:a:3:11::, SRV6-Tunnel, Dest: 2001:db8:a:11::
    10.255.0.4/32      *[BGP/170] 02:03:06, MED 0, localpref 100, from 2001:db8::13
                          AS path: 100 ?, validation-state: unverified
                        >  to fe80::65c:6cff:fea5:99a4 via xe-0/1/5.0, SRv6 SID: 2001:db8:a:4:10::, SRV6-Tunnel, Dest: 2001:db8:a:11::
                           to fe80::65c:6cff:fea5:99a5 via xe-0/1/6.0, SRv6 SID: 2001:db8:a:4:10::, SRV6-Tunnel, Dest: 2001:db8:a:11::
    10.255.0.11/32     *[BGP/170] 04:12:01, localpref 100, from 2001:db8::13
                          AS path: I, validation-state: unverified
                           to fe80::65c:6cff:fea5:99a4 via xe-0/1/5.0, SRv6 SID: 2001:db8:a:11:100::100, SRV6-Tunnel, Dest: 2001:db8:a:11::
                        >  to fe80::65c:6cff:fea5:99a5 via xe-0/1/6.0, SRv6 SID: 2001:db8:a:11:100::100, SRV6-Tunnel, Dest: 2001:db8:a:11::
    10.255.0.12/32     *[Direct/0] 2d 02:25:07
                        >  via lo0.100
    10.255.0.13/32     *[BGP/170] 04:12:05, localpref 100, from 2001:db8::13
                          AS path: I, validation-state: unverified
                           to fe80::65c:6cff:fea6:241a via xe-0/1/3.0, SRv6 SID: 2001:db8:a:13:100:100:0:1, SRV6-Tunnel, Dest: 2001:db8:a:13::
                        >  to fe80::65c:6cff:fea6:241b via xe-0/1/4.0, SRv6 SID: 2001:db8:a:13:100:100:0:1, SRV6-Tunnel, Dest: 2001:db8:a:13::
    
    admin@MX12# run ping routing-instance vpnA 10.255.0.1
    PING 10.255.0.1 (10.255.0.1): 56 data bytes
    64 bytes from 10.255.0.1: icmp_seq=0 ttl=254 time=3.729 ms
    64 bytes from 10.255.0.1: icmp_seq=1 ttl=254 time=1.467 ms
    ^C
    --- 10.255.0.1 ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max/stddev = 1.467/2.598/3.729/1.131 ms
    
    [edit]
    admin@MX12#
    
    
    
    
    admin@MX12# run show route 2001:db8:a::/48 table inet6.3
    
    inet6.3: 12 destinations, 12 routes (12 active, 0 holddown, 0 hidden)
    + = Active Route, - = Last Active, * = Both
    
    2001:db8:a:1::/64  *[BGP/170] 02:04:38, MED 0, localpref 100, from 2001:db8::13
                          AS path: 100 ?, validation-state: unverified
                           to fe80::65c:6cff:fea5:99a4 via xe-0/1/5.0, SRV6-Tunnel, Dest: 2001:db8:a:11::
                        >  to fe80::65c:6cff:fea5:99a5 via xe-0/1/6.0, SRV6-Tunnel, Dest: 2001:db8:a:11::
    2001:db8:a:2::/64  *[BGP/170] 04:11:58, MED 0, localpref 100, from 2001:db8::13
                          AS path: 100 I, validation-state: unverified
                           to fe80::65c:6cff:fea5:99a4 via xe-0/1/5.0, SRV6-Tunnel, Dest: 2001:db8:a:11::
                        >  to fe80::65c:6cff:fea5:99a5 via xe-0/1/6.0, SRV6-Tunnel, Dest: 2001:db8:a:11::
    2001:db8:a:3::/64  *[BGP/170] 02:07:13, MED 0, localpref 100, from 2001:db8::13
                          AS path: 100 I, validation-state: unverified
                           to fe80::65c:6cff:fea5:99a4 via xe-0/1/5.0, SRV6-Tunnel, Dest: 2001:db8:a:11::
                        >  to fe80::65c:6cff:fea5:99a5 via xe-0/1/6.0, SRV6-Tunnel, Dest: 2001:db8:a:11::
    2001:db8:a:4::/64  *[BGP/170] 02:04:38, MED 0, localpref 100, from 2001:db8::13
                          AS path: 100 ?, validation-state: unverified
                           to fe80::65c:6cff:fea5:99a4 via xe-0/1/5.0, SRV6-Tunnel, Dest: 2001:db8:a:11::
                        >  to fe80::65c:6cff:fea5:99a5 via xe-0/1/6.0, SRV6-Tunnel, Dest: 2001:db8:a:11::
    2001:db8:a:11::/64 *[SRV6-ISIS/14] 5d 01:06:30, metric 10
                           to fe80::65c:6cff:fea5:99a4 via xe-0/1/5.0, SRV6-Tunnel, Dest: 2001:db8:a:11::
                        >  to fe80::65c:6cff:fea5:99a5 via xe-0/1/6.0, SRV6-Tunnel, Dest: 2001:db8:a:11::
    2001:db8:a:11::ffff/128
                       *[SRV6-ISIS/14] 5d 01:06:30, metric 10
                           to fe80::65c:6cff:fea5:99a4 via xe-0/1/5.0, SRV6-Tunnel, Dest: 2001:db8:a:11::ffff
                        >  to fe80::65c:6cff:fea5:99a5 via xe-0/1/6.0, SRV6-Tunnel, Dest: 2001:db8:a:11::ffff
    2001:db8:a:13::/64 *[SRV6-ISIS/14] 5d 01:06:25, metric 10
                           to fe80::65c:6cff:fea6:241a via xe-0/1/3.0, SRV6-Tunnel, Dest: 2001:db8:a:13::
                        >  to fe80::65c:6cff:fea6:241b via xe-0/1/4.0, SRV6-Tunnel, Dest: 2001:db8:a:13::
    2001:db8:a:13::ffff/128
                       *[SRV6-ISIS/14] 5d 01:06:25, metric 10
                           to fe80::65c:6cff:fea6:241a via xe-0/1/3.0, SRV6-Tunnel, Dest: 2001:db8:a:13::ffff
                        >  to fe80::65c:6cff:fea6:241b via xe-0/1/4.0, SRV6-Tunnel, Dest: 2001:db8:a:13::ffff
    
    [edit]
    admin@MX12#

    MX11 has nothing of that. I tried doing some rib-group configuration to add the interface routes to the inet6.3, but even with the interface routes there, the tunnels are unreachable.

    Is there any way for an ASBR in SRv6 Inter-AS to also become a PE? Other than, of course, using logical-instances?

    Thanks,



    ------------------------------
    Thanks a lot,
    Murilo
    ------------------------------