podman/pkg
aleks-mariusz 8d12f19371
allow switching of port-forward approaches in rootless/using slirp4netns
As of podman 1.8.0, because of commit da7595a, the default approach of providing
port-forwarding in rootless mode has switched (and been hard-coded) to rootlessport,
for the purpose of providing super performance. The side-effect of this switch is
source within the container to the port-forwarded service always appears to originate
from 127.0.0.1 (see issue #5138).

This commit allows a user to specify if they want to revert to the previous approach
of leveraging slirp4netns add_hostfwd() api which, although not as stellar performance,
restores usefulness of seeing incoming traffic origin IP addresses.

The change should be transparent; when not specified, rootlessport will continue to be
used, however if specifying --net slirp4netns:slirplisten the old approach will be used.

Note: the above may imply the restored port-forwarding via slirp4netns is not as
performant as the new rootlessport approach, however the figures shared in the original
commit that introduced rootlessport are as follows:
slirp4netns: 8.3 Gbps,
RootlessKit: 27.3 Gbps,
which are more than sufficient for many use cases where the origin of traffic is more
important than limits that cannot be reached due to bottlenecks elsewhere.

Signed-off-by: Aleks Mariusz <m.k@alek.cx>
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-07-15 08:04:35 +02:00
..
annotations Add `ContainerManager` annotation to created containers 2019-09-10 09:37:14 +02:00
api Fix handling of entrypoint 2020-07-14 13:10:03 -04:00
auth compat handlers: add X-Registry-Auth header support 2020-05-29 15:39:37 +02:00
autoupdate move go module to v2 2020-07-06 15:50:12 +02:00
bindings Correctly print STDOUT on non-terminal remote exec 2020-07-10 17:15:33 -04:00
cgroups move go module to v2 2020-07-06 15:50:12 +02:00
channelwriter account for varlink calls that dont use more 2019-07-10 08:50:05 -05:00
checkpoint move go module to v2 2020-07-06 15:50:12 +02:00
criu Add helper function to read out CRIU version 2018-10-23 12:52:03 +02:00
ctime Re-add int64 casts for ctime 2019-07-23 15:43:40 -04:00
domain Fix container and pod create commands for remote create 2020-07-10 11:22:23 -04:00
env make env handling os dependent 2020-06-02 08:28:08 -05:00
errorhandling image removal: refactor part 2 2020-05-04 16:01:45 +02:00
hooks move go module to v2 2020-07-06 15:50:12 +02:00
inspect move go module to v2 2020-07-06 15:50:12 +02:00
kubeutils Remove dependency on kubernetes 2018-03-27 21:55:33 +00:00
lookup Turn on More linters 2020-06-15 07:05:56 -04:00
namespaces allow switching of port-forward approaches in rootless/using slirp4netns 2020-07-15 08:04:35 +02:00
netns move go module to v2 2020-07-06 15:50:12 +02:00
network move go module to v2 2020-07-06 15:50:12 +02:00
parallel move go module to v2 2020-07-06 15:50:12 +02:00
ps move go module to v2 2020-07-06 15:50:12 +02:00
registrar move go module to v2 2020-07-06 15:50:12 +02:00
registries move go module to v2 2020-07-06 15:50:12 +02:00
resolvconf move go module to v2 2020-07-06 15:50:12 +02:00
rootless move go module to v2 2020-07-06 15:50:12 +02:00
rootlessport rootlessport: use two different channels 2020-04-29 12:35:23 +02:00
seccomp apiv2 container create using specgen 2020-02-19 15:20:15 -06:00
selinux Fix SELinux functions names to not be repetitive 2020-04-23 15:57:34 -04:00
signal Turn on More linters 2020-06-15 07:05:56 -04:00
spec Fix container and pod create commands for remote create 2020-07-10 11:22:23 -04:00
specgen allow switching of port-forward approaches in rootless/using slirp4netns 2020-07-15 08:04:35 +02:00
systemd move go module to v2 2020-07-06 15:50:12 +02:00
terminal Set console mode for windows 2020-06-29 09:17:55 -05:00
timetype make lint: enable gocritic 2020-01-13 14:27:02 +01:00
tracing make lint: include pkg/tracing 2020-01-14 09:54:48 +01:00
trust Fixup issues found by golint 2020-06-10 05:49:41 -04:00
util move go module to v2 2020-07-06 15:50:12 +02:00
varlink V2 Move varlink home 2020-03-30 08:18:35 -07:00
varlinkapi Fix container and pod create commands for remote create 2020-07-10 11:22:23 -04:00