Re: [PATCH] udp: resubmit encapsulation packets on all multicast listeners
Jakub Kicinski <[email protected]>
| Newsgroups | org.kernel.vger.netdev |
|---|---|
| Message-ID | <[email protected]> |
On Sat, 15 Aug 2026 11:11:28 -0300 Mariano Baragiola wrote:
> UDP encapsulation handlers (FOU/GUE and similar) return a positive
> protocol number from udp_queue_rcv_skb()/udpv6_queue_rcv_skb() when the
> UDP header has been consumed and the packet must be resubmitted to the
> IP protocol handler. Unicast paths already propagate that return value.
>
> Multicast delivery called consume_skb() on every positive return, so the
> inner packet was dropped instead of being reinjected.
>
> Commit 3cb8d4b9bfeb ("udp: fix encapsulation packet resubmit in multicast
> deliver") fixed only the primary ("first") socket path on net-next and is
> not yet in net. Secondary listeners still clone the skb and drop it on a
> positive return, and net itself still drops the primary socket path too.
Wait a week, rebase and repost against net.
> Resubmit secondary clones inline via ip_protocol_deliver_rcu() /
> ip6_protocol_deliver_rcu() (matching the GSO segment path in
> udp_queue_rcv_skb()/udpv6_queue_rcv_skb()), and propagate the primary
> socket return value with the same IPv4/IPv6 sign convention as the
> unicast helpers.
Please include in the commit description how the issue was found.