On Thu, Nov 13, 2025 at 11:22:23PM +0100, Stefano Brivio wrote: > On Thu, 13 Nov 2025 12:34:13 +1100 > David Gibson wrote: > > > The --freebind option allows pasta to listen on addresses that aren't > > registered on the host, which has a number of use cases. However, we > > omitted this option for UDP "flow sockets" which are created once a flow > > is started, connect()ed specifically to the peer. Flow sockets are also > > bound, and if the peer has contacted a freebind address, we need > > IP_FREEBIND to do so. > > > > Link: https://bugs.passt.top/show_bug.cgi?id=174 > > > > Signed-off-by: David Gibson > > Applied. > > > --- > > util.c | 3 +-- > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > I'm still waiting on confirmation from the reporter that this actually > > fixes bug 174. However, I'm pretty sure this is _a_ correct fix, > > whether or not it's a complete fix for the issue seen by the reporter. > > >From https://bugs.passt.top/show_bug.cgi?id=174#c0: > > I can't downgrade passt/pasta to an earlier version or test patches in > my current setup Ah, missed that. > ...so I guess we'll have to guess... I guess we will. > > diff --git a/util.c b/util.c > > index 44c21a3e..ab23463b 100644 > > --- a/util.c > > +++ b/util.c > > @@ -67,9 +67,8 @@ int sock_l4_sa(const struct ctx *c, enum epoll_type type, > > freebind = c->freebind; > > break; > > case EPOLL_TYPE_UDP_LISTEN: > > - freebind = c->freebind; > > - /* fallthrough */ > > case EPOLL_TYPE_UDP: > > + freebind = c->freebind; > > proto = IPPROTO_UDP; > > socktype = SOCK_DGRAM | SOCK_NONBLOCK; > > break; > > -- > Stefano > -- David Gibson (he or they) | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you, not the other way | around. http://www.ozlabs.org/~dgibson