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
This commit is contained in:
@ -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++)
|
||||
{
|
||||
|
@ -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
|
||||
|
Reference in New Issue
Block a user