aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/avf
diff options
context:
space:
mode:
authorTing Xu <ting.xu@intel.com>2023-02-02 02:06:12 +0000
committerDamjan Marion <dmarion@0xa5.net>2023-02-08 10:09:04 +0000
commit26d841870f5ad5d14883ec1b69c381f4b73cb279 (patch)
tree552437c79e00436b5210a1b2d495ef282e5d50f1 /src/plugins/avf
parentdc95634a237419433b8189bf41b3968640b1f97e (diff)
avf: fix checksum offload configuration
Fix some configurations of avf checksum offload to get the correct udp and tcp checksum. Change Tx checksum offload capability since avf supports ipv4, tcp and udp offload all. Remove the operation to swap bit of checksum. Type: fix Signed-off-by: Ting Xu <ting.xu@intel.com> Change-Id: I55a916cc9ee6bef5b2074b5b6bb5f517fc2c178d
Diffstat (limited to 'src/plugins/avf')
-rw-r--r--src/plugins/avf/device.c2
-rw-r--r--src/plugins/avf/output.c2
2 files changed, 1 insertions, 3 deletions
diff --git a/src/plugins/avf/device.c b/src/plugins/avf/device.c
index b0f6244cdaf..c405d2e31d1 100644
--- a/src/plugins/avf/device.c
+++ b/src/plugins/avf/device.c
@@ -1763,7 +1763,7 @@ avf_create_if (vlib_main_t * vm, avf_create_if_args_t * args)
/* set hw interface caps */
vnet_hw_if_set_caps (vnm, ad->hw_if_index,
VNET_HW_IF_CAP_INT_MODE | VNET_HW_IF_CAP_MAC_FILTER |
- VNET_HW_IF_CAP_L4_TX_CKSUM | VNET_HW_IF_CAP_TCP_GSO);
+ VNET_HW_IF_CAP_TX_CKSUM | VNET_HW_IF_CAP_TCP_GSO);
for (i = 0; i < ad->n_rx_queues; i++)
{
diff --git a/src/plugins/avf/output.c b/src/plugins/avf/output.c
index 8cc76a6c47b..116b055d8a0 100644
--- a/src/plugins/avf/output.c
+++ b/src/plugins/avf/output.c
@@ -123,8 +123,6 @@ avf_tx_prepare_cksum (vlib_buffer_t * b, u8 is_tso)
sum = ~clib_ip_csum ((u8 *) &psh, sizeof (psh));
}
- /* ip_csum does a byte swap for some reason... */
- sum = clib_net_to_host_u16 (sum);
if (is_tcp)
tcp->checksum = sum;
else