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