]> git.proxmox.com Git - mirror_frr.git/blobdiff - lib/zclient.h
lib: Allow adding arrays of ferr's
[mirror_frr.git] / lib / zclient.h
index 8d26b7fe598b7919f1313f3dabca44047461c583..962b1707c948c9ebc6ff79533c4239dffca73d3d 100644 (file)
@@ -108,6 +108,7 @@ typedef enum {
        ZEBRA_VRF_LABEL,
        ZEBRA_INTERFACE_VRF_UPDATE,
        ZEBRA_BFD_CLIENT_REGISTER,
+       ZEBRA_BFD_CLIENT_DEREGISTER,
        ZEBRA_INTERFACE_ENABLE_RADV,
        ZEBRA_INTERFACE_DISABLE_RADV,
        ZEBRA_IPV4_NEXTHOP_LOOKUP_MRIB,
@@ -124,6 +125,8 @@ typedef enum {
        ZEBRA_ADVERTISE_DEFAULT_GW,
        ZEBRA_ADVERTISE_SUBNET,
        ZEBRA_ADVERTISE_ALL_VNI,
+       ZEBRA_LOCAL_ES_ADD,
+       ZEBRA_LOCAL_ES_DEL,
        ZEBRA_VNI_ADD,
        ZEBRA_VNI_DEL,
        ZEBRA_L3VNI_ADD,
@@ -237,6 +240,10 @@ struct zclient {
        int (*redistribute_route_del)(int, struct zclient *, uint16_t,
                                      vrf_id_t);
        int (*fec_update)(int, struct zclient *, uint16_t);
+       int (*local_es_add)(int command, struct zclient *zclient,
+                           uint16_t length, vrf_id_t vrf_id);
+       int (*local_es_del)(int command, struct zclient *zclient,
+                           uint16_t length, vrf_id_t vrf_id);
        int (*local_vni_add)(int, struct zclient *, uint16_t, vrf_id_t);
        int (*local_vni_del)(int, struct zclient *, uint16_t, vrf_id_t);
        int (*local_l3vni_add)(int, struct zclient *, uint16_t, vrf_id_t);
@@ -302,6 +309,8 @@ struct zapi_nexthop {
        /* MPLS labels for BGP-LU or Segment Routing */
        uint8_t label_num;
        mpls_label_t labels[MPLS_MAX_LABELS];
+
+       struct ethaddr rmac;
 };
 
 /*
@@ -342,8 +351,6 @@ struct zapi_route {
        vrf_id_t vrf_id;
 
        uint32_t tableid;
-
-       struct ethaddr rmac;
 };
 
 /* Zebra IPv4 route message API. */
@@ -408,6 +415,7 @@ enum zapi_rule_notify_owner {
        ZAPI_RULE_FAIL_INSTALL,
        ZAPI_RULE_INSTALLED,
        ZAPI_RULE_REMOVED,
+       ZAPI_RULE_FAIL_REMOVE,
 };
 
 enum ipset_type {
@@ -421,23 +429,28 @@ enum zapi_ipset_notify_owner {
        ZAPI_IPSET_FAIL_INSTALL,
        ZAPI_IPSET_INSTALLED,
        ZAPI_IPSET_REMOVED,
+       ZAPI_IPSET_FAIL_REMOVE,
 };
 
 enum zapi_ipset_entry_notify_owner {
        ZAPI_IPSET_ENTRY_FAIL_INSTALL,
        ZAPI_IPSET_ENTRY_INSTALLED,
        ZAPI_IPSET_ENTRY_REMOVED,
+       ZAPI_IPSET_ENTRY_FAIL_REMOVE,
 };
 
 enum zapi_iptable_notify_owner {
        ZAPI_IPTABLE_FAIL_INSTALL,
        ZAPI_IPTABLE_INSTALLED,
        ZAPI_IPTABLE_REMOVED,
+       ZAPI_IPTABLE_FAIL_REMOVE,
 };
 
 /* Zebra MAC types */
 #define ZEBRA_MACIP_TYPE_STICKY                0x01 /* Sticky MAC*/
 #define ZEBRA_MACIP_TYPE_GW                    0x02 /* gateway (SVI) mac*/
+#define ZEBRA_MACIP_TYPE_ROUTER_FLAG           0x04 /* Router Flag - proxy NA */
+#define ZEBRA_MACIP_TYPE_OVERRIDE_FLAG         0x08 /* Override Flag */
 
 struct zclient_options {
        bool receive_notify;
@@ -447,7 +460,7 @@ struct zclient_options {
 extern struct zclient *zclient_new(struct thread_master *);
 
 /* clang-format off */
-#if defined(VERSION_TYPE_DEV) && CONFDATE > 20181101
+#if CONFDATE > 20181101
 CPP_NOTICE("zclient_new_notify can take over or zclient_new now");
 #endif
 /* clang-format on */
@@ -588,7 +601,7 @@ extern void zebra_interface_if_set_value(struct stream *, struct interface *);
 extern void zebra_router_id_update_read(struct stream *s, struct prefix *rid);
 
 /* clang-format off */
-#if defined(VERSION_TYPE_DEV) && CONFDATE > 20180823
+#if CONFDATE > 20180823
 CPP_NOTICE("zapi_ipv4_route, zapi_ipv6_route, zapi_ipv4_route_ipv6_nexthop as well as the zapi_ipv4 and zapi_ipv6 data structures should be removed now");
 #endif
 /* clang-format on */