]> git.proxmox.com Git - mirror_frr.git/blobdiff - pbrd/pbr_nht.h
Merge pull request #5419 from adharkar/frr-master-nh_connected
[mirror_frr.git] / pbrd / pbr_nht.h
index 2cfb076f003b314f4a2586dcc69762780248c043..4ef41cede7dd76a2fca02758e336787271cae2ce 100644 (file)
 
 #include "pbr_map.h"
 
+#define PBR_NHC_NAMELEN PBR_MAP_NAMELEN + 10
+
 struct pbr_nexthop_group_cache {
-       char name[PBR_MAP_NAMELEN];
+       char name[PBR_NHC_NAMELEN];
 
        uint32_t table_id;
 
@@ -54,9 +56,13 @@ extern void pbr_nht_write_table_range(struct vty *vty);
 extern void pbr_nht_set_tableid_range(uint32_t low, uint32_t high);
 
 /*
- * Get the next tableid to use for installation
+ * Get the next tableid to use for installation.
+ *
+ * peek
+ *    If set to true, retrieves the next ID without marking it used. The next
+ *    call will return the same ID.
  */
-extern uint32_t pbr_nht_get_next_tableid(void);
+extern uint32_t pbr_nht_get_next_tableid(bool peek);
 /*
  * Get the next rule number to use for installation
  */
@@ -111,5 +117,10 @@ extern void pbr_nht_show_nexthop_group(struct vty *vty, const char *name);
  */
 extern void pbr_nht_nexthop_update(struct zapi_route *nhr);
 
+/*
+ * When we get a callback from zebra about an interface status update.
+ */
+extern void pbr_nht_nexthop_interface_update(struct interface *ifp);
+
 extern void pbr_nht_init(void);
 #endif