aboutgitcodebugslistschat
path: root/conf.c
diff options
context:
space:
mode:
authorStefano Brivio <sbrivio@redhat.com>2023-06-22 15:46:41 +0200
committerStefano Brivio <sbrivio@redhat.com>2023-06-25 23:49:25 +0200
commitd034fb698f2312c02642c539881b1c1e965fc8fe (patch)
treedded315866a48d7a24abbb3ec8d116db1f81986e /conf.c
parentdb29fd281a7555698472bf86a92d0c5a6827db96 (diff)
downloadpasst-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>
Diffstat (limited to 'conf.c')
-rw-r--r--conf.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/conf.c b/conf.c
index 87dec50..2aa0ae3 100644
--- a/conf.c
+++ b/conf.c
@@ -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) &&