Anton Danilov wrote:
> On Wed, Jul 08, 2026 at 09:24:10PM -0400, Willem de Bruijn wrote:
> > This helps the case of one encap_rcv socket in the multicast receiver
> > group, so is a useful fix on its own.
> > 
> > But is Sashiko correct that this would still leave the same issue for
> > other sockets in the group? If so, something to address in this series
> > or leave for later?
> > 
> > Might be worthwhile to extend the test to capture that case too.
> 
> The clone loop is not reachable for encapsulation sockets, so there is
> no remaining gap.
> 
> FOU/GUE tunnel sockets are created via udp_sock_create() /
> setup_udp_tunnel_sock() and do not set SO_REUSEADDR or SO_REUSEPORT.
> Without either, a UDP socket cannot share its port, so an encap socket
> is always the only socket bound to its port. In
> __udp[46]_lib_mcast_deliver() it is therefore always delivered as
> 'first', and the clone loop -- which handles the second and subsequent
> sockets in the group -- never runs for it. The positive (resubmit)
> return from udp_queue_rcv_skb() only happens for encap sockets; plain
> UDP sockets return 0 or a negative value there. So the resubmit case
> in the clone loop cannot occur.
> 
> For the same reason a selftest cannot exercise it: a second socket
> cannot bind to the FOU port.
> 
> If useful, I can add a brief comment above the clone loop documenting
> why no resubmit is needed there.

Thanks for that context. No need to respin for that.

Reply via email to