[dpdk-dev] [PATCH v2 1/3] net/mlx5: prepare Direct Verbs for Direct Rule

Shahaf Shuler shahafs at mellanox.com
Wed Apr 3 12:15:44 CEST 2019


Thursday, March 28, 2019 6:33 PM, Ori Kam:
> Subject: [PATCH v2 1/3] net/mlx5: prepare Direct Verbs for Direct Rule

> --- a/drivers/net/mlx5/mlx5_glue.h
> +++ b/drivers/net/mlx5/mlx5_glue.h
> @@ -55,6 +55,10 @@

[...]


>  enum mlx5dv_flow_table_type { flow_table_type = 0, };  #endif
> 
> +#ifndef HAVE_IBV_FLOW_DEVX_COUNTERS
> +#define MLX5DV_FLOW_ACTION_COUNTER_DEVX 0 #endif
> +
>  #ifndef HAVE_IBV_DEVX_OBJ
>  struct mlx5dv_devx_obj;
>  #endif
> @@ -98,7 +102,7 @@ struct mlx5_glue {
>  	struct ibv_flow *(*create_flow)(struct ibv_qp *qp,
>  					struct ibv_flow_attr *flow);
>  	int (*destroy_flow)(struct ibv_flow *flow_id);
> -	int (*destroy_flow_action)(struct ibv_flow_action *action);
> +	int (*destroy_flow_action)(void *action);
>  	struct ibv_qp *(*create_qp)(struct ibv_pd *pd,
>  				    struct ibv_qp_init_attr *qp_init_attr);
>  	struct ibv_qp *(*create_qp_ex)
> @@ -160,19 +164,17 @@ struct mlx5_glue {
>  	int (*dv_destroy_flow_matcher)(struct mlx5dv_flow_matcher
> *matcher);
>  	struct ibv_flow *(*dv_create_flow)(struct mlx5dv_flow_matcher
> *matcher,
>  			  struct mlx5dv_flow_match_parameters
> *match_value,
> -			  size_t num_actions,
> -			  struct mlx5dv_flow_action_attr *actions_attr);
> -	struct ibv_flow_action *(*dv_create_flow_action_packet_reformat)
> -		(struct ibv_context *ctx,
> -		 size_t data_sz,
> -		 void *data,
> +			  size_t num_actions, void *actions[]);
> +	void *(*dv_create_flow_action_counter)(void *obj, uint32_t
> offset);
> +	void *(*dv_create_flow_action_dest_ibv_qp)(void *qp);
> +	void *(*dv_create_flow_action_modify_header)
> +		(struct ibv_context *ctx, size_t actions_sz, uint64_t actions[],
> +		 enum mlx5dv_flow_table_type ft_type);
> +	void *(*dv_create_flow_action_packet_reformat)
> +		(struct ibv_context *ctx, size_t data_sz, void *data,
>  		 enum mlx5dv_flow_action_packet_reformat_type
> reformat_type,
>  		 enum mlx5dv_flow_table_type ft_type);
> -	struct ibv_flow_action *(*dv_create_flow_action_modify_header)
> -					(struct ibv_context *ctx,
> -					 size_t actions_sz,
> -					 uint64_t actions[],
> -					 enum mlx5dv_flow_table_type
> ft_type);
> +	void *(*dv_create_flow_action_tag)(uint32_t tag);
>  	struct ibv_context *(*dv_open_device)(struct ibv_device *device);
>  	struct mlx5dv_devx_obj *(*devx_obj_create)
>  					(struct ibv_context *ctx,

Due to those changes you must bump up the LIB_GLUE_VERSION . 

> --
> 1.8.3.1



More information about the dev mailing list