diff options
author | Stefano Brivio <sbrivio@redhat.com> | 2023-06-22 15:46:41 +0200 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2023-06-25 23:49:25 +0200 |
commit | d034fb698f2312c02642c539881b1c1e965fc8fe (patch) | |
tree | dded315866a48d7a24abbb3ec8d116db1f81986e | |
parent | db29fd281a7555698472bf86a92d0c5a6827db96 (diff) | |
download | passt-d034fb698f2312c02642c539881b1c1e965fc8fe.tar passt-d034fb698f2312c02642c539881b1c1e965fc8fe.tar.gz passt-d034fb698f2312c02642c539881b1c1e965fc8fe.tar.bz2 passt-d034fb698f2312c02642c539881b1c1e965fc8fe.tar.lz passt-d034fb698f2312c02642c539881b1c1e965fc8fe.tar.xz passt-d034fb698f2312c02642c539881b1c1e965fc8fe.tar.zst passt-d034fb698f2312c02642c539881b1c1e965fc8fe.zip |
conf: Make -a/--address really imply --no-copy-addrs
I wrote it in commit message and man page, but not in conf()...
Note that -g/--gateway correctly implies --no-copy-routes already.
This fixes Podman's tests:
podman networking with pasta(1) - IPv4 address assignment
podman networking with pasta(1) - IPv4 default route assignment
where we pass -a and -g to assign an address and a default gateway
that's compatible with it, but -a doesn't disable the copy of
addresses, so we ignore -a, and the default gateway is incompatible
with the addresses we copy -- hence no routes in the container.
Link: https://github.com/containers/podman/pull/18612
Fixes: cc9d16758be6 ("conf, pasta: With --config-net, copy all addresses by default")
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
-rw-r--r-- | conf.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -1481,6 +1481,9 @@ void conf(struct ctx *c, int argc, char **argv) break; case 'a': + if (c->mode == MODE_PASTA) + c->no_copy_addrs = 1; + if (IN6_IS_ADDR_UNSPECIFIED(&c->ip6.addr) && inet_pton(AF_INET6, optarg, &c->ip6.addr) && !IN6_IS_ADDR_UNSPECIFIED(&c->ip6.addr) && |