Hi, I'm using podman 2.2.1 rootless with slirp4netns and IPv6 enabled (--network slirp4netns:enable_ipv6=true). Straight after starting my container the code inside tries to connect to a server using IPv6 but fails due to the network being unreachable. However if I add a small delay before trying to connect it works. If I use IPv4 this seems to work right after the container is started, which of course still takes a few ms until the code is started. I can actually easily recreate the using podman 3.1.2 as well. this works: podman run -it --network slirp4netns:enable_ipv6=true --entrypoint bash fedora:34 -c "curl -v -4 https://www.google.com" this fails: podman run -it --network slirp4netns:enable_ipv6=true --entrypoint bash fedora:34 -c "curl -v -6 https://www.google.com" but works with a delay: podman run -it --network slirp4netns:enable_ipv6=true --entrypoint bash fedora:34 -c "sleep 2; curl -v -6 https://www.google.com" Is the network setup done after the container is already started and thus this needs to be expected? thanks, Hendrik
Hi Hendrik, I can reproduce this with podman v3.2.3 and slirp4netns v1.1.8+dev. Podman should only start the container when the network setup is done. Can you please open an issue on Github. Paul On Tue, Jul 27, 2021 at 10:55 AM Hendrik Haddorp <hendrik.haddorp@gmx.net> wrote:
Hi,
I'm using podman 2.2.1 rootless with slirp4netns and IPv6 enabled (--network slirp4netns:enable_ipv6=true). Straight after starting my container the code inside tries to connect to a server using IPv6 but fails due to the network being unreachable. However if I add a small delay before trying to connect it works. If I use IPv4 this seems to work right after the container is started, which of course still takes a few ms until the code is started.
I can actually easily recreate the using podman 3.1.2 as well.
this works: podman run -it --network slirp4netns:enable_ipv6=true --entrypoint bash fedora:34 -c "curl -v -4 https://www.google.com"
this fails: podman run -it --network slirp4netns:enable_ipv6=true --entrypoint bash fedora:34 -c "curl -v -6 https://www.google.com"
but works with a delay: podman run -it --network slirp4netns:enable_ipv6=true --entrypoint bash fedora:34 -c "sleep 2; curl -v -6 https://www.google.com"
Is the network setup done after the container is already started and thus this needs to be expected?
thanks, Hendrik _______________________________________________ Podman mailing list -- podman@lists.podman.io To unsubscribe send an email to podman-leave@lists.podman.io
Hi Paul, thanks for the verification. I opened https://github.com/containers/podman/issues/11062 On 7/27/21 3:05 PM, Paul Holzinger wrote:
Hi Hendrik,
I can reproduce this with podman v3.2.3 and slirp4netns v1.1.8+dev.
Podman should only start the container when the network setup is done. Can you please open an issue on Github.
Paul
On Tue, Jul 27, 2021 at 10:55 AM Hendrik Haddorp <hendrik.haddorp@gmx.net <mailto:hendrik.haddorp@gmx.net>> wrote:
Hi,
I'm using podman 2.2.1 rootless with slirp4netns and IPv6 enabled (--network slirp4netns:enable_ipv6=true). Straight after starting my container the code inside tries to connect to a server using IPv6 but fails due to the network being unreachable. However if I add a small delay before trying to connect it works. If I use IPv4 this seems to work right after the container is started, which of course still takes a few ms until the code is started.
I can actually easily recreate the using podman 3.1.2 as well.
this works: podman run -it --network slirp4netns:enable_ipv6=true --entrypoint bash fedora:34 -c "curl -v -4 https://www.google.com <https://www.google.com>"
this fails: podman run -it --network slirp4netns:enable_ipv6=true --entrypoint bash fedora:34 -c "curl -v -6 https://www.google.com <https://www.google.com>"
but works with a delay: podman run -it --network slirp4netns:enable_ipv6=true --entrypoint bash fedora:34 -c "sleep 2; curl -v -6 https://www.google.com <https://www.google.com>"
Is the network setup done after the container is already started and thus this needs to be expected?
thanks, Hendrik _______________________________________________ Podman mailing list -- podman@lists.podman.io <mailto:podman@lists.podman.io> To unsubscribe send an email to podman-leave@lists.podman.io <mailto:podman-leave@lists.podman.io>
On 7/27/21 04:48, Hendrik Haddorp wrote:
Hi,
I'm using podman 2.2.1 rootless with slirp4netns and IPv6 enabled (--network slirp4netns:enable_ipv6=true). Straight after starting my container the code inside tries to connect to a server using IPv6 but fails due to the network being unreachable. However if I add a small delay before trying to connect it works. If I use IPv4 this seems to work right after the container is started, which of course still takes a few ms until the code is started.
I can actually easily recreate the using podman 3.1.2 as well.
this works: podman run -it --network slirp4netns:enable_ipv6=true --entrypoint bash fedora:34 -c "curl -v -4 https://www.google.com"
this fails: podman run -it --network slirp4netns:enable_ipv6=true --entrypoint bash fedora:34 -c "curl -v -6 https://www.google.com"
but works with a delay: podman run -it --network slirp4netns:enable_ipv6=true --entrypoint bash fedora:34 -c "sleep 2; curl -v -6 https://www.google.com"
Is the network setup done after the container is already started and thus this needs to be expected?
thanks, Hendrik _______________________________________________ Podman mailing list -- podman@lists.podman.io To unsubscribe send an email to podman-leave@lists.podman.io
Matt or Paul PTAL?
participants (3)
-
Daniel Walsh -
Hendrik Haddorp -
Paul Holzinger