From 138c5a745018a291c8463b67dba7602886859d2e Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Wed, 18 Sep 2019 16:20:04 -0400 Subject: *: Add infrastructure to support zapi interface callbacks Start the conversion to allow zapi interface callbacks to be controlled like vrf creation/destruction/change callbacks. This will allow us to consolidate control into the interface.c instead of having each daemon read the stream and react accordingly. This will hopefully reduce a bunch of cut-n-paste stuff Create 4 new callback functions that will be controlled by lib/if.c create -> A upper level protocol receives an interface creation event The ifp is brand spanking newly created in the system. up -> A upper level protocol receives a interface up event This means the interface is up and ready to go. down -> A upper level protocol receives a interface down destroy -> A upper level protocol receives a destroy event This means to delete the pointers associated with it. At this point this is just boilerplate setup for future commits. There is no new functionality. Signed-off-by: Donald Sharp --- vrrpd/vrrp_zebra.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'vrrpd/vrrp_zebra.c') diff --git a/vrrpd/vrrp_zebra.c b/vrrpd/vrrp_zebra.c index 72b77c1313..0844b90266 100644 --- a/vrrpd/vrrp_zebra.c +++ b/vrrpd/vrrp_zebra.c @@ -236,8 +236,31 @@ int vrrp_zclient_send_interface_protodown(struct interface *ifp, bool down) down); } +int vrrp_ifp_create(struct interface *ifp) +{ + return 0; +} + +int vrrp_ifp_up(struct interface *ifp) +{ + return 0; +} + +int vrrp_ifp_down(struct interface *ifp) +{ + return 0; +} + +int vrrp_ifp_destroy(struct interface *ifp) +{ + return 0; +} + void vrrp_zebra_init(void) { + if_zapi_callbacks(vrrp_ifp_create, vrrp_ifp_up, + vrrp_ifp_down, vrrp_ifp_destroy); + /* Socket for receiving updates from Zebra daemon */ zclient = zclient_new(master, &zclient_options_default); -- cgit v1.2.3