X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=zebra%2Fzebra_ns.h;h=d3592f8f305d9b942dfab015a72e80f7b48eeb1c;hb=c52e2ecf95a9be318912caacc0851d9307e679f7;hp=66b73148d2111f283943518ecc01d2bbfb691662;hpb=db5bdc694ff5311ea5d1e8963442e989bbcebda6;p=mirror_frr.git diff --git a/zebra/zebra_ns.h b/zebra/zebra_ns.h index 66b73148d..d3592f8f3 100644 --- a/zebra/zebra_ns.h +++ b/zebra/zebra_ns.h @@ -25,6 +25,9 @@ #include #include +#include "zebra/rib.h" +#include "zebra/zebra_vrf.h" + #ifdef HAVE_NETLINK /* Socket interface to kernel */ struct nlsock { @@ -35,18 +38,6 @@ struct nlsock { }; #endif -struct zebra_ns_table { - RB_ENTRY(zebra_ns_table) zebra_ns_table_entry; - - uint32_t tableid; - afi_t afi; - - struct route_table *table; -}; -RB_HEAD(zebra_ns_table_head, zebra_ns_table); -RB_PROTOTYPE(zebra_ns_table_head, zebra_ns_table, zebra_ns_table_entry, - zebra_ns_table_entry_compare) - struct zebra_ns { /* net-ns name. */ char name[VRF_NAMSIZ]; @@ -55,24 +46,14 @@ struct zebra_ns { ns_id_t ns_id; #ifdef HAVE_NETLINK - struct nlsock netlink; /* kernel messages */ - struct nlsock netlink_cmd; /* command channel */ + struct nlsock netlink; /* kernel messages */ + struct nlsock netlink_cmd; /* command channel */ + struct nlsock netlink_dplane; /* dataplane channel */ struct thread *t_netlink; #endif struct route_table *if_table; - /* L3-VNI hash table (for EVPN). Only in default instance */ - struct hash *l3vni_table; - -#if defined(HAVE_RTADV) - struct rtadv rtadv; -#endif /* HAVE_RTADV */ - - struct zebra_ns_table_head ns_tables; - - struct hash *rules_hash; - /* Back pointer */ struct ns *ns; }; @@ -82,15 +63,9 @@ 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); +int zebra_ns_early_shutdown(struct ns *ns); +int zebra_ns_final_shutdown(struct ns *ns); -extern struct route_table *zebra_ns_find_table(struct zebra_ns *zns, - uint32_t tableid, afi_t afi); -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