diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2018-08-27 10:43:37 -0400 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2018-10-24 06:52:07 -0400 |
| commit | 89272910f738c05ba7986e7d91c14dc0eb1f6ba6 (patch) | |
| tree | bbf83ea49b2b84b0264e763c656f21158d1c2670 /zebra/zebra_ns.h | |
| parent | 82d6d6e9be004cd8dbe88b0603f6420fcd80a0a5 (diff) | |
zebra: Start breakup of zns into zrouter and zns
The `struct zebra_ns` data structure is being used
for both router information as well as support for
the vrf backend( as appropriate ). This is a confusing
state. Start the movement of `struct zebra_ns` into
2 things `struct zebra_router` and `struct zebra_ns`.
In this new regime `struct zebra_router` is purely
for handling data about the router. It has no knowledge
of the underlying representation of the Data Plane.
`struct zebra_ns` becomes a linux specific bit of code
that allows us to handle the vrf backend and is allowed
to have knowledge about underlying data plane constructs.
When someone implements a *bsd backend the zebra_vrf data
structure will need to be abstracted to take advantage of this
instead of relying on zebra_ns.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'zebra/zebra_ns.h')
| -rw-r--r-- | zebra/zebra_ns.h | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/zebra/zebra_ns.h b/zebra/zebra_ns.h index ed70a34c0b..8944f0b6f7 100644 --- a/zebra/zebra_ns.h +++ b/zebra/zebra_ns.h @@ -38,19 +38,6 @@ struct nlsock { }; #endif -struct zebra_ns_table { - RB_ENTRY(zebra_ns_table) zebra_ns_table_entry; - - uint32_t tableid; - afi_t afi; - ns_id_t ns_id; - - 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]; @@ -66,15 +53,10 @@ struct zebra_ns { 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; struct hash *ipset_hash; @@ -94,13 +76,6 @@ 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, - 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 |
