On Sun, Jul 26, 2020 at 6:42 AM Willem de Bruijn <willemdebruijn.ker...@gmail.com> wrote: > > On Sat, Jul 25, 2020 at 7:08 PM Han <keepsim...@gmail.com> wrote: > > > > My apologies if this is not the right place to ask this question. > > > > I'm trying to use UDP GSO to improve the throughput. My testing shows > > that UDP GSO works with the local server (i.e. loopback interface) but > > fails with a remote server (in WLAN, via wlan0 interface). > > > > My question is: do I need to explicitly enable UDP GSO for wlan0 > > interface? If yes, how do I do it? I searched online but could not > > find a good answer. I looked at "ethtool" but not clear which option > > to use: > > > > $ ethtool --show-offload wlan0 | grep -i generic-segment > > generic-segmentation-offload: off [requested on] > > Which wireless driver does your device use. Does it have tx checksum offload?
It seems to be "brcmfmac" : $ readlink /sys/class/net/wlan0/device/driver ../../../../../../../../bus/sdio/drivers/brcmfmac I think tx checksum offload is off, and I couldn't turn it on. Does "[fixed]" mean it cannot be changed? $ ethtool --show-offload wlan0 | grep -i sum rx-checksumming: off [fixed] tx-checksumming: off tx-checksum-ipv4: off [fixed] tx-checksum-ip-generic: off [fixed] tx-checksum-ipv6: off [fixed] tx-checksum-fcoe-crc: off [fixed] tx-checksum-sctp: off [fixed] tx-gre-csum-segmentation: off [fixed] tx-udp_tnl-csum-segmentation: off [fixed] esp-tx-csum-hw-offload: off [fixed] Tried this but didn't work: $ sudo ethtool --offload wlan0 tx on Cannot change tx-checksumming Could not change any device features $ sudo ethtool -K wlan0 tx-checksum-ipv4 on Could not change any device features > That is a hard requirement. In udp_send_skb: > > if (skb->ip_summed != CHECKSUM_PARTIAL || is_udplite || > dst_xfrm(skb_dst(skb))) { > kfree_skb(skb); > return -EIO; > } > > > $ ethtool --show-offload wlan0 | grep -i udp-segment > > tx-udp-segmentation: off [fixed] > > This is hardware segmentation offload. It is not required.