conf, netlink: Don't require a default route to start
There might be isolated testing environments where default routes and global connectivity are not needed, a single interface has all non-loopback addresses and routes, and still passt and pasta are expected to work. In this case, it's pretty obvious what our upstream interface should be, so go ahead and select the only interface with at least one route, disabling DHCP and implying --no-map-gw as the documentation already states. If there are multiple interfaces with routes, though, refuse to start, because at that point it's really not clear what we should do. Reported-by: Martin Pitt <mpitt@redhat.com> Link: https://github.com/containers/podman/issues/21896 Signed-off-by: Stefano brivio <sbrivio@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
4
conf.c
4
conf.c
@@ -584,7 +584,7 @@ static unsigned int conf_ip4(unsigned int ifi,
|
||||
ifi = nl_get_ext_if(nl_sock, AF_INET);
|
||||
|
||||
if (!ifi) {
|
||||
info("No interface with a default route for IPv4: disabling IPv4");
|
||||
info("No interface with a route for IPv4: disabling IPv4");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -656,7 +656,7 @@ static unsigned int conf_ip6(unsigned int ifi,
|
||||
ifi = nl_get_ext_if(nl_sock, AF_INET6);
|
||||
|
||||
if (!ifi) {
|
||||
info("No interface with a default route for IPv6: disabling IPv6");
|
||||
info("No interface with a route for IPv6: disabling IPv6");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user