/* 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:
extern int is_zebra_main_routing_table(uint32_t table_id);
extern int zebra_check_addr(const struct prefix *p);
-extern void rib_addnode(struct route_node *rn, struct route_entry *re,
- int process);
extern void rib_delnode(struct route_node *rn, struct route_entry *re);
extern void rib_install_kernel(struct route_node *rn, struct route_entry *re,
struct route_entry *old);
extern void rib_delete(afi_t afi, safi_t safi, vrf_id_t vrf_id, int type,
unsigned short instance, int flags, struct prefix *p,
struct prefix_ipv6 *src_p, const struct nexthop *nh,
- uint32_t table_id, uint32_t metric, bool fromkernel);
+ uint32_t table_id, uint32_t metric, uint8_t distance,
+ bool fromkernel);
extern struct route_entry *rib_match(afi_t afi, safi_t safi, vrf_id_t vrf_id,
union g_addr *addr,
vrf_id_t vrf_id);
extern void rib_update(vrf_id_t vrf_id, rib_update_event_t event);
+extern void rib_update_table(struct route_table *table,
+ rib_update_event_t event);
extern void rib_sweep_route(void);
extern void rib_sweep_table(struct route_table *table);
extern void rib_close_table(struct route_table *table);
*/
static inline rib_table_info_t *rib_table_info(struct route_table *table)
{
- return (rib_table_info_t *)table->info;
+ return (rib_table_info_t *)route_table_get_info(table);
}
/*
extern void zebra_vty_init(void);
-extern int static_config(struct vty *vty, struct zebra_vrf *zvrf, afi_t afi,
- safi_t safi, const char *cmd);
-extern void static_config_install_delayed_routes(struct zebra_vrf *zvrf);
extern pid_t pid;