Skip to content

Commit 79d124b

Browse files
Ronak Doshidavem330
authored andcommitted
vmxnet3: add support for ESP IPv6 RSS
Vmxnet3 version 4 added support for ESP RSS. However, only IPv4 was supported. With vmxnet3 version 6, this patch enables RSS for ESP IPv6 packets as well. Signed-off-by: Ronak Doshi <[email protected]> Acked-by: Guolin Yang <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 15ccf2f commit 79d124b

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

drivers/net/vmxnet3/vmxnet3_ethtool.c

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -787,6 +787,10 @@ vmxnet3_get_rss_hash_opts(struct vmxnet3_adapter *adapter,
787787
case AH_ESP_V6_FLOW:
788788
case AH_V6_FLOW:
789789
case ESP_V6_FLOW:
790+
if (VMXNET3_VERSION_GE_6(adapter) &&
791+
(rss_fields & VMXNET3_RSS_FIELDS_ESPIP6))
792+
info->data |= RXH_L4_B_0_1 | RXH_L4_B_2_3;
793+
fallthrough;
790794
case SCTP_V6_FLOW:
791795
case IPV6_FLOW:
792796
info->data |= RXH_IP_SRC | RXH_IP_DST;
@@ -871,6 +875,22 @@ vmxnet3_set_rss_hash_opt(struct net_device *netdev,
871875
case ESP_V6_FLOW:
872876
case AH_V6_FLOW:
873877
case AH_ESP_V6_FLOW:
878+
if (!VMXNET3_VERSION_GE_6(adapter))
879+
return -EOPNOTSUPP;
880+
if (!(nfc->data & RXH_IP_SRC) ||
881+
!(nfc->data & RXH_IP_DST))
882+
return -EINVAL;
883+
switch (nfc->data & (RXH_L4_B_0_1 | RXH_L4_B_2_3)) {
884+
case 0:
885+
rss_fields &= ~VMXNET3_RSS_FIELDS_ESPIP6;
886+
break;
887+
case (RXH_L4_B_0_1 | RXH_L4_B_2_3):
888+
rss_fields |= VMXNET3_RSS_FIELDS_ESPIP6;
889+
break;
890+
default:
891+
return -EINVAL;
892+
}
893+
break;
874894
case SCTP_V4_FLOW:
875895
case SCTP_V6_FLOW:
876896
if (!(nfc->data & RXH_IP_SRC) ||

0 commit comments

Comments
 (0)