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
------------------------------