net/hns3: support flow director
[dpdk.git] / drivers / net / ice / base / ice_flex_type.h
index 634897a..48c1e51 100644 (file)
@@ -16,6 +16,8 @@ struct ice_fv_word {
 };
 #pragma pack()
 
+#define ICE_MAX_NUM_PROFILES 256
+
 #define ICE_MAX_FV_WORDS 48
 struct ice_fv {
        struct ice_fv_word ew[ICE_MAX_FV_WORDS];
@@ -518,16 +520,16 @@ struct ice_ptg_ptype {
        u8 ptg;
 };
 
-#define ICE_MAX_TCAM_PER_PROFILE       8
-#define ICE_MAX_PTYPE_PER_PROFILE      8
+#define ICE_MAX_TCAM_PER_PROFILE       32
+#define ICE_MAX_PTG_PER_PROFILE                32
 
 struct ice_prof_map {
        struct LIST_ENTRY_TYPE list;
        u64 profile_cookie;
        u64 context;
        u8 prof_id;
-       u8 ptype_count;
-       u16 ptype[ICE_MAX_PTYPE_PER_PROFILE];
+       u8 ptg_cnt;
+       u8 ptg[ICE_MAX_PTG_PER_PROFILE];
 };
 
 #define ICE_INVALID_TCAM       0xFFFF
@@ -577,7 +579,7 @@ struct ice_xlt1 {
 
 /* Vsig bit layout:
  * [0:12]: incremental vsig index 1 to ICE_MAX_VSIGS
- * [13:15]: pf number of device
+ * [13:15]: PF number of device
  */
 #define ICE_VSIG_IDX_M (0x1FFF)
 #define ICE_PF_NUM_S   13
@@ -710,4 +712,12 @@ struct ice_chs_chg {
 
 #define ICE_FLOW_PTYPE_MAX             ICE_XLT1_CNT
 
+enum ice_prof_type {
+       ICE_PROF_NON_TUN = 0x1,
+       ICE_PROF_TUN_UDP = 0x2,
+       ICE_PROF_TUN_GRE = 0x4,
+       ICE_PROF_TUN_PPPOE = 0x8,
+       ICE_PROF_TUN_ALL = 0xE,
+       ICE_PROF_ALL = 0xFF,
+};
 #endif /* _ICE_FLEX_TYPE_H_ */