mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-06-13 03:06:23 +00:00
topotests: bgp_bmp, expose peer_distinguisher in loc-rib
The BMP implementation currently only supports global and loc-rib instance types. When loc-rib is selected, the peer_distinguisher is set to the route distinguisher of the L3VRF where the BGP instance is. This functionality has not been tested until now, because the peer distinguisher value had been explicitly omitted in the bmp messages. Expose the peer distinguisher value in all BMP messages received. This change requires to modify the expected output for loc-rib when the BGP instance is in a L3VRF. The handling of peer distinguisher value for RD instances will follow in the next commits. Link: https://www.rfc-editor.org/rfc/rfc7854.html#section-4.2 Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
This commit is contained in:
parent
8198dec807
commit
d55a5864dd
@ -164,18 +164,6 @@ def bmp_check_for_prefixes(
|
||||
for k, v in sorted(m.items())
|
||||
# filter out variable keys
|
||||
if k not in ["timestamp", "seq", "nxhp_link-local"]
|
||||
and (
|
||||
# When policy is loc-rib, the peer-distinguisher is 0:0
|
||||
# for the default VRF or the RD if any or the 0:<vrf_id>.
|
||||
# 0:<vrf_id> is used to distinguished. RFC7854 says: "If the
|
||||
# peer is a "Local Instance Peer", it is set to a unique,
|
||||
# locally defined value." The value is not tested because it
|
||||
# is variable.
|
||||
k != "peer_distinguisher"
|
||||
or policy != loc_rib
|
||||
or v == "0:0"
|
||||
or not v.startswith("0:")
|
||||
)
|
||||
}
|
||||
|
||||
# build expected JSON files
|
||||
|
@ -10,6 +10,7 @@
|
||||
"origin": "IGP",
|
||||
"peer_asn": 65501,
|
||||
"peer_bgp_id": "192.168.0.1",
|
||||
"peer_distinguisher": "444:1",
|
||||
"peer_type": "loc-rib instance",
|
||||
"policy": "loc-rib"
|
||||
},
|
||||
@ -23,6 +24,7 @@
|
||||
"origin": "IGP",
|
||||
"peer_asn": 65501,
|
||||
"peer_bgp_id": "192.168.0.1",
|
||||
"peer_distinguisher": "555:1",
|
||||
"peer_type": "loc-rib instance",
|
||||
"policy": "loc-rib",
|
||||
"safi": 1
|
||||
|
@ -7,6 +7,7 @@
|
||||
"is_filtered": false,
|
||||
"peer_asn": 65501,
|
||||
"peer_bgp_id": "192.168.0.1",
|
||||
"peer_distinguisher": "444:1",
|
||||
"peer_type": "loc-rib instance",
|
||||
"policy": "loc-rib"
|
||||
},
|
||||
@ -17,6 +18,7 @@
|
||||
"is_filtered": false,
|
||||
"peer_asn": 65501,
|
||||
"peer_bgp_id": "192.168.0.1",
|
||||
"peer_distinguisher": "555:1",
|
||||
"peer_type": "loc-rib instance",
|
||||
"policy": "loc-rib",
|
||||
"safi": 1
|
||||
|
@ -23,12 +23,14 @@ router bgp 65501 vrf vrf1
|
||||
exit
|
||||
!
|
||||
address-family ipv4 unicast
|
||||
rd vpn export 444:1
|
||||
neighbor 192.168.0.2 activate
|
||||
neighbor 192.168.0.2 soft-reconfiguration inbound
|
||||
no neighbor 192:168::2 activate
|
||||
exit-address-family
|
||||
!
|
||||
address-family ipv6 unicast
|
||||
rd vpn export 555:1
|
||||
neighbor 192:168::2 activate
|
||||
neighbor 192:168::2 soft-reconfiguration inbound
|
||||
exit-address-family
|
||||
|
Loading…
Reference in New Issue
Block a user