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/main.c | |
| 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/main.c')
| -rw-r--r-- | zebra/main.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/zebra/main.c b/zebra/main.c index 148bcab7e4..d8952a7b28 100644 --- a/zebra/main.c +++ b/zebra/main.c @@ -39,6 +39,7 @@ #include "routemap.h" #include "frr_pthread.h" +#include "zebra/zebra_router.h" #include "zebra/zebra_errors.h" #include "zebra/rib.h" #include "zebra/zserv.h" @@ -174,6 +175,8 @@ static void sigint(void) work_queue_free_and_null(&zebrad.ribq); meta_queue_free(zebrad.mq); + zebra_router_terminate(); + frr_fini(); exit(0); } @@ -354,6 +357,7 @@ int main(int argc, char **argv) zebrad.master = frr_init(); /* Zebra related initialize. */ + zebra_router_init(); zserv_init(); rib_init(); zebra_if_init(); @@ -418,7 +422,7 @@ int main(int argc, char **argv) /* RNH init */ zebra_rnh_init(); - + /* Error init */ zebra_error_init(); |
