ice: Extend PTYPE bitmap coverage for GTP encapsulated flows
Consolidate updates to the Protocol Type (PTYPE) bitmap definitions across multiple flow types in the Intel ICE driver to support GTP (GPRS Tunneling Protocol) encapsulated traffic. Enable improved Receive Side Scaling (RSS) configuration for both user and control plane GTP flows. Cover a wide range of protocol and encapsulation scenarios, including: - MAC OFOS and IL - IPv4 and IPv6 (OFOS, IL, ALL, no-L4) - TCP, SCTP, ICMP - GRE OF - GTPC (control plane) Expand the PTYPE bitmap entries to improve classification and distribution of GTP traffic across multiple queues, enhancing performance and scalability in mobile network environments. Co-developed-by: Dan Nowlin <dan.nowlin@intel.com> Signed-off-by: Dan Nowlin <dan.nowlin@intel.com> Co-developed-by: Qi Zhang <qi.z.zhang@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Co-developed-by: Jie Wang <jie1x.wang@intel.com> Signed-off-by: Jie Wang <jie1x.wang@intel.com> Co-developed-by: Junfeng Guo <junfeng.guo@intel.com> Signed-off-by: Junfeng Guo <junfeng.guo@intel.com> Signed-off-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> Reviewed-by: Jedrzej Jagielski <jedrzej.jagielski@intel.com> Reviewed-by: Simon Horman <horms@kernel.org> Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
committed by
Tony Nguyen
parent
f89e4e1512
commit
41e880eb84
@@ -220,9 +220,9 @@ struct ice_flow_field_info ice_flds_info[ICE_FLOW_FIELD_IDX_MAX] = {
|
||||
*/
|
||||
static const u32 ice_ptypes_mac_ofos[] = {
|
||||
0xFDC00846, 0xBFBF7F7E, 0xF70001DF, 0xFEFDFDFB,
|
||||
0x0000077E, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00400000, 0x03FFF000, 0x7FFFFFE0, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x0000077E, 0x000003FF, 0x00000000, 0x00000000,
|
||||
0x00400000, 0x03FFF000, 0xFFFFFFE0, 0x00000707,
|
||||
0xFFFFF000, 0x000003FF, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
@@ -245,10 +245,10 @@ static const u32 ice_ptypes_macvlan_il[] = {
|
||||
* include IPv4 other PTYPEs
|
||||
*/
|
||||
static const u32 ice_ptypes_ipv4_ofos[] = {
|
||||
0x1DC00000, 0x04000800, 0x00000000, 0x00000000,
|
||||
0x1D800000, 0xBFBF7800, 0x000001DF, 0x00000000,
|
||||
0x00000000, 0x00000155, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x000FC000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x000FC000, 0x000002A0, 0x00000000,
|
||||
0x00015000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
@@ -259,10 +259,10 @@ static const u32 ice_ptypes_ipv4_ofos[] = {
|
||||
* IPv4 other PTYPEs
|
||||
*/
|
||||
static const u32 ice_ptypes_ipv4_ofos_all[] = {
|
||||
0x1DC00000, 0x04000800, 0x00000000, 0x00000000,
|
||||
0x1D800000, 0x27BF7800, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000155, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x000FC000, 0x83E0F800, 0x00000101,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x000FC000, 0x83E0FAA0, 0x00000101,
|
||||
0x3FFD5000, 0x00000000, 0x02FBEFBC, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
@@ -274,7 +274,7 @@ static const u32 ice_ptypes_ipv4_il[] = {
|
||||
0xE0000000, 0xB807700E, 0x80000003, 0xE01DC03B,
|
||||
0x0000000E, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x001FF800, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0xC0FC0000, 0x0000000F, 0xBC0BC0BC, 0x00000BC0,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
@@ -285,10 +285,10 @@ static const u32 ice_ptypes_ipv4_il[] = {
|
||||
* include IPv6 other PTYPEs
|
||||
*/
|
||||
static const u32 ice_ptypes_ipv6_ofos[] = {
|
||||
0x00000000, 0x00000000, 0x77000000, 0x10002000,
|
||||
0x00000000, 0x00000000, 0x76000000, 0x10002000,
|
||||
0x00000000, 0x000002AA, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x03F00000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x03F00000, 0x00000540, 0x00000000,
|
||||
0x0002A000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
@@ -299,10 +299,10 @@ static const u32 ice_ptypes_ipv6_ofos[] = {
|
||||
* IPv6 other PTYPEs
|
||||
*/
|
||||
static const u32 ice_ptypes_ipv6_ofos_all[] = {
|
||||
0x00000000, 0x00000000, 0x77000000, 0x10002000,
|
||||
0x00000000, 0x000002AA, 0x00000000, 0x00000000,
|
||||
0x00080F00, 0x03F00000, 0x7C1F0000, 0x00000206,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x76000000, 0xFEFDE000,
|
||||
0x0000077E, 0x000002AA, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x03F00000, 0x7C1F0540, 0x00000206,
|
||||
0xC002A000, 0x000003FF, 0xBC000000, 0x0002FBEF,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
@@ -314,7 +314,7 @@ static const u32 ice_ptypes_ipv6_il[] = {
|
||||
0x00000000, 0x03B80770, 0x000001DC, 0x0EE00000,
|
||||
0x00000770, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x7FE00000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x3F000000, 0x000003F0, 0x02F02F00, 0x0002F02F,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
@@ -387,8 +387,8 @@ static const u32 ice_ptypes_ipv6_il_no_l4[] = {
|
||||
static const u32 ice_ptypes_udp_il[] = {
|
||||
0x81000000, 0x20204040, 0x04000010, 0x80810102,
|
||||
0x00000040, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00410000, 0x90842000, 0x00000007,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00410000, 0x908427E0, 0x00000007,
|
||||
0x0413F000, 0x00000041, 0x10410410, 0x00004104,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
@@ -400,7 +400,7 @@ static const u32 ice_ptypes_tcp_il[] = {
|
||||
0x04000000, 0x80810102, 0x10000040, 0x02040408,
|
||||
0x00000102, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00820000, 0x21084000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x08200000, 0x00000082, 0x20820820, 0x00008208,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
@@ -412,7 +412,7 @@ static const u32 ice_ptypes_sctp_il[] = {
|
||||
0x08000000, 0x01020204, 0x20000081, 0x04080810,
|
||||
0x00000204, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x01040000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x10400000, 0x00000104, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
@@ -436,7 +436,7 @@ static const u32 ice_ptypes_icmp_il[] = {
|
||||
0x00000000, 0x02040408, 0x40000102, 0x08101020,
|
||||
0x00000408, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x42108000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x20800000, 0x00000208, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
@@ -448,7 +448,7 @@ static const u32 ice_ptypes_gre_of[] = {
|
||||
0x00000000, 0xBFBF7800, 0x000001DF, 0xFEFDE000,
|
||||
0x0000017E, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0xBEFBEFBC, 0x0002FBEF,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
@@ -457,7 +457,7 @@ static const u32 ice_ptypes_gre_of[] = {
|
||||
|
||||
/* Packet types for packets with an Innermost/Last MAC header */
|
||||
static const u32 ice_ptypes_mac_il[] = {
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x20000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
@@ -471,7 +471,7 @@ static const u32 ice_ptypes_mac_il[] = {
|
||||
static const u32 ice_ptypes_gtpc[] = {
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000180, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x000001E0, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
|
||||
Reference in New Issue
Block a user