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/>

index | next in thread | previous in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269770

--- 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 call
LibAliasInLocked(), too.

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

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

home | help

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