diff options
Diffstat (limited to 'zebra/rib.h')
| -rw-r--r-- | zebra/rib.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/zebra/rib.h b/zebra/rib.h index f3aead32d8..a478fffddb 100644 --- a/zebra/rib.h +++ b/zebra/rib.h @@ -81,16 +81,27 @@ struct route_entry { uint32_t flags; /* RIB internal status */ - uint8_t status; + uint32_t status; #define ROUTE_ENTRY_REMOVED 0x1 /* to simplify NHT logic when NHs change, instead of doing a NH by NH cmp */ #define ROUTE_ENTRY_NEXTHOPS_CHANGED 0x2 +/* The Route Entry has changed */ #define ROUTE_ENTRY_CHANGED 0x4 +/* The Label has changed on the Route entry */ #define ROUTE_ENTRY_LABELS_CHANGED 0x8 +/* Route is queued for Installation into the Data Plane */ +#define ROUTE_ENTRY_QUEUED 0x10 +/* Route is installed into the Data Plane */ +#define ROUTE_ENTRY_INSTALLED 0x20 +/* Route has Failed installation into the Data Plane in some manner */ +#define ROUTE_ENTRY_FAILED 0x40 /* Nexthop information. */ uint8_t nexthop_num; uint8_t nexthop_active_num; + + /* Sequence value incremented for each dataplane operation */ + uint32_t dplane_sequence; }; /* meta-queue structure: @@ -279,8 +290,6 @@ extern enum multicast_mode multicast_mode_ipv4_get(void); extern void rib_lookup_and_dump(struct prefix_ipv4 *p, vrf_id_t vrf_id); extern void rib_lookup_and_pushup(struct prefix_ipv4 *p, vrf_id_t vrf_id); -extern int rib_lookup_ipv4_route(struct prefix_ipv4 *p, union sockunion *qgate, - vrf_id_t vrf_id); #define ZEBRA_RIB_LOOKUP_ERROR -1 #define ZEBRA_RIB_FOUND_EXACT 0 #define ZEBRA_RIB_FOUND_NOGATE 1 |
