]> git.proxmox.com Git - mirror_frr.git/blobdiff - sharpd/sharp_main.c
Merge pull request #5083 from zays26/feature/vtysh-master
[mirror_frr.git] / sharpd / sharp_main.c
index f0e6e3db4acfe60a27d6c650df78d4c41fa808ce..39453ee9adc1d49e6a2ad1047d65878818673ab2 100644 (file)
 #include "distribute.h"
 #include "libfrr.h"
 #include "routemap.h"
+#include "nexthop_group.h"
 
 #include "sharp_zebra.h"
 #include "sharp_vty.h"
+#include "sharp_globals.h"
 
-uint32_t total_routes = 0;
-uint32_t installed_routes = 0;
-uint32_t removed_routes = 0;
+DEFINE_MGROUP(SHARPD, "sharpd")
 
 zebra_capabilities_t _caps_p[] = {
 };
@@ -111,6 +111,9 @@ struct quagga_signal_t sharp_signals[] = {
 
 #define SHARP_VTY_PORT 2614
 
+static const struct frr_yang_module_info *sharpd_yang_modules[] = {
+};
+
 FRR_DAEMON_INFO(sharpd, SHARP, .vty_port = SHARP_VTY_PORT,
 
                .proghelp = "Implementation of a Sharp of routes daemon.",
@@ -118,9 +121,16 @@ FRR_DAEMON_INFO(sharpd, SHARP, .vty_port = SHARP_VTY_PORT,
                .signals = sharp_signals,
                .n_signals = array_size(sharp_signals),
 
-               .privs = &sharp_privs, )
+               .privs = &sharp_privs, .yang_modules = sharpd_yang_modules,
+               .n_yang_modules = array_size(sharpd_yang_modules), )
+
+struct sharp_global sg;
 
-extern void sharp_vty_init(void);
+static void sharp_global_init(void)
+{
+       memset(&sg, 0, sizeof(sg));
+       sg.nhs = list_new();
+}
 
 int main(int argc, char **argv, char **envp)
 {
@@ -146,7 +156,10 @@ int main(int argc, char **argv, char **envp)
 
        master = frr_init();
 
-       vrf_init(NULL, NULL, NULL, NULL);
+       sharp_global_init();
+
+       nexthop_group_init(NULL, NULL, NULL, NULL);
+       vrf_init(NULL, NULL, NULL, NULL, NULL);
 
        access_list_init();
        route_map_init();