summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPhilippe Guibert <philippe.guibert@6wind.com>2025-03-14 21:11:32 +0100
committerPhilippe Guibert <philippe.guibert@6wind.com>2025-03-24 09:17:01 +0100
commit92ba38bde2d688bfb663e6ab6eadf529397c9f8c (patch)
tree12a5d2fda071c376095541a8d380ca81b3b6facf /tests
parent57a03cfc545fe3d450241c8db8051d5d285a91a9 (diff)
topotests: bgp_srv6l3vpn_to_bgp_vrf, add redistribute BGP update in l3vpn
Add a BGP update in CE1 for redistribution. The expectation is that this BGP update will be leaked to the L3VPN. Reversely, if the locator is unset, the L3VPN prefix will be invalidated. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce1/frr.conf2
-rw-r--r--tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce2/ipv6_rib.json27
-rw-r--r--tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r1/vpnv6_rib.json30
-rw-r--r--tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r1/vpnv6_rib_locator_deleted.json27
-rw-r--r--tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r1/vpnv6_rib_locator_recreated.json30
-rw-r--r--tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/vpnv6_rib.json28
-rw-r--r--tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/vpnv6_rib_locator_deleted.json4
-rw-r--r--tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/vpnv6_rib_locator_recreated.json28
-rw-r--r--tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/vrf10_rib.json31
9 files changed, 201 insertions, 6 deletions
diff --git a/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce1/frr.conf b/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce1/frr.conf
index c70ad42437..ca28d55409 100644
--- a/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce1/frr.conf
+++ b/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce1/frr.conf
@@ -8,8 +8,10 @@ ipv6 forwarding
!
router bgp 65500
bgp router-id 1.1.2.1
+ no bgp network import-check
neighbor 2001:1::1 remote-as 65500
address-family ipv6 unicast
+ network 2011:1::1/64
neighbor 2001:1::1 activate
exit-address-family
exit
diff --git a/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce2/ipv6_rib.json b/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce2/ipv6_rib.json
index 1f42595271..51076ee194 100644
--- a/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce2/ipv6_rib.json
+++ b/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce2/ipv6_rib.json
@@ -53,5 +53,32 @@
}
]
}
+ ],
+ "2011:1::/64": [
+ {
+ "prefix": "2011:1::/64",
+ "protocol": "bgp",
+ "vrfId": 0,
+ "vrfName": "default",
+ "selected": true,
+ "destSelected": true,
+ "distance": 200,
+ "metric": 0,
+ "installed": true,
+ "table": 254,
+ "internalStatus": 16,
+ "internalFlags": 13,
+ "internalNextHopNum": 1,
+ "internalNextHopActiveNum": 1,
+ "nexthops": [
+ {
+ "flags": 3,
+ "fib": true,
+ "afi": "ipv6",
+ "interfaceName": "eth0",
+ "active": true
+ }
+ ]
+ }
]
}
diff --git a/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r1/vpnv6_rib.json b/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r1/vpnv6_rib.json
index d67a3e1cc5..afa713e37f 100644
--- a/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r1/vpnv6_rib.json
+++ b/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r1/vpnv6_rib.json
@@ -58,6 +58,32 @@
}
]
}
+ ],
+ "2011:1::/64": [
+ {
+ "valid": true,
+ "bestpath": true,
+ "selectionReason": "First path received",
+ "pathFrom": "external",
+ "prefix": "2011:1::",
+ "prefixLen": 64,
+ "network": "2011:1::/64",
+ "metric": 0,
+ "weight": 0,
+ "peerId": "(unspec)",
+ "path": "",
+ "origin": "IGP",
+ "announceNexthopSelf": true,
+ "nhVrfName": "vrf10",
+ "nexthops": [
+ {
+ "ip": "2001:1::2",
+ "hostname": "r1",
+ "afi": "ipv6",
+ "used": true
+ }
+ ]
+ }
]
},
"1:20": {
@@ -165,5 +191,7 @@
]
}
}
- }
+ },
+ "totalRoutes": 7,
+ "totalPaths": 7
}
diff --git a/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r1/vpnv6_rib_locator_deleted.json b/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r1/vpnv6_rib_locator_deleted.json
index 5a7407480b..a3a5f0438a 100644
--- a/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r1/vpnv6_rib_locator_deleted.json
+++ b/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r1/vpnv6_rib_locator_deleted.json
@@ -52,6 +52,29 @@
}
]
}
+ ],
+ "2011:1::/64": [
+ {
+ "pathFrom": "external",
+ "prefix": "2011:1::",
+ "prefixLen": 64,
+ "network": "2011:1::/64",
+ "metric": 0,
+ "weight": 0,
+ "peerId": "(unspec)",
+ "path": "",
+ "origin": "IGP",
+ "announceNexthopSelf": true,
+ "nhVrfName": "vrf10",
+ "nexthops": [
+ {
+ "ip": "2001:1::2",
+ "hostname": "r1",
+ "afi": "ipv6",
+ "used": true
+ }
+ ]
+ }
]
},
"1:20": {
@@ -156,5 +179,7 @@
]
}
}
- }
+ },
+ "totalRoutes": 7,
+ "totalPaths": 7
}
diff --git a/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r1/vpnv6_rib_locator_recreated.json b/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r1/vpnv6_rib_locator_recreated.json
index d67a3e1cc5..afa713e37f 100644
--- a/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r1/vpnv6_rib_locator_recreated.json
+++ b/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r1/vpnv6_rib_locator_recreated.json
@@ -58,6 +58,32 @@
}
]
}
+ ],
+ "2011:1::/64": [
+ {
+ "valid": true,
+ "bestpath": true,
+ "selectionReason": "First path received",
+ "pathFrom": "external",
+ "prefix": "2011:1::",
+ "prefixLen": 64,
+ "network": "2011:1::/64",
+ "metric": 0,
+ "weight": 0,
+ "peerId": "(unspec)",
+ "path": "",
+ "origin": "IGP",
+ "announceNexthopSelf": true,
+ "nhVrfName": "vrf10",
+ "nexthops": [
+ {
+ "ip": "2001:1::2",
+ "hostname": "r1",
+ "afi": "ipv6",
+ "used": true
+ }
+ ]
+ }
]
},
"1:20": {
@@ -165,5 +191,7 @@
]
}
}
- }
+ },
+ "totalRoutes": 7,
+ "totalPaths": 7
}
diff --git a/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/vpnv6_rib.json b/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/vpnv6_rib.json
index 114fe1ca25..e7695281d9 100644
--- a/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/vpnv6_rib.json
+++ b/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/vpnv6_rib.json
@@ -54,6 +54,30 @@
}
]
}
+ ],
+ "2011:1::/64": [
+ {
+ "valid": true,
+ "bestpath": true,
+ "selectionReason": "First path received",
+ "pathFrom": "external",
+ "prefix": "2011:1::",
+ "prefixLen": 64,
+ "network": "2011:1::/64",
+ "metric": 0,
+ "weight": 0,
+ "peerId": "2001::1",
+ "path": "65500",
+ "origin": "IGP",
+ "nexthops": [
+ {
+ "ip": "2001::1",
+ "hostname": "r1",
+ "afi": "ipv6",
+ "used": true
+ }
+ ]
+ }
]
},
"1:20": {
@@ -165,5 +189,7 @@
]
}
}
- }
+ },
+ "totalRoutes": 7,
+ "totalPaths": 7
}
diff --git a/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/vpnv6_rib_locator_deleted.json b/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/vpnv6_rib_locator_deleted.json
index f0b764dcb2..caa5803bfe 100644
--- a/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/vpnv6_rib_locator_deleted.json
+++ b/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/vpnv6_rib_locator_deleted.json
@@ -89,5 +89,7 @@
]
}
}
- }
+ },
+ "totalRoutes": 3,
+ "totalPaths": 3
}
diff --git a/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/vpnv6_rib_locator_recreated.json b/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/vpnv6_rib_locator_recreated.json
index 114fe1ca25..e7695281d9 100644
--- a/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/vpnv6_rib_locator_recreated.json
+++ b/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/vpnv6_rib_locator_recreated.json
@@ -54,6 +54,30 @@
}
]
}
+ ],
+ "2011:1::/64": [
+ {
+ "valid": true,
+ "bestpath": true,
+ "selectionReason": "First path received",
+ "pathFrom": "external",
+ "prefix": "2011:1::",
+ "prefixLen": 64,
+ "network": "2011:1::/64",
+ "metric": 0,
+ "weight": 0,
+ "peerId": "2001::1",
+ "path": "65500",
+ "origin": "IGP",
+ "nexthops": [
+ {
+ "ip": "2001::1",
+ "hostname": "r1",
+ "afi": "ipv6",
+ "used": true
+ }
+ ]
+ }
]
},
"1:20": {
@@ -165,5 +189,7 @@
]
}
}
- }
+ },
+ "totalRoutes": 7,
+ "totalPaths": 7
}
diff --git a/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/vrf10_rib.json b/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/vrf10_rib.json
index be1c58d3d1..407dfb9fb4 100644
--- a/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/vrf10_rib.json
+++ b/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/vrf10_rib.json
@@ -86,5 +86,36 @@
}
]
}
+ ],
+ "2011:1::/64": [
+ {
+ "prefix": "2011:1::/64",
+ "protocol": "bgp",
+ "vrfName": "vrf10",
+ "selected": true,
+ "destSelected": true,
+ "distance": 20,
+ "metric": 0,
+ "installed": true,
+ "table": 10,
+ "internalStatus": 16,
+ "internalFlags": 8,
+ "internalNextHopNum": 1,
+ "internalNextHopActiveNum": 1,
+ "nexthops": [
+ {
+ "flags": 3,
+ "fib": true,
+ "afi": "ipv6",
+ "interfaceName": "eth0",
+ "vrf": "default",
+ "active": true,
+ "weight": 1,
+ "seg6": {
+ "segs": "2001:db8:1:1:100::"
+ }
+ }
+ ]
+ }
]
}