参考
tcpdump/WiresharkでMTU(=1500)より大きいLengthのパケットがキャプチャされる原因 | SEの道標
TSO(TCP Segmentation Offload)について - hana_shinのLinux技術ブログ
【図解】TCP のオプションと仕組み 〜SACK, Timestamp(PAWS), Window Scale, MSS〜 | SEの道標
TSO(TCPセグメンテーションオフロード / LSO)とは - 意味をわかりやすく - IT用語辞典 e-Words
メモ
・LSO(送信時)だけでなく、LRO(受信時)もある。
・大きなファイル受信時も動くらしい。
TCPセグメンテーションオフロード無効化
# ethtool -K enp0s3 tso off gso off
Ubuntu 22.04.1 LTSのデフォルトのオフロード設定
# ethtool -k enp0s25 Features for enp0s25: rx-checksumming: on tx-checksumming: on tx-checksum-ipv4: off [fixed] tx-checksum-ip-generic: on tx-checksum-ipv6: off [fixed] tx-checksum-fcoe-crc: off [fixed] tx-checksum-sctp: off [fixed] scatter-gather: on tx-scatter-gather: on tx-scatter-gather-fraglist: off [fixed] tcp-segmentation-offload: on tx-tcp-segmentation: on tx-tcp-ecn-segmentation: off [fixed] tx-tcp-mangleid-segmentation: off tx-tcp6-segmentation: on generic-segmentation-offload: on generic-receive-offload: on large-receive-offload: off [fixed] rx-vlan-offload: on tx-vlan-offload: on ntuple-filters: off [fixed] receive-hashing: on highdma: on [fixed] rx-vlan-filter: off [fixed] vlan-challenged: off [fixed] tx-lockless: off [fixed] netns-local: off [fixed] tx-gso-robust: off [fixed] tx-fcoe-segmentation: off [fixed] tx-gre-segmentation: off [fixed] tx-gre-csum-segmentation: off [fixed] tx-ipxip4-segmentation: off [fixed] tx-ipxip6-segmentation: off [fixed] tx-udp_tnl-segmentation: off [fixed] tx-udp_tnl-csum-segmentation: off [fixed] tx-gso-partial: off [fixed] tx-tunnel-remcsum-segmentation: off [fixed] tx-sctp-segmentation: off [fixed] tx-esp-segmentation: off [fixed] tx-udp-segmentation: off [fixed] tx-gso-list: off [fixed] fcoe-mtu: off [fixed] tx-nocache-copy: off loopback: off [fixed] rx-fcs: off rx-all: off tx-vlan-stag-hw-insert: off [fixed] rx-vlan-stag-hw-parse: off [fixed] rx-vlan-stag-filter: off [fixed] l2-fwd-offload: off [fixed] hw-tc-offload: off [fixed] esp-hw-offload: off [fixed] esp-tx-csum-hw-offload: off [fixed] rx-udp_tunnel-port-offload: off [fixed] tls-hw-tx-offload: off [fixed] tls-hw-rx-offload: off [fixed] rx-gro-hw: off [fixed] tls-hw-record: off [fixed] rx-gro-list: off macsec-hw-offload: off [fixed] rx-udp-gro-forwarding: off hsr-tag-ins-offload: off [fixed] hsr-tag-rm-offload: off [fixed] hsr-fwd-offload: off [fixed] hsr-dup-offload: off [fixed]
manで確認したパラメタ
-K --features --offload Changes the offload parameters and other features of the specified network device. The following feature names are built-in and others may be defined by the kernel. rx on|off Specifies whether RX checksumming should be enabled. tx on|off Specifies whether TX checksumming should be enabled. sg on|off Specifies whether scatter-gather should be enabled. tso on|off Specifies whether TCP segmentation offload should be enabled. ufo on|off Specifies whether UDP fragmentation offload should be enabled gso on|off Specifies whether generic segmentation offload should be enabled gro on|off Specifies whether generic receive offload should be enabled lro on|off Specifies whether large receive offload should be enabled rxvlan on|off Specifies whether RX VLAN acceleration should be enabled txvlan on|off Specifies whether TX VLAN acceleration should be enabled ntuple on|off Specifies whether Rx ntuple filters and actions should be enabled rxhash on|off Specifies whether receive hashing offload should be enabled