net/bnxt: fix port default rule create/destroy
[dpdk.git] / drivers / net / bnxt / tf_ulp / bnxt_ulp.h
index a133284..d532452 100644 (file)
 
 #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;
@@ -23,9 +37,8 @@ struct bnxt_ulp_data {
        void                            *mapper_data;
        struct bnxt_ulp_port_db         *port_db;
        struct bnxt_ulp_fc_info         *fc_info;
-       uint32_t                        port_to_app_flow_id;
-       uint32_t                        app_to_port_flow_id;
-       uint32_t                        tx_cfa_action;
+       uint32_t                        ulp_flags;
+       struct bnxt_ulp_df_rule_info   df_rule_info[RTE_MAX_ETHPORTS];
 };
 
 struct bnxt_ulp_context {
@@ -162,4 +175,12 @@ bnxt_ulp_cntxt_ptr2_fc_info_set(struct bnxt_ulp_context *ulp_ctx,
 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_ */