summaryrefslogtreecommitdiff
path: root/zebra/zebra_dplane.h
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/zebra_dplane.h')
-rw-r--r--zebra/zebra_dplane.h20
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;