]> git.puffer.fish Git - matthieu/frr.git/commit
topotests: mpls vpn routes redistribution, add asbr test
authorPhilippe Guibert <philippe.guibert@6wind.com>
Fri, 21 Apr 2023 10:25:30 +0000 (12:25 +0200)
committerPhilippe Guibert <philippe.guibert@6wind.com>
Fri, 16 Jun 2023 08:55:11 +0000 (10:55 +0200)
commit7b3c6f893429e65e9842fb383b935c96e0d5fb41
tree98a2a7579e5f8286f22bb2ea436ad59dd6f81458
parentf766bb0c0f450a1e1c8cba782b3f2998d014aeaa
topotests: mpls vpn routes redistribution, add asbr test

This setup demonstrates the redistribution and the proper
switching operations in an asbr device.
The setup interconnects an internal AS with an external
connected AS.
- the iBGP AS uses BGP-LU as MPLS transport
- the eBGP peering is directly connected and does use the
'mpls bgp forwarding' configuration to accept exterior
updates.

The setup performs the following tests:
- it checks for end to end connectivity from one interior
host h1 to two external hosts h2, and h3.
- it checks that the proper label values are advertised
by the ASBR to the iBGP peer, and the eBGP peer.
- it checks that the 'show mpls table' has additional
MPLS entries that permit transit mpls traffic to transit
across the ASBR. That behaviour is possible with the
'mpls bgp allocate-label-on-nexthop-change' command.
- it checks that withdraw of routes will remve the MPLS
entries.
- it checks that by unconfiguring the 'next-hop-self' option,
the external routes advertised to the internal maintain the
next-hop.
- it checks that a second prefix advertised by r3 with the
same RD, but different label value is using a new label on r2,
and that this new label value is used.
- it checks that when filtering out prefixes from r1, on r2,
then the MPLS label is deallocated, and the MPLS entry is not
present.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
17 files changed:
tests/topotests/bgp_vpnv4_asbr/__init__.py [new file with mode: 0644]
tests/topotests/bgp_vpnv4_asbr/h1/zebra.conf [new file with mode: 0644]
tests/topotests/bgp_vpnv4_asbr/h2/zebra.conf [new file with mode: 0644]
tests/topotests/bgp_vpnv4_asbr/h3/zebra.conf [new file with mode: 0644]
tests/topotests/bgp_vpnv4_asbr/r1/bgp_ipv4_routes.json [new file with mode: 0644]
tests/topotests/bgp_vpnv4_asbr/r1/bgpd.conf [new file with mode: 0644]
tests/topotests/bgp_vpnv4_asbr/r1/zebra.conf [new file with mode: 0644]
tests/topotests/bgp_vpnv4_asbr/r2/bgpd.conf [new file with mode: 0644]
tests/topotests/bgp_vpnv4_asbr/r2/ipv4_vpn_summary.json [new file with mode: 0644]
tests/topotests/bgp_vpnv4_asbr/r2/zebra.conf [new file with mode: 0644]
tests/topotests/bgp_vpnv4_asbr/r3/bgpd.conf [new file with mode: 0644]
tests/topotests/bgp_vpnv4_asbr/r3/zebra.conf [new file with mode: 0644]
tests/topotests/bgp_vpnv4_asbr/rr100/bgpd.conf [new file with mode: 0644]
tests/topotests/bgp_vpnv4_asbr/rr100/zebra.conf [new file with mode: 0644]
tests/topotests/bgp_vpnv4_asbr/rs200/bgpd.conf [new file with mode: 0644]
tests/topotests/bgp_vpnv4_asbr/rs200/zebra.conf [new file with mode: 0644]
tests/topotests/bgp_vpnv4_asbr/test_bgp_vpnv4_asbr.py [new file with mode: 0644]