Skip to content

Commit

Permalink
topotests: add bgp_nexthop_mp_ipv4_6 test
Browse files Browse the repository at this point in the history
Add bgp_nexthop_mp_ipv4_6 topotest to test to nexhop value with
MP-BGP IPv4 and IPv6 on IPv4 peering. The test has route-reflector,
route-server, iBGP and eBGP peers.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
  • Loading branch information
louis-6wind committed Apr 23, 2024
1 parent 424fe0b commit 62913cb
Show file tree
Hide file tree
Showing 50 changed files with 1,716 additions and 0 deletions.
Empty file.
6 changes: 6 additions & 0 deletions tests/topotests/bgp_nexthop_mp_ipv4_6/h1/zebra.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
ipv6 route ::/0 fd00:100::2
ip route 0.0.0.0/0 192.168.1.2
interface eth-r1
ip address 192.168.1.1/24
ipv6 address fd00:100::1/64
!
6 changes: 6 additions & 0 deletions tests/topotests/bgp_nexthop_mp_ipv4_6/h2/zebra.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
ipv6 route ::/0 fd00:700::2
ip route 0.0.0.0/0 192.168.7.2
interface eth-r7
ip address 192.168.7.1/24
ipv6 address fd00:700::1/64
!
6 changes: 6 additions & 0 deletions tests/topotests/bgp_nexthop_mp_ipv4_6/h3/zebra.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
ipv6 route ::/0 fd00:800::2
ip route 0.0.0.0/0 192.168.8.2
interface eth-r8
ip address 192.168.8.1/24
ipv6 address fd00:800::1/64
!
70 changes: 70 additions & 0 deletions tests/topotests/bgp_nexthop_mp_ipv4_6/r1/bgp_ipv4.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
{
"routes": {
"192.168.1.0/24": [
{
"valid": true,
"bestpath": true,
"path": "",
"nexthops": [
{
"ip": "0.0.0.0",
"afi": "ipv4",
"used": true
}
]
}
],
"192.168.7.0/24": [
{
"valid": true,
"multipath": true,
"path": "65000 65700",
"nexthops": [
{
"ip": "172.16.1.3",
"afi": "ipv4",
"used": true
}
]
},
{
"valid": true,
"bestpath": true,
"path": "65000 65700",
"nexthops": [
{
"ip": "172.16.0.2",
"afi": "ipv4",
"used": true
}
]
}
],
"192.168.8.0/24": [
{
"valid": true,
"multipath": true,
"path": "65000 65800",
"nexthops": [
{
"ip": "172.16.1.3",
"afi": "ipv4",
"used": true
}
]
},
{
"valid": true,
"bestpath": true,
"path": "65000 65800",
"nexthops": [
{
"ip": "172.16.0.2",
"afi": "ipv4",
"used": true
}
]
}
]
}
}
90 changes: 90 additions & 0 deletions tests/topotests/bgp_nexthop_mp_ipv4_6/r1/bgp_ipv6_step1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
{
"routes": {
"fd00:100::/64": [
{
"valid": true,
"bestpath": true,
"path": "",
"nexthops": [
{
"ip": "::",
"afi": "ipv6",
"used": true
}
]
}
],
"fd00:700::/64": [
{
"valid": true,
"multipath": true,
"path": "65000 65700",
"nexthops": [
{
"ip": "fd00:0:2::3",
"afi": "ipv6",
"scope": "global"
},
{
"afi": "ipv6",
"scope": "link-local",
"used": true
}
]
},
{
"valid": true,
"bestpath": true,
"path": "65000 65700",
"nexthops": [
{
"ip": "fd00:0:1::2",
"afi": "ipv6",
"scope": "global"
},
{
"afi": "ipv6",
"scope": "link-local",
"used": true
}
]
}
],
"fd00:800::/64": [
{
"valid": true,
"multipath": true,
"path": "65000 65800",
"nexthops": [
{
"ip": "fd00:0:2::3",
"afi": "ipv6",
"scope": "global"
},
{
"afi": "ipv6",
"scope": "link-local",
"used": true
}
]
},
{
"valid": true,
"bestpath": true,
"path": "65000 65800",
"nexthops": [
{
"ip": "fd00:0:1::2",
"afi": "ipv6",
"scope": "global"
},
{
"afi": "ipv6",
"scope": "link-local",
"used": true
}
]
}
]
}
}
23 changes: 23 additions & 0 deletions tests/topotests/bgp_nexthop_mp_ipv4_6/r1/bgpd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
router bgp 65100
no bgp ebgp-requires-policy
neighbor 172.16.0.2 remote-as external
neighbor 172.16.1.3 remote-as external
! neighbor 172.16.0.2 capability extended-nexthop
!
address-family ipv4 unicast
redistribute connected route-map RMAP4
!
address-family ipv6 unicast
redistribute connected route-map RMAP6
neighbor 172.16.0.2 activate
neighbor 172.16.1.3 activate
!

ip prefix-list RANGE4 seq 10 permit 192.168.0.0/16 le 24
ipv6 prefix-list RANGE6 seq 10 permit fd00:100::0/64

route-map RMAP4 permit 10
match ip address prefix-list RANGE4
!
route-map RMAP6 permit 10
match ipv6 address prefix-list RANGE6
16 changes: 16 additions & 0 deletions tests/topotests/bgp_nexthop_mp_ipv4_6/r1/zebra.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
!
interface eth-h1
ip address 192.168.1.2/24
ipv6 address fd00:100::2/64
!
interface eth-r2
ip address 172.16.0.1/24
ipv6 address fd00:0:1::1/64
!
interface eth-r3
ip address 172.16.1.1/24
ipv6 address fd00:0:2::1/64
!
interface lo
ip address 192.0.2.1/32
ipv6 address 2001:db8::1/128
46 changes: 46 additions & 0 deletions tests/topotests/bgp_nexthop_mp_ipv4_6/r2/bgp_ipv4.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{
"routes": {
"192.168.1.0/24": [
{
"valid": true,
"bestpath": true,
"path": "65100",
"nexthops": [
{
"ip": "172.16.0.1",
"afi": "ipv4",
"used": true
}
]
}
],
"192.168.7.0/24": [
{
"valid": true,
"bestpath": true,
"path": "65700",
"nexthops": [
{
"ip": "172.17.0.7",
"afi": "ipv4",
"used": true
}
]
}
],
"192.168.8.0/24": [
{
"valid": true,
"bestpath": true,
"path": "65800",
"nexthops": [
{
"ip": "172.17.0.8",
"afi": "ipv4",
"used": true
}
]
}
]
}
}
53 changes: 53 additions & 0 deletions tests/topotests/bgp_nexthop_mp_ipv4_6/r2/bgp_ipv6_step1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
{
"routes": {
"fd00:100::/64": [
{
"valid": true,
"bestpath": true,
"path": "65100",
"nexthops": [
{
"ip": "fd00:0:1::1",
"afi": "ipv6",
"scope": "global"
},
{
"afi": "ipv6",
"scope": "link-local",
"used": true
}
]
}
],
"fd00:700::/64": [
{
"valid": true,
"bestpath": true,
"path": "65700",
"nexthops": [
{
"ip": "fd00:0:9::7",
"scope": "global",
"afi": "ipv6",
"used": true
}
]
}
],
"fd00:800::/64": [
{
"valid": true,
"bestpath": true,
"path": "65800",
"nexthops": [
{
"ip": "fd00:0:9::8",
"scope": "global",
"afi": "ipv6",
"used": true
}
]
}
]
}
}
11 changes: 11 additions & 0 deletions tests/topotests/bgp_nexthop_mp_ipv4_6/r2/bgpd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
router bgp 65000
no bgp ebgp-requires-policy
neighbor 172.16.0.1 remote-as external
! neighbor 172.16.0.1 capability extended-nexthop
neighbor 192.0.2.101 remote-as internal
neighbor 192.0.2.101 update-source 192.0.2.2
!
address-family ipv6 unicast
neighbor 172.16.0.1 activate
neighbor 192.0.2.101 activate
!
24 changes: 24 additions & 0 deletions tests/topotests/bgp_nexthop_mp_ipv4_6/r2/isisd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
!
interface lo
ip router isis 1
ipv6 router isis 1
isis passive
!
interface eth-rr1
ip router isis 1
ipv6 router isis 1
isis hello-interval 1
isis hello-multiplier 3
isis network point-to-point
!
interface eth-r1
ip router isis 1
ipv6 router isis 1
isis passive
!
router isis 1
net 49.0000.0000.0000.0002.00
is-type level-1
lsp-gen-interval 1
topology ipv6-unicast
!
12 changes: 12 additions & 0 deletions tests/topotests/bgp_nexthop_mp_ipv4_6/r2/zebra.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
!
interface eth-r1
ip address 172.16.0.2/24
ipv6 address fd00:0:1::2/64
!
interface eth-rr1
ip address 10.0.0.2/24
ipv6 address fd00:0:3::2/64
!
interface lo
ip address 192.0.2.2/32
ipv6 address 2001:db8::2/128
Loading

0 comments on commit 62913cb

Please sign in to comment.