From 5e12d23acbda8871848c6221a4f14e5b7daff66f Mon Sep 17 00:00:00 2001 From: David Gibson Date: Fri, 22 Jul 2022 15:31:17 +1000 Subject: 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 [sbrivio: Whitespace fixes] Signed-off-by: Stefano Brivio --- udp.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'udp.c') diff --git a/udp.c b/udp.c index 98e3eaa..856429f 100644 --- a/udp.c +++ b/udp.c @@ -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; } -- cgit v1.2.3