You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`--net=pasta` is expected to be used in conjunction with `--port-driver=implicit`.
150
+
`--net=pasta` is expected to be used in conjunction with `--port-driver=pesto` or `--port-driver=implicit`.
151
151
152
152
> **Note**
153
153
> `--net=pasta` needs [pasta (passt)](https://passt.top/passt/)`2023_06_25.32660ce` or later.
@@ -170,9 +170,7 @@ Pros:
170
170
* Supports ICMP Echo (`ping`) when `/proc/sys/net/ipv4/ping_group_range` is configured
171
171
* TCP port forwarding (`--port-driver=implicit`) is very fast
172
172
* TCP port forwarding (`--port-driver=implicit`) can retain source IP addresses
173
-
174
-
Cons:
175
-
* Lacks API for explicit port forwarding (`rootlessctl (list-ports|add-ports|remove-ports)`)
173
+
* Explicit port forwarding via `rootlessctl (list-ports|add-ports|remove-ports)` is supported with `--port-driver=pesto` (experimental, IPv4-only, requires pasta `2026_05_07.1afd4ed` or later)
176
174
177
175
The network configuration for pasta is similar to slirp4netns.
178
176
As in `--net=slirp4netns`, specifying `--copy-up=/etc` and `--disable-host-loopback` is highly recommended.
Copy file name to clipboardExpand all lines: docs/port.md
+8-1Lines changed: 8 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,13 +9,20 @@ The default value is `none` (do not expose ports).
9
9
|`slirp4netns`| 8.03 Gbps | Propagated |
10
10
| `builtin` | 29.9 Gbps | Propagated for TCP (since v3.0) | Source IP propagation (`--source-ip-transparent`) applies to TCP only; UDP is not propagated. In the case of Rootless Docker, userland-proxy has to be disabled for propagating the source IP.
| `pesto` (Experimental) | TBD | Propagated | Requires `pasta` network and passt `2026_05_07.1afd4ed` or later. Supports explicit port management through `rootlessctl`.
12
13
| `gvisor-tap-vsock` (Experimental) | 3.83 Gbps | Not propagated | Throughput is currently limited; see issue link below for improvement ideas.
13
14
14
15
Benchmark: iperf3 from the parent to the child is measured on GitHub Actions ([Apr 10, 2026](https://github.com/rootless-containers/rootlesskit/actions/runs/24200485791/job/70642399211))
15
16
16
17
The `builtin` driver is fast and should be the best choice for most use cases.
17
18
18
-
For [`pasta`](./network.md) networks, the `implicit` port driver is the best choice.
19
+
For [`pasta`](./network.md) networks, choose the port driver based on how
20
+
ports should be exposed:
21
+
22
+
* Use `pesto` to expose only explicitly published ports using `rootlessctl list-ports`, `add-ports`, and `remove-ports`.
23
+
* Use `implicit` to automatically expose ports listened on in the network namespace. This may expose ports that were not intended to be reachable from the host.
24
+
25
+
The `pesto` port driver is experimental and currently supports IPv4 port forwarding only. Both the `pasta` and `pesto` executables must be installed.
19
26
20
27
> [!NOTE]
21
28
> The `gvisor-tap-vsock` port driver is experimental.
0 commit comments