aboutgitcodebugslistschat
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2023-12-08 01:31:34 +1100
committerStefano Brivio <sbrivio@redhat.com>2023-12-27 19:29:45 +0100
commit546332786cee921213fc59db6207be23c2d70208 (patch)
tree40631707f45da1f97d524fdd845f9c29f3477f9a
parent1f2aab8aaaa5f3a5d1bd712173187c92986f753b (diff)
downloadpasst-546332786cee921213fc59db6207be23c2d70208.tar
passt-546332786cee921213fc59db6207be23c2d70208.tar.gz
passt-546332786cee921213fc59db6207be23c2d70208.tar.bz2
passt-546332786cee921213fc59db6207be23c2d70208.tar.lz
passt-546332786cee921213fc59db6207be23c2d70208.tar.xz
passt-546332786cee921213fc59db6207be23c2d70208.tar.zst
passt-546332786cee921213fc59db6207be23c2d70208.zip
treewide: Use IN4ADDR_LOOPBACK_INIT more widely
We already define IN4ADDR_LOOPBACK_INIT to initialise a struct in_addr to the loopback address without delving into its internals. However there are some places we don't use it, and explicitly look at the internal structure of struct in_addr, which we generally want to avoid. Use the define more widely to avoid that. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
-rw-r--r--tcp.c2
-rw-r--r--tcp_splice.c2
-rw-r--r--udp.c4
3 files changed, 4 insertions, 4 deletions
diff --git a/tcp.c b/tcp.c
index f62b910..8e3a4c5 100644
--- a/tcp.c
+++ b/tcp.c
@@ -2976,7 +2976,7 @@ static void tcp_ns_sock_init4(const struct ctx *c, in_port_t port)
.port = port + c->tcp.fwd_out.delta[port],
.pif = PIF_SPLICE,
};
- struct in_addr loopback = { htonl(INADDR_LOOPBACK) };
+ struct in_addr loopback = IN4ADDR_LOOPBACK_INIT;
int s;
ASSERT(c->mode == MODE_PASTA);
diff --git a/tcp_splice.c b/tcp_splice.c
index 69ea79d..1655f8e 100644
--- a/tcp_splice.c
+++ b/tcp_splice.c
@@ -347,7 +347,7 @@ static int tcp_splice_connect(const struct ctx *c, struct tcp_splice_conn *conn,
struct sockaddr_in addr4 = {
.sin_family = AF_INET,
.sin_port = htons(port),
- .sin_addr = { .s_addr = htonl(INADDR_LOOPBACK) },
+ .sin_addr = IN4ADDR_LOOPBACK_INIT,
};
const struct sockaddr *sa;
socklen_t sl;
diff --git a/udp.c b/udp.c
index 1f8c306..489a843 100644
--- a/udp.c
+++ b/udp.c
@@ -429,7 +429,7 @@ int udp_splice_new(const struct ctx *c, int v6, in_port_t src, bool ns)
struct sockaddr_in addr4 = {
.sin_family = AF_INET,
.sin_port = htons(src),
- .sin_addr = { .s_addr = htonl(INADDR_LOOPBACK) },
+ .sin_addr = IN4ADDR_LOOPBACK_INIT,
};
if (bind(s, (struct sockaddr *)&addr4, sizeof(addr4)))
goto fail;
@@ -1012,7 +1012,7 @@ int udp_sock_init(const struct ctx *c, int ns, sa_family_t af,
udp_tap_map[V4][uref.port].sock = s < 0 ? -1 : s;
udp_splice_init[V4][port].sock = s < 0 ? -1 : s;
} else {
- struct in_addr loopback = { htonl(INADDR_LOOPBACK) };
+ struct in_addr loopback = IN4ADDR_LOOPBACK_INIT;
r4 = s = sock_l4(c, AF_INET, IPPROTO_UDP, &loopback,
ifname, port, uref.u32);