1
0
Fork 0
mirror of https://passt.top/passt synced 2025-06-13 02:55:34 +02:00

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>
This commit is contained in:
David Gibson 2022-07-22 15:31:17 +10:00 committed by Stefano Brivio
parent c984ee5afd
commit 5e12d23acb
7 changed files with 108 additions and 100 deletions

View file

@ -365,10 +365,10 @@ int main(int argc, char **argv)
proto_update_l2_buf(c.mac_guest, c.mac, &c.addr4);
if (c.v4 && !c.no_dhcp)
if (c.ifi4 && !c.no_dhcp)
dhcp_init();
if (c.v6 && !c.no_dhcpv6)
if (c.ifi6 && !c.no_dhcpv6)
dhcpv6_init(&c);
if (c.debug)