X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fmlx5%2Fmlx5_glue.c;h=9ee37f4c8b639dfd2137448f435a4a7ca9709b31;hb=8de0c42019260813b71699748a08bc94b608b5d9;hp=50c369a6d66a1447c1822a5d404000a10ffc24dc;hpb=3075bd23e3b84199283cf6600484466addfe525f;p=dpdk.git diff --git a/drivers/net/mlx5/mlx5_glue.c b/drivers/net/mlx5/mlx5_glue.c index 50c369a6d6..9ee37f4c8b 100644 --- a/drivers/net/mlx5/mlx5_glue.c +++ b/drivers/net/mlx5/mlx5_glue.c @@ -414,6 +414,31 @@ mlx5_glue_dr_create_flow_action_drop(void) #endif } +static void * +mlx5_glue_dr_create_flow_action_push_vlan(struct mlx5dv_dr_domain *domain, + rte_be32_t vlan_tag) +{ +#ifdef HAVE_MLX5DV_DR_VLAN + return mlx5dv_dr_action_create_push_vlan(domain, vlan_tag); +#else + (void)domain; + (void)vlan_tag; + errno = ENOTSUP; + return NULL; +#endif +} + +static void * +mlx5_glue_dr_create_flow_action_pop_vlan(void) +{ +#ifdef HAVE_MLX5DV_DR_VLAN + return mlx5dv_dr_action_create_pop_vlan(); +#else + errno = ENOTSUP; + return NULL; +#endif +} + static void * mlx5_glue_dr_create_flow_tbl(void *domain, uint32_t level) { @@ -1016,6 +1041,10 @@ const struct mlx5_glue *mlx5_glue = &(const struct mlx5_glue){ mlx5_glue_dr_create_flow_action_dest_vport, .dr_create_flow_action_drop = mlx5_glue_dr_create_flow_action_drop, + .dr_create_flow_action_push_vlan = + mlx5_glue_dr_create_flow_action_push_vlan, + .dr_create_flow_action_pop_vlan = + mlx5_glue_dr_create_flow_action_pop_vlan, .dr_create_flow_tbl = mlx5_glue_dr_create_flow_tbl, .dr_destroy_flow_tbl = mlx5_glue_dr_destroy_flow_tbl, .dr_create_domain = mlx5_glue_dr_create_domain,