diff options
author | Louis Scalbert <louis.scalbert@6wind.com> | 2022-04-29 14:26:04 +0200 |
---|---|---|
committer | Louis Scalbert <louis.scalbert@6wind.com> | 2024-01-29 10:46:43 +0100 |
commit | 879bfc01c827ef9aa1be97f8b5ad22f8cf6984ed (patch) | |
tree | cbc8d28d1bcde16bae1c7abaaf9937588dc79bed /bgpd/bgp_attr.c | |
parent | bgpd: fix VRF leaking with 'network import-check' (2/4) (diff) | |
download | frr-879bfc01c827ef9aa1be97f8b5ad22f8cf6984ed.tar.xz frr-879bfc01c827ef9aa1be97f8b5ad22f8cf6984ed.zip |
bgpd: fix VRF leaking with 'network import-check' (3/4)
If 'bgp network import-check' is defined on the source BGP session,
prefixes that are defined with the network command cannot be leaked to
the other VRFs BGP table even if they are present in the origin VRF RIB
if the 'rt import' statement is defined after the 'network <prefix>'
ones.
When a prefix nexthop is updated, update the prefix route leaking. The
current state of nexthop validation is now stored in the attributes of
the bgp path info. Attributes are compared with the previous ones at
route leaking update so that a nexthop validation change now triggers
the update of destination VRF BGP table.
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Diffstat (limited to 'bgpd/bgp_attr.c')
-rw-r--r-- | bgpd/bgp_attr.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c index 75aa2ac7c..edfbc6c83 100644 --- a/bgpd/bgp_attr.c +++ b/bgpd/bgp_attr.c @@ -864,6 +864,7 @@ bool attrhash_cmp(const void *p1, const void *p2) attr1->df_alg == attr2->df_alg && attr1->nh_ifindex == attr2->nh_ifindex && attr1->nh_lla_ifindex == attr2->nh_lla_ifindex && + attr1->nh_flags == attr2->nh_flags && attr1->distance == attr2->distance && srv6_l3vpn_same(attr1->srv6_l3vpn, attr2->srv6_l3vpn) && srv6_vpn_same(attr1->srv6_vpn, attr2->srv6_vpn) && |