net/bnxt: support NAT for dest IP and port combination
[dpdk.git] / drivers / net / bnxt / tf_ulp / ulp_mapper.h
index 4c5dd4b..4d6ba0f 100644 (file)
@@ -44,16 +44,18 @@ struct bnxt_ulp_mapper_parms {
        struct ulp_rte_act_prop                 *act_prop;
        struct ulp_rte_act_bitmap               *act_bitmap;
        struct ulp_rte_hdr_bitmap               *hdr_bitmap;
+       struct ulp_rte_hdr_bitmap               *enc_hdr_bitmap;
        struct ulp_rte_hdr_field                *hdr_field;
+       struct ulp_rte_hdr_field                *enc_field;
        struct ulp_rte_field_bitmap             *fld_bitmap;
-       uint32_t                                *comp_fld;
+       uint64_t                                *comp_fld;
        struct ulp_regfile                      *regfile;
        struct bnxt_ulp_context                 *ulp_ctx;
        uint32_t                                fid;
        enum bnxt_ulp_fdb_type                  flow_type;
        struct bnxt_ulp_mapper_data             *mapper_data;
        struct bnxt_ulp_device_params           *device_params;
-       uint32_t                                parent_fid;
+       uint32_t                                child_flow;
        uint32_t                                parent_flow;
        uint8_t                                 tun_idx;
        uint32_t                                app_priority;
@@ -61,13 +63,16 @@ struct bnxt_ulp_mapper_parms {
        uint32_t                                flow_pattern_id;
        uint32_t                                act_pattern_id;
        uint8_t                                 app_id;
+       uint16_t                                port_id;
 };
 
 struct bnxt_ulp_mapper_create_parms {
        uint32_t                        app_priority;
        struct ulp_rte_hdr_bitmap       *hdr_bitmap;
+       struct ulp_rte_hdr_bitmap       *enc_hdr_bitmap;
        struct ulp_rte_hdr_field        *hdr_field;
-       uint32_t                        *comp_fld;
+       struct ulp_rte_hdr_field        *enc_field;
+       uint64_t                        *comp_fld;
        struct ulp_rte_act_bitmap       *act;
        struct ulp_rte_act_prop         *act_prop;
        struct ulp_rte_field_bitmap     *fld_bitmap;
@@ -78,8 +83,8 @@ struct bnxt_ulp_mapper_create_parms {
        enum bnxt_ulp_fdb_type          flow_type;
 
        uint32_t                        flow_id;
-       /* if set then create it as a child flow with parent as parent_fid */
-       uint32_t                        parent_fid;
+       /* if set then create it as a child flow */
+       uint32_t                        child_flow;
        /* if set then create a parent flow */
        uint32_t                        parent_flow;
        uint8_t                         tun_idx;
@@ -89,6 +94,7 @@ struct bnxt_ulp_mapper_create_parms {
        uint32_t                        flow_pattern_id;
        uint32_t                        act_pattern_id;
        uint8_t                         app_id;
+       uint16_t                        port_id;
 };
 
 /* Function to initialize any dynamic mapper data. */