mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-06 06:14:35 +00:00
tests: Add tests for no sid vpn per-vrf export
This commit extends the `bgp_srv6l3vpn_to_bgp_vrf3` topotest by adding two tests: * prevent bgpd from exporting routes from a VRF to the VPN RIB (`no sid vpn per-vrf export`); * enable bgpd to export routes from a VRF to the VPN RIB (`sid vpn per-vrf export auto`). Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
This commit is contained in:
parent
e606d8ec84
commit
b3c5e11c8d
@ -0,0 +1,115 @@
|
||||
{
|
||||
"vrfId": 0,
|
||||
"vrfName": "default",
|
||||
"tableVersion": 4,
|
||||
"routerId": "1.1.1.1",
|
||||
"defaultLocPrf": 100,
|
||||
"localAS": 1,
|
||||
"routes": {
|
||||
"routeDistinguishers": {
|
||||
"1:20": {
|
||||
"192.168.5.0/24": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "192.168.5.0",
|
||||
"prefixLen": 24,
|
||||
"network": "192.168.5.0/24",
|
||||
"metric": 0,
|
||||
"weight": 32768,
|
||||
"peerId": "(unspec)",
|
||||
"path": "",
|
||||
"origin": "incomplete",
|
||||
"nhVrfName": "vrf20",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::1",
|
||||
"hostname": "r1",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"2:10": {
|
||||
"192.168.2.0/24": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "192.168.2.0",
|
||||
"prefixLen": 24,
|
||||
"network": "192.168.2.0/24",
|
||||
"metric": 0,
|
||||
"weight": 0,
|
||||
"peerId": "2001::2",
|
||||
"path": "2",
|
||||
"origin": "incomplete",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::2",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"2:20": {
|
||||
"192.168.4.0/24": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "192.168.4.0",
|
||||
"prefixLen": 24,
|
||||
"network": "192.168.4.0/24",
|
||||
"metric": 0,
|
||||
"weight": 0,
|
||||
"peerId": "2001::2",
|
||||
"path": "2",
|
||||
"origin": "incomplete",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::2",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"192.168.6.0/24": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "192.168.6.0",
|
||||
"prefixLen": 24,
|
||||
"network": "192.168.6.0/24",
|
||||
"metric": 0,
|
||||
"weight": 0,
|
||||
"peerId": "2001::2",
|
||||
"path": "2",
|
||||
"origin": "incomplete",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::2",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,167 @@
|
||||
{
|
||||
"vrfId": 0,
|
||||
"vrfName": "default",
|
||||
"tableVersion": 6,
|
||||
"routerId": "1.1.1.1",
|
||||
"defaultLocPrf": 100,
|
||||
"localAS": 1,
|
||||
"routes": {
|
||||
"routeDistinguishers": {
|
||||
"1:10": {
|
||||
"192.168.1.0/24": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "192.168.1.0",
|
||||
"prefixLen": 24,
|
||||
"network": "192.168.1.0/24",
|
||||
"metric": 0,
|
||||
"weight": 32768,
|
||||
"peerId": "(unspec)",
|
||||
"path": "",
|
||||
"origin": "incomplete",
|
||||
"nhVrfName": "vrf10",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::1",
|
||||
"hostname": "r1",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"192.168.3.0/24": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "192.168.3.0",
|
||||
"prefixLen": 24,
|
||||
"network": "192.168.3.0/24",
|
||||
"metric": 0,
|
||||
"weight": 32768,
|
||||
"peerId": "(unspec)",
|
||||
"path": "",
|
||||
"origin": "incomplete",
|
||||
"nhVrfName": "vrf10",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::1",
|
||||
"hostname": "r1",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"1:20": {
|
||||
"192.168.5.0/24": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "192.168.5.0",
|
||||
"prefixLen": 24,
|
||||
"network": "192.168.5.0/24",
|
||||
"metric": 0,
|
||||
"weight": 32768,
|
||||
"peerId": "(unspec)",
|
||||
"path": "",
|
||||
"origin": "incomplete",
|
||||
"nhVrfName": "vrf20",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::1",
|
||||
"hostname": "r1",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"2:10": {
|
||||
"192.168.2.0/24": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "192.168.2.0",
|
||||
"prefixLen": 24,
|
||||
"network": "192.168.2.0/24",
|
||||
"metric": 0,
|
||||
"weight": 0,
|
||||
"peerId": "2001::2",
|
||||
"path": "2",
|
||||
"origin": "incomplete",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::2",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"2:20": {
|
||||
"192.168.4.0/24": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "192.168.4.0",
|
||||
"prefixLen": 24,
|
||||
"network": "192.168.4.0/24",
|
||||
"metric": 0,
|
||||
"weight": 0,
|
||||
"peerId": "2001::2",
|
||||
"path": "2",
|
||||
"origin": "incomplete",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::2",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"192.168.6.0/24": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "192.168.6.0",
|
||||
"prefixLen": 24,
|
||||
"network": "192.168.6.0/24",
|
||||
"metric": 0,
|
||||
"weight": 0,
|
||||
"peerId": "2001::2",
|
||||
"path": "2",
|
||||
"origin": "incomplete",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::2",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,116 @@
|
||||
{
|
||||
"vrfId": 0,
|
||||
"vrfName": "default",
|
||||
"tableVersion": 4,
|
||||
"routerId": "1.1.1.1",
|
||||
"defaultLocPrf": 100,
|
||||
"localAS": 1,
|
||||
"routes": {
|
||||
"routeDistinguishers": {
|
||||
"1:20": {
|
||||
"2001:5::/64": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "2001:5::",
|
||||
"prefixLen": 64,
|
||||
"network": "2001:5::/64",
|
||||
"metric": 0,
|
||||
"weight": 32768,
|
||||
"peerId": "(unspec)",
|
||||
"path": "",
|
||||
"origin": "incomplete",
|
||||
"announceNexthopSelf": true,
|
||||
"nhVrfName": "vrf20",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "::",
|
||||
"hostname": "r1",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"2:10": {
|
||||
"2001:2::/64": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "2001:2::",
|
||||
"prefixLen": 64,
|
||||
"network": "2001:2::/64",
|
||||
"metric": 0,
|
||||
"weight": 0,
|
||||
"peerId": "2001::2",
|
||||
"path": "2",
|
||||
"origin": "incomplete",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::2",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"2:20": {
|
||||
"2001:4::/64": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "2001:4::",
|
||||
"prefixLen": 64,
|
||||
"network": "2001:4::/64",
|
||||
"metric": 0,
|
||||
"weight": 0,
|
||||
"peerId": "2001::2",
|
||||
"path": "2",
|
||||
"origin": "incomplete",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::2",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"2001:6::/64": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "2001:6::",
|
||||
"prefixLen": 64,
|
||||
"network": "2001:6::/64",
|
||||
"metric": 0,
|
||||
"weight": 0,
|
||||
"peerId": "2001::2",
|
||||
"path": "2",
|
||||
"origin": "incomplete",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::2",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,170 @@
|
||||
{
|
||||
"vrfId": 0,
|
||||
"vrfName": "default",
|
||||
"tableVersion": 6,
|
||||
"routerId": "1.1.1.1",
|
||||
"defaultLocPrf": 100,
|
||||
"localAS": 1,
|
||||
"routes": {
|
||||
"routeDistinguishers": {
|
||||
"1:10": {
|
||||
"2001:1::/64": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "2001:1::",
|
||||
"prefixLen": 64,
|
||||
"network": "2001:1::/64",
|
||||
"metric": 0,
|
||||
"weight": 32768,
|
||||
"peerId": "(unspec)",
|
||||
"path": "",
|
||||
"origin": "incomplete",
|
||||
"announceNexthopSelf": true,
|
||||
"nhVrfName": "vrf10",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "::",
|
||||
"hostname": "r1",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"2001:3::/64": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "2001:3::",
|
||||
"prefixLen": 64,
|
||||
"network": "2001:3::/64",
|
||||
"metric": 0,
|
||||
"weight": 32768,
|
||||
"peerId": "(unspec)",
|
||||
"path": "",
|
||||
"origin": "incomplete",
|
||||
"announceNexthopSelf": true,
|
||||
"nhVrfName": "vrf10",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "::",
|
||||
"hostname": "r1",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"1:20": {
|
||||
"2001:5::/64": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "2001:5::",
|
||||
"prefixLen": 64,
|
||||
"network": "2001:5::/64",
|
||||
"metric": 0,
|
||||
"weight": 32768,
|
||||
"peerId": "(unspec)",
|
||||
"path": "",
|
||||
"origin": "incomplete",
|
||||
"announceNexthopSelf": true,
|
||||
"nhVrfName": "vrf20",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "::",
|
||||
"hostname": "r1",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"2:10": {
|
||||
"2001:2::/64": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "2001:2::",
|
||||
"prefixLen": 64,
|
||||
"network": "2001:2::/64",
|
||||
"metric": 0,
|
||||
"weight": 0,
|
||||
"peerId": "2001::2",
|
||||
"path": "2",
|
||||
"origin": "incomplete",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::2",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"2:20": {
|
||||
"2001:4::/64": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "2001:4::",
|
||||
"prefixLen": 64,
|
||||
"network": "2001:4::/64",
|
||||
"metric": 0,
|
||||
"weight": 0,
|
||||
"peerId": "2001::2",
|
||||
"path": "2",
|
||||
"origin": "incomplete",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::2",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"2001:6::/64": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "2001:6::",
|
||||
"prefixLen": 64,
|
||||
"network": "2001:6::/64",
|
||||
"metric": 0,
|
||||
"weight": 0,
|
||||
"peerId": "2001::2",
|
||||
"path": "2",
|
||||
"origin": "incomplete",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::2",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,117 @@
|
||||
{
|
||||
"vrfId": 0,
|
||||
"vrfName": "default",
|
||||
"tableVersion": 4,
|
||||
"routerId": "2.2.2.2",
|
||||
"defaultLocPrf": 100,
|
||||
"localAS": 2,
|
||||
"routes": {
|
||||
"routeDistinguishers": {
|
||||
"1:20": {
|
||||
"192.168.5.0/24": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "192.168.5.0",
|
||||
"prefixLen": 24,
|
||||
"network": "192.168.5.0/24",
|
||||
"metric": 0,
|
||||
"weight": 0,
|
||||
"peerId": "2001::1",
|
||||
"path": "1",
|
||||
"origin": "incomplete",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::1",
|
||||
"hostname": "r1",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"2:10": {
|
||||
"192.168.2.0/24": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "192.168.2.0",
|
||||
"prefixLen": 24,
|
||||
"network": "192.168.2.0/24",
|
||||
"metric": 0,
|
||||
"weight": 32768,
|
||||
"peerId": "(unspec)",
|
||||
"path": "",
|
||||
"origin": "incomplete",
|
||||
"nhVrfName": "vrf10",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::2",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"2:20": {
|
||||
"192.168.4.0/24": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "192.168.4.0",
|
||||
"prefixLen": 24,
|
||||
"network": "192.168.4.0/24",
|
||||
"metric": 0,
|
||||
"weight": 32768,
|
||||
"peerId": "(unspec)",
|
||||
"path": "",
|
||||
"origin": "incomplete",
|
||||
"nhVrfName": "vrf20",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::2",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"192.168.6.0/24": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "192.168.6.0",
|
||||
"prefixLen": 24,
|
||||
"network": "192.168.6.0/24",
|
||||
"metric": 0,
|
||||
"weight": 32768,
|
||||
"peerId": "(unspec)",
|
||||
"path": "",
|
||||
"origin": "incomplete",
|
||||
"nhVrfName": "vrf20",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::2",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,167 @@
|
||||
{
|
||||
"vrfId": 0,
|
||||
"vrfName": "default",
|
||||
"tableVersion": 6,
|
||||
"routerId": "2.2.2.2",
|
||||
"defaultLocPrf": 100,
|
||||
"localAS": 2,
|
||||
"routes": {
|
||||
"routeDistinguishers": {
|
||||
"1:10": {
|
||||
"192.168.1.0/24": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "192.168.1.0",
|
||||
"prefixLen": 24,
|
||||
"network": "192.168.1.0/24",
|
||||
"metric": 0,
|
||||
"weight": 0,
|
||||
"peerId": "2001::1",
|
||||
"path": "1",
|
||||
"origin": "incomplete",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::1",
|
||||
"hostname": "r1",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"192.168.3.0/24": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "192.168.3.0",
|
||||
"prefixLen": 24,
|
||||
"network": "192.168.3.0/24",
|
||||
"metric": 0,
|
||||
"weight": 0,
|
||||
"peerId": "2001::1",
|
||||
"path": "1",
|
||||
"origin": "incomplete",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::1",
|
||||
"hostname": "r1",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"1:20": {
|
||||
"192.168.5.0/24": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "192.168.5.0",
|
||||
"prefixLen": 24,
|
||||
"network": "192.168.5.0/24",
|
||||
"metric": 0,
|
||||
"weight": 0,
|
||||
"peerId": "2001::1",
|
||||
"path": "1",
|
||||
"origin": "incomplete",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::1",
|
||||
"hostname": "r1",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"2:10": {
|
||||
"192.168.2.0/24": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "192.168.2.0",
|
||||
"prefixLen": 24,
|
||||
"network": "192.168.2.0/24",
|
||||
"metric": 0,
|
||||
"weight": 32768,
|
||||
"peerId": "(unspec)",
|
||||
"path": "",
|
||||
"origin": "incomplete",
|
||||
"nhVrfName": "vrf10",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::2",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"2:20": {
|
||||
"192.168.4.0/24": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "192.168.4.0",
|
||||
"prefixLen": 24,
|
||||
"network": "192.168.4.0/24",
|
||||
"metric": 0,
|
||||
"weight": 32768,
|
||||
"peerId": "(unspec)",
|
||||
"path": "",
|
||||
"origin": "incomplete",
|
||||
"nhVrfName": "vrf20",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::2",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"192.168.6.0/24": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "192.168.6.0",
|
||||
"prefixLen": 24,
|
||||
"network": "192.168.6.0/24",
|
||||
"metric": 0,
|
||||
"weight": 32768,
|
||||
"peerId": "(unspec)",
|
||||
"path": "",
|
||||
"origin": "incomplete",
|
||||
"nhVrfName": "vrf20",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::2",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,120 @@
|
||||
{
|
||||
"vrfId": 0,
|
||||
"vrfName": "default",
|
||||
"tableVersion": 4,
|
||||
"routerId": "2.2.2.2",
|
||||
"defaultLocPrf": 100,
|
||||
"localAS": 2,
|
||||
"routes": {
|
||||
"routeDistinguishers": {
|
||||
"1:20": {
|
||||
"2001:5::/64": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "2001:5::",
|
||||
"prefixLen": 64,
|
||||
"network": "2001:5::/64",
|
||||
"metric": 0,
|
||||
"weight": 0,
|
||||
"peerId": "2001::1",
|
||||
"path": "1",
|
||||
"origin": "incomplete",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::1",
|
||||
"hostname": "r1",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"2:10": {
|
||||
"2001:2::/64": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "2001:2::",
|
||||
"prefixLen": 64,
|
||||
"network": "2001:2::/64",
|
||||
"metric": 0,
|
||||
"weight": 32768,
|
||||
"peerId": "(unspec)",
|
||||
"path": "",
|
||||
"origin": "incomplete",
|
||||
"announceNexthopSelf": true,
|
||||
"nhVrfName": "vrf10",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "::",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"2:20": {
|
||||
"2001:4::/64": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "2001:4::",
|
||||
"prefixLen": 64,
|
||||
"network": "2001:4::/64",
|
||||
"metric": 0,
|
||||
"weight": 32768,
|
||||
"peerId": "(unspec)",
|
||||
"path": "",
|
||||
"origin": "incomplete",
|
||||
"announceNexthopSelf": true,
|
||||
"nhVrfName": "vrf20",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "::",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"2001:6::/64": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "2001:6::",
|
||||
"prefixLen": 64,
|
||||
"network": "2001:6::/64",
|
||||
"metric": 0,
|
||||
"weight": 32768,
|
||||
"peerId": "(unspec)",
|
||||
"path": "",
|
||||
"origin": "incomplete",
|
||||
"announceNexthopSelf": true,
|
||||
"nhVrfName": "vrf20",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "::",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,170 @@
|
||||
{
|
||||
"vrfId": 0,
|
||||
"vrfName": "default",
|
||||
"tableVersion": 6,
|
||||
"routerId": "2.2.2.2",
|
||||
"defaultLocPrf": 100,
|
||||
"localAS": 2,
|
||||
"routes": {
|
||||
"routeDistinguishers": {
|
||||
"1:10": {
|
||||
"2001:1::/64": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "2001:1::",
|
||||
"prefixLen": 64,
|
||||
"network": "2001:1::/64",
|
||||
"metric": 0,
|
||||
"weight": 0,
|
||||
"peerId": "2001::1",
|
||||
"path": "1",
|
||||
"origin": "incomplete",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::1",
|
||||
"hostname": "r1",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"2001:3::/64": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "2001:3::",
|
||||
"prefixLen": 64,
|
||||
"network": "2001:3::/64",
|
||||
"metric": 0,
|
||||
"weight": 0,
|
||||
"peerId": "2001::1",
|
||||
"path": "1",
|
||||
"origin": "incomplete",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::1",
|
||||
"hostname": "r1",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"1:20": {
|
||||
"2001:5::/64": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "2001:5::",
|
||||
"prefixLen": 64,
|
||||
"network": "2001:5::/64",
|
||||
"metric": 0,
|
||||
"weight": 0,
|
||||
"peerId": "2001::1",
|
||||
"path": "1",
|
||||
"origin": "incomplete",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "2001::1",
|
||||
"hostname": "r1",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"2:10": {
|
||||
"2001:2::/64": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "2001:2::",
|
||||
"prefixLen": 64,
|
||||
"network": "2001:2::/64",
|
||||
"metric": 0,
|
||||
"weight": 32768,
|
||||
"peerId": "(unspec)",
|
||||
"path": "",
|
||||
"origin": "incomplete",
|
||||
"announceNexthopSelf": true,
|
||||
"nhVrfName": "vrf10",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "::",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"2:20": {
|
||||
"2001:4::/64": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "2001:4::",
|
||||
"prefixLen": 64,
|
||||
"network": "2001:4::/64",
|
||||
"metric": 0,
|
||||
"weight": 32768,
|
||||
"peerId": "(unspec)",
|
||||
"path": "",
|
||||
"origin": "incomplete",
|
||||
"announceNexthopSelf": true,
|
||||
"nhVrfName": "vrf20",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "::",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"2001:6::/64": [
|
||||
{
|
||||
"valid": true,
|
||||
"bestpath": true,
|
||||
"selectionReason": "First path received",
|
||||
"pathFrom": "external",
|
||||
"prefix": "2001:6::",
|
||||
"prefixLen": 64,
|
||||
"network": "2001:6::/64",
|
||||
"metric": 0,
|
||||
"weight": 32768,
|
||||
"peerId": "(unspec)",
|
||||
"path": "",
|
||||
"origin": "incomplete",
|
||||
"announceNexthopSelf": true,
|
||||
"nhVrfName": "vrf20",
|
||||
"nexthops": [
|
||||
{
|
||||
"ip": "::",
|
||||
"hostname": "r2",
|
||||
"afi": "ipv6",
|
||||
"used": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -203,6 +203,44 @@ def test_ping():
|
||||
check_ping6("ce4", "2001:6::2", True)
|
||||
|
||||
|
||||
def test_bgp_sid_vpn_export_disable():
|
||||
check_ping4("ce1", "192.168.2.2", True)
|
||||
check_ping6("ce1", "2001:2::2", True)
|
||||
get_topogen().gears["r1"].vtysh_cmd(
|
||||
"""
|
||||
configure terminal
|
||||
router bgp 1 vrf vrf10
|
||||
segment-routing srv6
|
||||
no sid vpn per-vrf export
|
||||
"""
|
||||
)
|
||||
check_rib("r1", "show bgp ipv4 vpn json", "r1/vpnv4_rib_sid_vpn_export_disabled.json")
|
||||
check_rib("r2", "show bgp ipv4 vpn json", "r2/vpnv4_rib_sid_vpn_export_disabled.json")
|
||||
check_rib("r1", "show bgp ipv6 vpn json", "r1/vpnv6_rib_sid_vpn_export_disabled.json")
|
||||
check_rib("r2", "show bgp ipv6 vpn json", "r2/vpnv6_rib_sid_vpn_export_disabled.json")
|
||||
check_ping4("ce1", "192.168.2.2", False)
|
||||
check_ping6("ce1", "2001:2::2", False)
|
||||
|
||||
|
||||
def test_bgp_sid_vpn_export_reenable():
|
||||
check_ping4("ce1", "192.168.2.2", False)
|
||||
check_ping6("ce1", "2001:2::2", False)
|
||||
get_topogen().gears["r1"].vtysh_cmd(
|
||||
"""
|
||||
configure terminal
|
||||
router bgp 1 vrf vrf10
|
||||
segment-routing srv6
|
||||
sid vpn per-vrf export auto
|
||||
"""
|
||||
)
|
||||
check_rib("r1", "show bgp ipv4 vpn json", "r1/vpnv4_rib_sid_vpn_export_reenabled.json")
|
||||
check_rib("r2", "show bgp ipv4 vpn json", "r2/vpnv4_rib_sid_vpn_export_reenabled.json")
|
||||
check_rib("r1", "show bgp ipv6 vpn json", "r1/vpnv6_rib_sid_vpn_export_reenabled.json")
|
||||
check_rib("r2", "show bgp ipv6 vpn json", "r2/vpnv6_rib_sid_vpn_export_reenabled.json")
|
||||
check_ping4("ce1", "192.168.2.2", True)
|
||||
check_ping6("ce1", "2001:2::2", True)
|
||||
|
||||
|
||||
def test_locator_delete():
|
||||
check_ping4("ce1", "192.168.2.2", True)
|
||||
check_ping6("ce1", "2001:2::2", True)
|
||||
|
Loading…
Reference in New Issue
Block a user