Thread (9 messages) 9 messages, 3 authors, 2017-08-25

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-L197
Sigh.  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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help