]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
ibmvnic: Fix IP offload control buffer
authorThomas Falcon <tlfalcon@linux.vnet.ibm.com>
Fri, 19 Jan 2018 01:05:01 +0000 (19:05 -0600)
committerDavid S. Miller <davem@davemloft.net>
Fri, 19 Jan 2018 02:19:05 +0000 (21:19 -0500)
Set some missing fields in the IP control offload buffer. This buffer is
used to enable checksum and TCP segmentation offload in the VNIC server.
The buffer length field and the checksum offloading bits were not set
properly, so fix that here.

Signed-off-by: Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ibm/ibmvnic.c

index 4b3df17c7a457da545cf8b0e1d5c13f70e41a855..0a3a844f6473673b709eaae406ee97b8e23e627b 100644 (file)
@@ -3346,7 +3346,11 @@ static void handle_query_ip_offload_rsp(struct ibmvnic_adapter *adapter)
                return;
        }
 
+       adapter->ip_offload_ctrl.len =
+           cpu_to_be32(sizeof(adapter->ip_offload_ctrl));
        adapter->ip_offload_ctrl.version = cpu_to_be32(INITIAL_VERSION_IOB);
+       adapter->ip_offload_ctrl.ipv4_chksum = buf->ipv4_chksum;
+       adapter->ip_offload_ctrl.ipv6_chksum = buf->ipv6_chksum;
        adapter->ip_offload_ctrl.tcp_ipv4_chksum = buf->tcp_ipv4_chksum;
        adapter->ip_offload_ctrl.udp_ipv4_chksum = buf->udp_ipv4_chksum;
        adapter->ip_offload_ctrl.tcp_ipv6_chksum = buf->tcp_ipv6_chksum;