summaryrefslogtreecommitdiff
path: root/bgpd/bgp_attr.h
diff options
context:
space:
mode:
authorLouis Scalbert <louis.scalbert@6wind.com>2022-05-06 20:03:55 +0200
committerLouis Scalbert <louis.scalbert@6wind.com>2022-12-16 15:07:49 +0100
commit5f6c0ba6d2aa63f41a37f595a1531527cde76340 (patch)
treeea63b117b14dbf8a6775a700191fbb8ff09ce09a /bgpd/bgp_attr.h
parentc6b38684bd040bdf6e2877f60eda7d8dc009ab87 (diff)
bgpd: resend routes deleted by kernel after interface addresses deletion
When the last IPv4 address of an interface is deleted, Linux removes all routes includes BGP ones using this interface without any Netlink advertisement. bgpd keeps them in RIB as valid (e.g. installed in FIB). The previous patch invalidates the associated nexthop groups in zebra but bgpd is not notified of the event. > 2022/05/09 17:37:52.925 ZEBRA: [TQKA8-0276P] Not Notifying Owner: connected about prefix 29.0.0.0/24(40) 3 vrf: 7 Look for the bgp_path_info that are unsynchronized with the kernel and flag them for refresh in their attributes. A VPN route leaking update is calles and the refresh flag triggers a route refresh to zebra and then a kernel FIB installation. Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Diffstat (limited to 'bgpd/bgp_attr.h')
-rw-r--r--bgpd/bgp_attr.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/bgpd/bgp_attr.h b/bgpd/bgp_attr.h
index 4eb742422d..f8beb5fba9 100644
--- a/bgpd/bgp_attr.h
+++ b/bgpd/bgp_attr.h
@@ -175,6 +175,7 @@ struct attr {
#define BGP_ATTR_NH_VALID 0x01
#define BGP_ATTR_NH_IF_OPERSTATE 0x02
#define BGP_ATTR_NH_MP_PREFER_GLOBAL 0x04 /* MP Nexthop preference */
+#define BGP_ATTR_NH_REFRESH 0x08
/* Path origin attribute */
uint8_t origin;