]> git.proxmox.com Git - mirror_frr.git/blobdiff - zebra/zapi_msg.h
Merge pull request #3503 from qlyoung/fix-bgpd-show-ip-neigh-json-double-free
[mirror_frr.git] / zebra / zapi_msg.h
index f50c9852662a5aa47d929d2aacaee473972104f8..11b469e14478745d1a5da743a661c12f7e281a6b 100644 (file)
@@ -28,6 +28,7 @@
 #include "zebra/rib.h"
 #include "zebra/zserv.h"
 #include "zebra/zebra_pbr.h"
+#include "zebra/zebra_errors.h"
 
 /*
  * This is called to process inbound ZAPI messages.
  * client
  *    the client datastructure
  *
- * hdr
- *    the message header
- *
  * msg
- *    the message contents, without the header
- *
- * zvrf
- *    the vrf
+ *    the message
  */
-extern void zserv_handle_commands(struct zserv *client, struct zmsghdr *hdr,
-                                 struct stream *msg, struct zebra_vrf *zvrf);
+extern void zserv_handle_commands(struct zserv *client, struct stream *msg);
 
-extern int zsend_vrf_add(struct zserv *, struct zebra_vrf *);
-extern int zsend_vrf_delete(struct zserv *, struct zebra_vrf *);
-extern int zsend_interface_add(struct zserv *, struct interface *);
-extern int zsend_interface_delete(struct zserv *, struct interface *);
-extern int zsend_interface_addresses(struct zserv *, struct interface *);
-extern int zsend_interface_address(int, struct zserv *, struct interface *,
-                                  struct connected *);
-extern void nbr_connected_add_ipv6(struct interface *, struct in6_addr *);
-extern void nbr_connected_delete_ipv6(struct interface *, struct in6_addr *);
-extern int zsend_interface_update(int, struct zserv *, struct interface *);
-extern int zsend_redistribute_route(int, struct zserv *, struct prefix *,
-                                   struct prefix *, struct route_entry *);
-extern int zsend_router_id_update(struct zserv *, struct prefix *, vrf_id_t);
-extern int zsend_interface_vrf_update(struct zserv *, struct interface *,
-                                     vrf_id_t);
-extern int zsend_interface_link_params(struct zserv *, struct interface *);
-extern int zsend_pw_update(struct zserv *, struct zebra_pw *);
-extern int zsend_route_notify_owner(struct route_entry *re, struct prefix *p,
+extern int zsend_vrf_add(struct zserv *zclient, struct zebra_vrf *zvrf);
+extern int zsend_vrf_delete(struct zserv *zclient, struct zebra_vrf *zvrf);
+extern int zsend_interface_add(struct zserv *zclient, struct interface *ifp);
+extern int zsend_interface_delete(struct zserv *zclient, struct interface *ifp);
+extern int zsend_interface_addresses(struct zserv *zclient,
+                                    struct interface *ifp);
+extern int zsend_interface_address(int cmd, struct zserv *zclient,
+                                  struct interface *ifp,
+                                  struct connected *ifc);
+extern void nbr_connected_add_ipv6(struct interface *ifp,
+                                  struct in6_addr *address);
+extern void nbr_connected_delete_ipv6(struct interface *ifp,
+                                     struct in6_addr *address);
+extern int zsend_interface_update(int cmd, struct zserv *client,
+                                 struct interface *ifp);
+extern int zsend_redistribute_route(int cmd, struct zserv *zclient,
+                                   const struct prefix *p,
+                                   const struct prefix *src_p,
+                                   struct route_entry *re);
+extern int zsend_router_id_update(struct zserv *zclient, struct prefix *p,
+                                 vrf_id_t vrf_id);
+extern int zsend_interface_vrf_update(struct zserv *zclient,
+                                     struct interface *ifp, vrf_id_t vrf_id);
+extern int zsend_interface_link_params(struct zserv *zclient,
+                                      struct interface *ifp);
+extern int zsend_pw_update(struct zserv *client, struct zebra_pw *pw);
+extern int zsend_route_notify_owner(struct route_entry *re,
+                                   const struct prefix *p,
                                    enum zapi_route_notify_owner note);
+extern int zsend_route_notify_owner_ctx(const struct zebra_dplane_ctx *ctx,
+                                       enum zapi_route_notify_owner note);
 
 extern void zsend_rule_notify_owner(struct zebra_pbr_rule *rule,
                                    enum zapi_rule_notify_owner note);
@@ -76,5 +82,5 @@ zsend_ipset_entry_notify_owner(struct zebra_pbr_ipset_entry *ipset,
                               enum zapi_ipset_entry_notify_owner note);
 extern void zsend_iptable_notify_owner(struct zebra_pbr_iptable *iptable,
                                       enum zapi_iptable_notify_owner note);
-extern void zserv_nexthop_num_warn(const char *, const struct prefix *,
-                                  const unsigned int);
+extern void zserv_nexthop_num_warn(const char *caller, const struct prefix *p,
+                                  const unsigned int nexthop_num);