Skip to content

Commit eb18134

Browse files
committedSep 11, 2021
man page and bump libslirp veresion: rootless-containers#259
1 parent fee7992 commit eb18134

File tree

4 files changed

+49
-16
lines changed

4 files changed

+49
-16
lines changed
 

‎README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# slirp4netns: User-mode networking for unprivileged network namespaces
1+
# slirp4netns: User-mode networking for unprivileged network namespaces
22

33
slirp4netns provides user-mode networking ("slirp") for unprivileged network namespaces.
44

@@ -73,7 +73,7 @@ Also available as a package on almost all Linux distributions:
7373
* [Arch Linux](https://www.archlinux.org/packages/community/x86_64/slirp4netns/)
7474
* [openSUSE (since Leap 15.0)](https://build.opensuse.org/package/show/openSUSE%3AFactory/slirp4netns)
7575
* [SUSE Linux Enterprise (since 15)](https://build.opensuse.org/package/show/devel%3Akubic/slirp4netns)
76-
* [Debian GNU/Linux (since 10.0)](https://packages.debian.org/buster/slirp4netns)
76+
* [Debian GNU/Linux (since 10.0)](https://packages.debian.org/buster/slirp4netns)
7777
* [Ubuntu (since 19.04)](https://packages.ubuntu.com/search?keywords=slirp4netns)
7878
* [NixOS](https://github.com/NixOS/nixpkgs/tree/master/pkgs/tools/networking/slirp4netns)
7979
* [Gentoo Linux](https://packages.gentoo.org/packages/app-emulation/slirp4netns)
@@ -126,7 +126,7 @@ starting slirp, MTU=65520
126126
link/ether c2:28:0c:0e:29:06 brd ff:ff:ff:ff:ff:ff
127127
inet 10.0.2.100/24 brd 10.0.2.255 scope global tap0
128128
valid_lft forever preferred_lft forever
129-
inet6 fe80::c028:cff:fe0e:2906/64 scope link
129+
inet6 fe80::c028:cff:fe0e:2906/64 scope link
130130
valid_lft forever preferred_lft forever
131131
(namespace)$ echo "nameserver 10.0.2.3" > /tmp/resolv.conf
132132
(namespace)$ mount --bind /tmp/resolv.conf /etc/resolv.conf
@@ -187,7 +187,7 @@ $ make
187187
$ sudo make install
188188
```
189189

190-
* [libslirp](https://gitlab.freedesktop.org/slirp/libslirp) needs to be v4.1.0 or later.
190+
* [libslirp](https://gitlab.freedesktop.org/slirp/libslirp) needs to be v4.4.0.57 or later.
191191
* To build `slirp4netns` as a static binary, run `./configure` with `LDFLAGS=-static`.
192192
* If you set `--prefix` to `$HOME`, you don't need to run `make install` with `sudo`.
193193

‎configure.ac

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
AC_PREREQ([2.69])
2-
AC_INIT([slirp4netns], [1.1.12+dev], [https://github.com/rootless-containers/slirp4netns/issues])
2+
AC_INIT([slirp4netns], [1.1.13+dev], [https://github.com/rootless-containers/slirp4netns/issues])
33
AC_CONFIG_SRCDIR([main.c])
44
AC_CONFIG_HEADERS([config.h])
55

‎slirp4netns.1

+23-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
.nh
21
.TH SLIRP4NETNS 1 "June 2021" "Rootless Containers" "User Commands"
32

43
.SH NAME
@@ -78,6 +77,14 @@ API socket path
7877
\fB\fC\-\-cidr\fR (since v0.3.0)
7978
specify CIDR, e.g. 10.0.2.0/24
8079

80+
.PP
81+
\fB\fC\-\-cidr6\fR (since v1.1.13, EXPERIMENTAL)
82+
specify IPv6 CIDR, e.g. fd00::/64
83+
84+
.PP
85+
\fB\fC\-\-ipv6\-random\fR (since v1.1.13, EXPERIMENTAL)
86+
generate a random local IPv6 range
87+
8188
.PP
8289
\fB\fC\-\-disable\-host\-loopback\fR (since v0.3.0)
8390
prohibit connecting to 127.0.0.1:* on the host namespace
@@ -199,7 +206,7 @@ starting slirp, MTU=65520
199206
link/ether c2:28:0c:0e:29:06 brd ff:ff:ff:ff:ff:ff
200207
inet 10.0.2.100/24 brd 10.0.2.255 scope global tap0
201208
valid\_lft forever preferred\_lft forever
202-
inet6 fe80::c028:cff:fe0e:2906/64 scope link
209+
inet6 fe80::c028:cff:fe0e:2906/64 scope link
203210
valid\_lft forever preferred\_lft forever
204211
(namespace)$ echo "nameserver 10.0.2.3" > /tmp/resolv.conf
205212
(namespace)$ mount \-\-bind /tmp/resolv.conf /etc/resolv.conf
@@ -305,7 +312,7 @@ slirp4netns can provide QMP\-like API server over an UNIX socket file:
305312
.RE
306313

307314
.PP
308-
\fB\fCadd\_hostfwd\fR: Expose a port (IPv4 only)
315+
\fB\fCadd\_hostfwd\fR: Expose a port (IPv4 and IPv6 if enabled and host\_addr is "0.0.0.0" or "::")
309316

310317
.PP
311318
.RS
@@ -318,6 +325,18 @@ slirp4netns can provide QMP\-like API server over an UNIX socket file:
318325
.fi
319326
.RE
320327

328+
.PP
329+
\fB\fCadd\_hostfwd\fR: Expose a port (IPv4 only)
330+
331+
.PP
332+
specify \fB\fCtcp4\fR as \fB\fCproto\fR
333+
334+
.PP
335+
\fB\fCadd\_hostfwd\fR: Expose a port (IPv6 only)
336+
337+
.PP
338+
specify \fB\fCtcp6\fR as \fB\fCproto\fR
339+
321340
.PP
322341
If \fB\fChost\_addr\fR is not specified, then it defaults to "0.0.0.0".
323342

@@ -333,7 +352,7 @@ If \fB\fCguest\_addr\fR is not specified, then it will be set to the default add
333352
.nf
334353
(namespace)$ json='{"execute": "list\_hostfwd"}'
335354
(namespace)$ echo \-n $json | nc \-U /tmp/slirp4netns.sock
336-
{"return": {"entries": [{"id": 42, "proto": "tcp", "host\_addr": "0.0.0.0", "host\_port": 8080, "guest\_addr": "10.0.2.100", "guest\_port": 80}]}}
355+
{"return": {"entries": [{"id": 42, "proto": "tcp", "host\_addr": "0.0.0.0", "host\_addr6": "::", "host\_port": 8080, "guest\_addr": "10.0.2.100", "guest\_addr6": "fd00::100", "guest\_port": 80}]}}
337356

338357
.fi
339358
.RE

‎slirp4netns.1.md

+21-7
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,12 @@ API socket path
5555
`--cidr` (since v0.3.0)
5656
specify CIDR, e.g. 10.0.2.0/24
5757

58+
`--cidr6` (since v1.1.13, EXPERIMENTAL)
59+
specify IPv6 CIDR, e.g. fd00::/64
60+
61+
`--ipv6-random` (since v1.1.13, EXPERIMENTAL)
62+
generate a random local IPv6 range
63+
5864
`--disable-host-loopback` (since v0.3.0)
5965
prohibit connecting to 127.0.0.1:\* on the host namespace
6066

@@ -139,7 +145,7 @@ starting slirp, MTU=65520
139145
link/ether c2:28:0c:0e:29:06 brd ff:ff:ff:ff:ff:ff
140146
inet 10.0.2.100/24 brd 10.0.2.255 scope global tap0
141147
valid_lft forever preferred_lft forever
142-
inet6 fe80::c028:cff:fe0e:2906/64 scope link
148+
inet6 fe80::c028:cff:fe0e:2906/64 scope link
143149
valid_lft forever preferred_lft forever
144150
(namespace)$ echo "nameserver 10.0.2.3" > /tmp/resolv.conf
145151
(namespace)$ mount --bind /tmp/resolv.conf /etc/resolv.conf
@@ -207,14 +213,22 @@ slirp4netns can provide QMP-like API server over an UNIX socket file:
207213
(host)$ slirp4netns --api-socket /tmp/slirp4netns.sock ...
208214
```
209215

210-
`add_hostfwd`: Expose a port (IPv4 only)
216+
`add_hostfwd`: Expose a port (IPv4 and IPv6 if enabled and host_addr is "0.0.0.0" or "::")
211217

212218
```console
213219
(namespace)$ json='{"execute": "add_hostfwd", "arguments": {"proto": "tcp", "host_addr": "0.0.0.0", "host_port": 8080, "guest_addr": "10.0.2.100", "guest_port": 80}}'
214220
(namespace)$ echo -n $json | nc -U /tmp/slirp4netns.sock
215221
{"return": {"id": 42}}
216222
```
217223

224+
`add_hostfwd`: Expose a port (IPv4 only)
225+
226+
specify `tcp4` as `proto`
227+
228+
`add_hostfwd`: Expose a port (IPv6 only)
229+
230+
specify `tcp6` as `proto`
231+
218232
If `host_addr` is not specified, then it defaults to "0.0.0.0".
219233

220234
If `guest_addr` is not specified, then it will be set to the default address that corresponds to `--configure`.
@@ -224,7 +238,7 @@ If `guest_addr` is not specified, then it will be set to the default address tha
224238
```console
225239
(namespace)$ json='{"execute": "list_hostfwd"}'
226240
(namespace)$ echo -n $json | nc -U /tmp/slirp4netns.sock
227-
{"return": {"entries": [{"id": 42, "proto": "tcp", "host_addr": "0.0.0.0", "host_port": 8080, "guest_addr": "10.0.2.100", "guest_port": 80}]}}
241+
{"return": {"entries": [{"id": 42, "proto": "tcp", "host_addr": "0.0.0.0", "host_addr6": "::", "host_port": 8080, "guest_addr": "10.0.2.100", "guest_addr6": "fd00::100", "guest_port": 80}]}}
228242
```
229243

230244
`remove_hostfwd`: Remove an exposed port
@@ -243,7 +257,7 @@ Remarks:
243257
* A request must be less than 4096 bytes.
244258
* JSON responses may contain `error` instead of `return`.
245259

246-
# DEFINED NAMESPACE PATHS
260+
# DEFINED NAMESPACE PATHS
247261
A user can define a network namespace path as opposed to the default process ID:
248262

249263
```console
@@ -256,14 +270,14 @@ Additionally, a `--userns-path=PATH` argument can be included to override any us
256270
(host)$ slirp4netns --netns-type=path --userns-path=/path/to/userns /path/to/netns tap0
257271
```
258272

259-
# OUTBOUND ADDRESSES
260-
A user can defined preferred outbound ipv4 and ipv6 address in multi IP scenarios.
273+
# OUTBOUND ADDRESSES
274+
A user can defined preferred outbound ipv4 and ipv6 address in multi IP scenarios.
261275

262276
```console
263277
(host)$ slirp4netns --outbound-addr=10.2.2.10 --outbound-addr6=fe80::10 ...
264278
```
265279

266-
Optionally you can use interface names instead of ip addresses.
280+
Optionally you can use interface names instead of ip addresses.
267281

268282
```console
269283
(host)$ slirp4netns --outbound-addr=eth0 --outbound-addr6=eth0 ...

0 commit comments

Comments
 (0)