Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Aug 2024 06:51:26 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 269770] libalias udp redirect_port temporary translation failure
Message-ID:  <bug-269770-227-r9TkTbAJaY@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-269770-227@https.bugs.freebsd.org/bugzilla/>
References:  <bug-269770-227@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D269770

--- Comment #7 from Eugene Grosbein <eugen@freebsd.org> ---
(In reply to Peter Much from comment #6)

> the logic when and how this happens is unintellegible

In case of ipfw nat:

1) When "ipfw nat" rule processes packets in-kernel, a packet is passed to
ipfw_nat_ptr() that points to ipfw_nat() function in
sys/netpfil/ipfw/ip_fw_nat.c

2) ipfw_nat() can call LibAliasOut(), LibAliasOutTry() or LibAliasIn().
2.1) LibAliasIn() calls LibAliasInLocked().
2.2) LibAliasOut() and LibAliasOutTry() call LibAliasOutLocked() than can c=
all
LibAliasInLocked(), too.

3) So we end up in LibAliasInLocked() or LibAliasOutLocked() and both call
HouseKeeping() function sometimes (not every time) calls CleanupLink(la, &l=
nk,
0) to remove expired links but it is not supposed to touch permanent links =
we
have configured for port forwarding.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-269770-227-r9TkTbAJaY>