X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fbnxt%2Ftf_ulp%2Fbnxt_ulp.h;h=d53245215752be5d2d94204493fb397dbec96377;hb=25b47db788f2152739b8d578097de35b1e0ae4f9;hp=3563f63fa200756bdbb287fe44fbeed30ec23ad7;hpb=d0eaabd4d17298a04ba0cfd510dbaa63cae69baa;p=dpdk.git diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp.h index 3563f63fa2..d532452157 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp.h @@ -14,6 +14,20 @@ #include "ulp_template_db_enum.h" +/* NAT defines to reuse existing inner L2 SMAC and DMAC */ +#define BNXT_ULP_NAT_INNER_L2_HEADER_SMAC 0x2000 +#define BNXT_ULP_NAT_INNER_L2_HEADER_DMAC 0x100 + +/* defines for the ulp_flags */ +#define BNXT_ULP_VF_REP_ENABLED 0x1 +#define ULP_VF_REP_IS_ENABLED(flag) ((flag) & BNXT_ULP_VF_REP_ENABLED) + +struct bnxt_ulp_df_rule_info { + uint32_t port_to_app_flow_id; + uint32_t app_to_port_flow_id; + uint8_t valid; +}; + struct bnxt_ulp_data { uint32_t tbl_scope_id; struct bnxt_ulp_mark_tbl *mark_tbl; @@ -22,6 +36,9 @@ struct bnxt_ulp_data { struct bnxt_ulp_flow_db *flow_db; void *mapper_data; struct bnxt_ulp_port_db *port_db; + struct bnxt_ulp_fc_info *fc_info; + uint32_t ulp_flags; + struct bnxt_ulp_df_rule_info df_rule_info[RTE_MAX_ETHPORTS]; }; struct bnxt_ulp_context { @@ -151,4 +168,19 @@ int bnxt_ulp_flow_destroy(struct rte_eth_dev *dev, struct rte_flow *flow, struct rte_flow_error *error); +int32_t +bnxt_ulp_cntxt_ptr2_fc_info_set(struct bnxt_ulp_context *ulp_ctx, + struct bnxt_ulp_fc_info *ulp_fc_info); + +struct bnxt_ulp_fc_info * +bnxt_ulp_cntxt_ptr2_fc_info_get(struct bnxt_ulp_context *ulp_ctx); + +int32_t +bnxt_ulp_cntxt_ptr2_ulp_flags_get(struct bnxt_ulp_context *ulp_ctx, + uint32_t *flags); + +int32_t +bnxt_ulp_get_df_rule_info(uint8_t port_id, struct bnxt_ulp_context *ulp_ctx, + struct bnxt_ulp_df_rule_info *info); + #endif /* _BNXT_ULP_H_ */