aboutgitcodebugslistschat
path: root/fwd.c
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2024-08-21 14:20:11 +1000
committerStefano Brivio <sbrivio@redhat.com>2024-08-21 12:00:22 +0200
commit975cfa5f3255ae0ece3cdeda33675076b17be1c7 (patch)
tree079e312e66887f7c738ffe4be48fe60e6d5a0f77 /fwd.c
parent8d4baa4446c6482d66aa09dfcd6cdbe94f616f76 (diff)
downloadpasst-975cfa5f3255ae0ece3cdeda33675076b17be1c7.tar
passt-975cfa5f3255ae0ece3cdeda33675076b17be1c7.tar.gz
passt-975cfa5f3255ae0ece3cdeda33675076b17be1c7.tar.bz2
passt-975cfa5f3255ae0ece3cdeda33675076b17be1c7.tar.lz
passt-975cfa5f3255ae0ece3cdeda33675076b17be1c7.tar.xz
passt-975cfa5f3255ae0ece3cdeda33675076b17be1c7.tar.zst
passt-975cfa5f3255ae0ece3cdeda33675076b17be1c7.zip
Initialise our_tap_ll to ip6.gw when suitable
In every place we use our_tap_ll, we only use it as a fallback if the IPv6 gateway address is not link-local. We can avoid that conditional at use time by doing it at initialisation of our_tap_ll instead. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'fwd.c')
-rw-r--r--fwd.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/fwd.c b/fwd.c
index dccc947..75dc015 100644
--- a/fwd.c
+++ b/fwd.c
@@ -317,10 +317,7 @@ uint8_t fwd_nat_from_host(const struct ctx *c, uint8_t proto,
} else if (inany_is_loopback6(&tgt->oaddr) ||
inany_equals6(&tgt->oaddr, &c->ip6.addr_seen) ||
inany_equals6(&tgt->oaddr, &c->ip6.addr)) {
- if (IN6_IS_ADDR_LINKLOCAL(&c->ip6.gw))
- tgt->oaddr.a6 = c->ip6.gw;
- else
- tgt->oaddr.a6 = c->ip6.our_tap_ll;
+ tgt->oaddr.a6 = c->ip6.our_tap_ll;
}
if (inany_v4(&tgt->oaddr)) {