]> git.proxmox.com Git - mirror_frr.git/blobdiff - zebra/rib.h
zebra: delay default vrf name after vrf initialization
[mirror_frr.git] / zebra / rib.h
index 7b9e6d56a78f7e92e87b6039dd6a8105cfaef4f9..97eae79f03c276cf0289d344e3e4f8ae28749383 100644 (file)
@@ -91,6 +91,9 @@ struct route_entry {
        /* 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:
@@ -289,10 +292,8 @@ extern int rib_lookup_ipv4_route(struct prefix_ipv4 *p, union sockunion *qgate,
 
 extern int is_zebra_valid_kernel_table(uint32_t table_id);
 extern int is_zebra_main_routing_table(uint32_t table_id);
-extern int zebra_check_addr(struct prefix *p);
+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);
@@ -313,7 +314,8 @@ extern int rib_add_multipath(afi_t afi, safi_t safi, struct prefix *p,
 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,
@@ -326,6 +328,8 @@ extern struct route_entry *rib_lookup_ipv4(struct prefix_ipv4 *p,
                                           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);
@@ -354,7 +358,7 @@ extern uint8_t route_distance(int type);
  */
 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);
 }
 
 /*
@@ -450,10 +454,8 @@ DECLARE_HOOK(rib_update, (struct route_node * rn, const char *reason),
 
 
 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;
 
+extern bool v6_rr_semantics;
 #endif /*_ZEBRA_RIB_H */