]> git.proxmox.com Git - mirror_frr.git/blobdiff - zebra/zebra_ns.h
doc, lib, zebra: Remove deprecated encode and decode functionality
[mirror_frr.git] / zebra / zebra_ns.h
index 765f2c6893d959b611df6c4c0236f08a31dbefca..ed70a34c0bfbe1e8c06b97d598782c9ee6f1c456 100644 (file)
 #define __ZEBRA_NS_H__
 
 #include <lib/ns.h>
+#include <lib/vrf.h>
+
+#include "zebra/rib.h"
+#include "zebra/zebra_vrf.h"
 
 #ifdef HAVE_NETLINK
 /* Socket interface to kernel */
@@ -39,6 +43,7 @@ struct zebra_ns_table {
 
        uint32_t tableid;
        afi_t afi;
+       ns_id_t ns_id;
 
        struct route_table *table;
 };
@@ -69,12 +74,24 @@ struct zebra_ns {
 #endif /* HAVE_RTADV */
 
        struct zebra_ns_table_head ns_tables;
+
+       struct hash *rules_hash;
+
+       struct hash *ipset_hash;
+
+       struct hash *ipset_entry_hash;
+
+       struct hash *iptable_hash;
+
+       /* Back pointer */
+       struct ns *ns;
 };
 
 struct zebra_ns *zebra_ns_lookup(ns_id_t ns_id);
 
 int zebra_ns_init(void);
 int zebra_ns_enable(ns_id_t ns_id, void **info);
+int zebra_ns_disabled(struct ns *ns);
 int zebra_ns_disable(ns_id_t ns_id, void **info);
 
 extern struct route_table *zebra_ns_find_table(struct zebra_ns *zns,
@@ -82,4 +99,8 @@ extern struct route_table *zebra_ns_find_table(struct zebra_ns *zns,
 extern struct route_table *zebra_ns_get_table(struct zebra_ns *zns,
                                              struct zebra_vrf *zvrf,
                                              uint32_t tableid, afi_t afi);
+int zebra_ns_config_write(struct vty *vty, struct ns *ns);
+
+unsigned long zebra_ns_score_proto(uint8_t proto, unsigned short instance);
+void zebra_ns_sweep_route(void);
 #endif