diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2022-07-22 15:31:17 +1000 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2022-07-30 22:12:50 +0200 |
commit | 5e12d23acbda8871848c6221a4f14e5b7daff66f (patch) | |
tree | 7f171e09937df535be0dc2c78c097b9681ffdf68 /udp.c | |
parent | c984ee5afdd84098fc103e110f4501d0ea196fe8 (diff) | |
download | passt-5e12d23acbda8871848c6221a4f14e5b7daff66f.tar passt-5e12d23acbda8871848c6221a4f14e5b7daff66f.tar.gz passt-5e12d23acbda8871848c6221a4f14e5b7daff66f.tar.bz2 passt-5e12d23acbda8871848c6221a4f14e5b7daff66f.tar.lz passt-5e12d23acbda8871848c6221a4f14e5b7daff66f.tar.xz passt-5e12d23acbda8871848c6221a4f14e5b7daff66f.tar.zst passt-5e12d23acbda8871848c6221a4f14e5b7daff66f.zip |
Separate IPv4 and IPv6 configuration
After recent changes, conf_ip() now has essentially entirely disjoint paths
for IPv4 and IPv6 configuration. So, it's cleaner to split them out into
different functions conf_ip4() and conf_ip6().
Splitting these out also lets us make the interface a bit nicer, having
them return success or failure directly, rather than manipulating c->v4
and c->v6 to indicate success/failure of the two versions.
Since these functions may also initialize the interface index for each
protocol, it turns out we can then drop c->v4 and c->v6 entirely, replacing
tests on those with tests on whether c->ifi4 or c->ifi6 is non-zero (since
a 0 interface index is never valid).
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
[sbrivio: Whitespace fixes]
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'udp.c')
-rw-r--r-- | udp.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -1266,10 +1266,10 @@ static void udp_splice_iov_init(void) */ int udp_init(const struct ctx *c) { - if (c->v4) + if (c->ifi4) udp_sock4_iov_init(); - if (c->v6) + if (c->ifi6) udp_sock6_iov_init(); if (c->mode == MODE_PASTA) { @@ -1341,7 +1341,7 @@ void udp_timer(struct ctx *c, const struct timespec *ts) unsigned int i; long *word, tmp; - if (!c->v4) + if (!c->ifi4) v6 = 1; v6: for (t = 0; t < UDP_ACT_TYPE_MAX; t++) { @@ -1356,7 +1356,7 @@ v6: } } - if (!v6 && c->v6) { + if (!v6 && c->ifi6) { v6 = 1; goto v6; } |