diff options
| author | Anuradha Karuppiah <anuradhak@cumulusnetworks.com> | 2020-05-08 16:53:25 -0700 |
|---|---|---|
| committer | Anuradha Karuppiah <anuradhak@cumulusnetworks.com> | 2020-10-26 10:32:51 -0700 |
| commit | c60522f7026b51e7440832f4b0d80fcd0111270f (patch) | |
| tree | 25ae877fe3fefd7e6a93b13d6a17c7dd30829feb /zebra/zebra_dplane.h | |
| parent | 1103c5c6cd2a2219a2c6b116229a3b96540ed80d (diff) | |
zebra: dplane APIs for programming evpn-mh access port attributes
This includes -
1. non-DF block filter
2. List of es-peers that need to be blocked per-access port (for
split horizon filtering)
3. Backup nexthop group to failover local-es via the VxLAN overlay
Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
Diffstat (limited to 'zebra/zebra_dplane.h')
| -rw-r--r-- | zebra/zebra_dplane.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/zebra/zebra_dplane.h b/zebra/zebra_dplane.h index fd70211f7c..b37bf665ae 100644 --- a/zebra/zebra_dplane.h +++ b/zebra/zebra_dplane.h @@ -152,6 +152,9 @@ enum dplane_op_e { /* Link layer address discovery */ DPLANE_OP_NEIGH_DISCOVER, + + /* bridge port update */ + DPLANE_OP_BR_PORT_UPDATE, }; /* @@ -184,6 +187,8 @@ enum dplane_op_e { #define DPLANE_NEIGH_SET_STATIC (1 << 2) #define DPLANE_NEIGH_SET_INACTIVE (1 << 3) +#define DPLANE_BR_PORT_NON_DF (1 << 0) + /* Enable system route notifications */ void dplane_enable_sys_route_notifs(void); @@ -444,6 +449,15 @@ dplane_ctx_rule_get_dst_ip(const struct zebra_dplane_ctx *ctx); const struct prefix * dplane_ctx_rule_get_old_dst_ip(const struct zebra_dplane_ctx *ctx); +/* Accessors for bridge port information */ +uint32_t dplane_ctx_get_br_port_flags(const struct zebra_dplane_ctx *ctx); +uint32_t +dplane_ctx_get_br_port_sph_filter_cnt(const struct zebra_dplane_ctx *ctx); +const struct in_addr * +dplane_ctx_get_br_port_sph_filters(const struct zebra_dplane_ctx *ctx); +uint32_t +dplane_ctx_get_br_port_backup_nhg_id(const struct zebra_dplane_ctx *ctx); + /* Namespace info - esp. for netlink communication */ const struct zebra_dplane_info *dplane_ctx_get_ns( const struct zebra_dplane_ctx *ctx); @@ -479,6 +493,12 @@ enum zebra_dplane_result dplane_route_notif_update( enum dplane_op_e op, struct zebra_dplane_ctx *ctx); +/* + * Enqueue bridge port changes for the dataplane. + */ +enum zebra_dplane_result dplane_br_port_update( + const struct interface *ifp, bool non_df, uint32_t sph_filter_cnt, + const struct in_addr *sph_filters, uint32_t backup_nhg_id); /* Forward ref of nhg_hash_entry */ struct nhg_hash_entry; |
