diff options
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; |
