diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2022-07-22 15:31:18 +1000 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2022-07-30 22:14:07 +0200 |
commit | 16f5586bb811dd344c3bbeadc88f30568986adbc (patch) | |
tree | 5ddf4027edb4867adb94dcd62870d9d9a6f3ac49 /pasta.c | |
parent | 5e12d23acbda8871848c6221a4f14e5b7daff66f (diff) | |
download | passt-16f5586bb811dd344c3bbeadc88f30568986adbc.tar passt-16f5586bb811dd344c3bbeadc88f30568986adbc.tar.gz passt-16f5586bb811dd344c3bbeadc88f30568986adbc.tar.bz2 passt-16f5586bb811dd344c3bbeadc88f30568986adbc.tar.lz passt-16f5586bb811dd344c3bbeadc88f30568986adbc.tar.xz passt-16f5586bb811dd344c3bbeadc88f30568986adbc.tar.zst passt-16f5586bb811dd344c3bbeadc88f30568986adbc.zip |
Make substructures for IPv4 and IPv6 specific context information
The context structure contains a batch of fields specific to IPv4 and to
IPv6 connectivity. Split those out into a sub-structure.
This allows the conf_ip4() and conf_ip6() functions, which take the
entire context but touch very little of it, to be given more specific
parameters, making it clearer what it affects without stepping through the
code.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'pasta.c')
-rw-r--r-- | pasta.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -196,17 +196,17 @@ void pasta_ns_conf(struct ctx *c) nl_link(1, c->pasta_ifi, c->mac_guest, 1, c->mtu); if (c->ifi4) { - prefix_len = __builtin_popcount(c->mask4); - nl_addr(1, c->pasta_ifi, AF_INET, &c->addr4, + prefix_len = __builtin_popcount(c->ip4.mask); + nl_addr(1, c->pasta_ifi, AF_INET, &c->ip4.addr, &prefix_len, NULL); - nl_route(1, c->pasta_ifi, AF_INET, &c->gw4); + nl_route(1, c->pasta_ifi, AF_INET, &c->ip4.gw); } if (c->ifi6) { prefix_len = 64; - nl_addr(1, c->pasta_ifi, AF_INET6, &c->addr6, + nl_addr(1, c->pasta_ifi, AF_INET6, &c->ip6.addr, &prefix_len, NULL); - nl_route(1, c->pasta_ifi, AF_INET6, &c->gw6); + nl_route(1, c->pasta_ifi, AF_INET6, &c->ip6.gw); } } else { nl_link(1, c->pasta_ifi, c->mac_guest, 0, 0); |