Re: [PATCH nf-next] netfilter: xt_CHECKSUM: avoid bad offload warnings on GSO packets
flat view
From: Florian Westphal <fw@strlen.de>
Date: 2017-08-25 09:46:26
Also in:
lkml, netfilter-devel
Florian Westphal [off-list ref] wrote:
Michal Kubecek [off-list ref] wrote:quoted
On Thu, Aug 24, 2017 at 03:17:22PM +0200, Florian Westphal wrote:quoted
Davide Caratti [off-list ref] wrote:quoted
Small nit: may I suggest you to call skb_csum_hwoffload_help() instead of skb_checksum_help(), so that we avoid corrupting SCTP packets in case they hit xt_CHECKSUM target?Alternatively we could restrict the target to udp only. AFAIU the only reason this thing exists is to fix up udp checksum for old dhcp clients that use AF_PACKET without evaluating the extra metadata that indicates when a 'bad' checksum is in fact ok because it is supposed to be filled in by hardware later. This can happen in virtual environemnt when such skb is directly passed to vm.Based on what the documentation and the commit message of the commit introducing xt_CHECKSUM module say, it seems so. But I must admit I'm not sure where is the target is used and how (and why). In particular, our issue was most likely result of https://github.com/openstack/openstack-ansible-tests/blob/master/test-prepare-host.yml#L196-L197Sigh. Ok, that pretty much leaves your patch as the only viable option, however, I still think the warning isn't useful.
Addendum: for net-next it makes sense to restrict this to udp and tcp to avoid spreading this to sctp and other protocols. We will however need to be lazy and can't just restrict it in checkentry (as it might break existing config). We could print a warning and have the target function ignores protocols other than tcp and udp.