X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fmlx5%2Fmlx5_glue.c;h=0917bf28d63df0fc56bb0ef13380fbeb8a417630;hb=ea8483728e884454ed877e0b6b745d007a896b6a;hp=58c9a82bdb2cc13a35ba5d3a853ba481d9415ff1;hpb=af0b0743e22d296284dae3d7fae39635baa00912;p=dpdk.git diff --git a/drivers/net/mlx5/mlx5_glue.c b/drivers/net/mlx5/mlx5_glue.c index 58c9a82bdb..0917bf28d6 100644 --- a/drivers/net/mlx5/mlx5_glue.c +++ b/drivers/net/mlx5/mlx5_glue.c @@ -391,16 +391,20 @@ mlx5_glue_dr_create_flow_action_dest_flow_tbl(void *tbl) } static void * -mlx5_glue_dr_create_flow_action_dest_vport(void *domain, uint32_t vport) +mlx5_glue_dr_create_flow_action_dest_port(void *domain, uint32_t port) { +#ifdef HAVE_MLX5DV_DR_DEVX_PORT + return mlx5dv_dr_action_create_dest_ib_port(domain, port); +#else #ifdef HAVE_MLX5DV_DR_ESWITCH - return mlx5dv_dr_action_create_dest_vport(domain, vport); + return mlx5dv_dr_action_create_dest_vport(domain, port); #else (void)domain; - (void)vport; + (void)port; errno = ENOTSUP; return NULL; #endif +#endif } static void * @@ -765,6 +769,34 @@ mlx5_glue_dv_create_flow_action_tag(uint32_t tag) return NULL; } +static void * +mlx5_glue_dv_create_flow_action_meter(struct mlx5dv_dr_flow_meter_attr *attr) +{ +#if defined(HAVE_MLX5DV_DR) && defined(HAVE_MLX5_DR_CREATE_ACTION_FLOW_METER) + return mlx5dv_dr_action_create_flow_meter(attr); +#else + (void)attr; + errno = ENOTSUP; + return NULL; +#endif +} + +static int +mlx5_glue_dv_modify_flow_action_meter(void *action, + struct mlx5dv_dr_flow_meter_attr *attr, + uint64_t modify_bits) +{ +#if defined(HAVE_MLX5DV_DR) && defined(HAVE_MLX5_DR_CREATE_ACTION_FLOW_METER) + return mlx5dv_dr_action_modify_flow_meter(action, attr, modify_bits); +#else + (void)action; + (void)attr; + (void)modify_bits; + errno = ENOTSUP; + return errno; +#endif +} + static int mlx5_glue_dv_destroy_flow(void *flow_id) { @@ -1053,8 +1085,8 @@ const struct mlx5_glue *mlx5_glue = &(const struct mlx5_glue){ .cq_ex_to_cq = mlx5_glue_cq_ex_to_cq, .dr_create_flow_action_dest_flow_tbl = mlx5_glue_dr_create_flow_action_dest_flow_tbl, - .dr_create_flow_action_dest_vport = - mlx5_glue_dr_create_flow_action_dest_vport, + .dr_create_flow_action_dest_port = + mlx5_glue_dr_create_flow_action_dest_port, .dr_create_flow_action_drop = mlx5_glue_dr_create_flow_action_drop, .dr_create_flow_action_push_vlan = @@ -1084,6 +1116,8 @@ const struct mlx5_glue *mlx5_glue = &(const struct mlx5_glue){ .dv_create_flow_action_packet_reformat = mlx5_glue_dv_create_flow_action_packet_reformat, .dv_create_flow_action_tag = mlx5_glue_dv_create_flow_action_tag, + .dv_create_flow_action_meter = mlx5_glue_dv_create_flow_action_meter, + .dv_modify_flow_action_meter = mlx5_glue_dv_modify_flow_action_meter, .dv_destroy_flow = mlx5_glue_dv_destroy_flow, .dv_destroy_flow_matcher = mlx5_glue_dv_destroy_flow_matcher, .dv_open_device = mlx5_glue_dv_open_device,