vxlan: Possible regression in vxlan_rcv()

2 messages, 2 authors, 2021-11-24 · open the first message on its own page

vxlan: Possible regression in vxlan_rcv()

From: Fabian Frédérick <hidden>
Date: 2021-11-23 17:13:32

Hi,

    Last year I sent the following

2ae2904b5bac
("vxlan: don't collect metadata if remote checksum is wrong")


thinking it was an optimization and noticed it was managed in that order 
before patch

f14ecebb3a4e
("vxlan: clean up extension handling on rx")


    I was not able to create some script to test that code and had no 
feedback on it but lately, looking at it again I noticed that metadata 
sequence (if (vxlan_collect_metadata(vs))) was updating skb in 
skb_dst_set(skb, (struct dst_entry *)tun_dst); which was not the case 
during the clean up above.

   Can someone tell me if the update is really ok or how I could check 
that code ?
if VXLAN_F_REMCSUM_RX involves metadata checking I can ask to remove the 
patch.

Best regards,
Fabian

Re: vxlan: Possible regression in vxlan_rcv()

From: Jiri Benc <hidden>
Date: 2021-11-24 17:14:32

On Tue, 23 Nov 2021 18:13:26 +0100 (CET), Fabian Frédérick wrote:
   Can someone tell me if the update is really ok or how I could check 
that code ?
if VXLAN_F_REMCSUM_RX involves metadata checking I can ask to remove the 
patch.
I don't think it matters.

I doubt anyone is using remote checksum offloading (RCO). It was based
on a half thought-through idea. Local checksum offloading is superior,
it gives you the same performance for free, with full compatibility with
the base VXLAN standard. And even trying hard, I can't imagine anyone
could be using RCO with metadata dst.

I wouldn't object against removing RCO completely from VXLAN (and
moving the "generic" RCO pieces to net/ipv4/fou.c, which would become
its only user). It would simplify the code and I doubt anyone would
notice. I'm serious. Try googling for remcsumtx or remcsumrx and see
for yourself.

And, in case you still wonder, your patch seems fine to me. It's somehow
pointless, since it optimizes drops for an extension that nobody uses,
but it should not affect the code correctness. Probably. Whatever.

 Jiri
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help