]> git.proxmox.com Git - mirror_frr.git/blobdiff - pbrd/pbr_main.c
Merge pull request #4765 from opensourcerouting/defaults-v2
[mirror_frr.git] / pbrd / pbr_main.c
index 638e284a1a7d64affee6b91bd8e592909b9a7bac..b228847f06036f4ad4ba26b1dd31a1bfc50668b7 100644 (file)
@@ -48,6 +48,7 @@
 #include "pbr_zebra.h"
 #include "pbr_vty.h"
 #include "pbr_debug.h"
+#include "pbr_vrf.h"
 
 zebra_capabilities_t _caps_p[] = {
        ZCAP_NET_RAW, ZCAP_BIND, ZCAP_NET_ADMIN,
@@ -111,6 +112,10 @@ struct quagga_signal_t pbr_signals[] = {
 
 #define PBR_VTY_PORT 2615
 
+static const struct frr_yang_module_info *const pbrd_yang_modules[] = {
+       &frr_interface_info,
+};
+
 FRR_DAEMON_INFO(pbrd, PBR, .vty_port = PBR_VTY_PORT,
 
                .proghelp = "Implementation of PBR.",
@@ -118,7 +123,10 @@ FRR_DAEMON_INFO(pbrd, PBR, .vty_port = PBR_VTY_PORT,
                .signals = pbr_signals,
                .n_signals = array_size(pbr_signals),
 
-               .privs = &pbr_privs,)
+               .privs = &pbr_privs,
+
+               .yang_modules = pbrd_yang_modules,
+               .n_yang_modules = array_size(pbrd_yang_modules), )
 
 int main(int argc, char **argv, char **envp)
 {
@@ -146,15 +154,22 @@ int main(int argc, char **argv, char **envp)
 
        pbr_debug_init();
 
-       vrf_init(NULL, NULL, NULL, NULL);
        nexthop_group_init(pbr_nhgroup_add_cb,
                           pbr_nhgroup_add_nexthop_cb,
                           pbr_nhgroup_del_nexthop_cb,
                           pbr_nhgroup_delete_cb);
 
+       /*
+        * So we safely ignore these commands since
+        * we are getting them at this point in time
+        */
+       access_list_init();
        pbr_nht_init();
        pbr_map_init();
+       if_zapi_callbacks(pbr_ifp_create, pbr_ifp_up,
+                         pbr_ifp_down, pbr_ifp_destroy);
        pbr_zebra_init();
+       pbr_vrf_init();
        pbr_vty_init();
 
        frr_config_fork();