Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

octeontx2-af: Add support for RSS hashing based on Transport protocol field

Add support to choose RSS flow key algorithm with IPv4 transport protocol
field included in hashing input data. This will be enabled by default.
There-by enabling 3/5 tuple hash

Signed-off-by: Sunil Kovvuri Goutham <sgoutham@marvell.com>
Signed-off-by: George Cherian <george.cherian@marvell.com>
Link: https://lore.kernel.org/r/20201120093906.2873616-1-george.cherian@marvell.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

George Cherian and committed by
Jakub Kicinski
f9e425e9 5e087239

+10 -1
+1
drivers/net/ethernet/marvell/octeontx2/af/mbox.h
··· 716 716 #define NIX_FLOW_KEY_TYPE_INNR_SCTP BIT(16) 717 717 #define NIX_FLOW_KEY_TYPE_INNR_ETH_DMAC BIT(17) 718 718 #define NIX_FLOW_KEY_TYPE_VLAN BIT(20) 719 + #define NIX_FLOW_KEY_TYPE_IPV4_PROTO BIT(21) 719 720 u32 flowkey_cfg; /* Flowkey types selected */ 720 721 u8 group; /* RSS context or group */ 721 722 };
+7
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
··· 2626 2626 /* This should be set to 1, when SEL_CHAN is set */ 2627 2627 field->bytesm1 = 1; 2628 2628 break; 2629 + case NIX_FLOW_KEY_TYPE_IPV4_PROTO: 2630 + field->lid = NPC_LID_LC; 2631 + field->hdr_offset = 9; /* offset */ 2632 + field->bytesm1 = 0; /* 1 byte */ 2633 + field->ltype_match = NPC_LT_LC_IP; 2634 + field->ltype_mask = 0xF; 2635 + break; 2629 2636 case NIX_FLOW_KEY_TYPE_IPV4: 2630 2637 case NIX_FLOW_KEY_TYPE_INNR_IPV4: 2631 2638 field->lid = NPC_LID_LC;
+2 -1
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
··· 359 359 rss->flowkey_cfg = rss->enable ? rss->flowkey_cfg : 360 360 NIX_FLOW_KEY_TYPE_IPV4 | NIX_FLOW_KEY_TYPE_IPV6 | 361 361 NIX_FLOW_KEY_TYPE_TCP | NIX_FLOW_KEY_TYPE_UDP | 362 - NIX_FLOW_KEY_TYPE_SCTP | NIX_FLOW_KEY_TYPE_VLAN; 362 + NIX_FLOW_KEY_TYPE_SCTP | NIX_FLOW_KEY_TYPE_VLAN | 363 + NIX_FLOW_KEY_TYPE_IPV4_PROTO; 363 364 364 365 ret = otx2_set_flowkey_cfg(pfvf); 365 366 if (ret)