services: Define '%qemu-static-networking'.

* gnu/services/base.scm (%qemu-static-networking): New variable.
* gnu/system/hurd.scm (%base-services/hurd): Use it.
* doc/guix.texi (Networking Setup): Document it.
This commit is contained in:
Ludovic Courtès 2021-10-27 12:20:49 +02:00
parent 223f1b1eb3
commit 1644f4f1f8
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
3 changed files with 30 additions and 15 deletions

View File

@ -17012,6 +17012,14 @@ List of arguments for this type of link.
@end table
@end deftp
@cindex networking, with QEMU
@cindex QEMU, networking
@defvr {Scheme Variable} %qemu-static-networking
This is the @code{static-networking} record representing network setup
when using QEMU's user-mode network stack on @code{eth0} (@pxref{Using
the user mode network stack,,, QEMU, QEMU Documentation}).
@end defvr
@cindex DHCP, networking service
@defvr {Scheme Variable} dhcp-client-service-type
This is the type of services that run @var{dhcp}, a Dynamic Host Configuration

View File

@ -116,6 +116,8 @@
static-networking-service
static-networking-service-type
%qemu-static-networking
udev-configuration
udev-configuration?
udev-configuration-rules
@ -2708,6 +2710,20 @@ to handle."
(provision (or provision '(networking)))
(name-servers name-servers)))))
(define %qemu-static-networking
;; Networking configuration for QEMU's user-mode network stack (info "(QEMU)
;; Using the user mode network stack").
(static-networking
(addresses (list (network-address
(device "eth0")
(value "10.0.2.15/24"))))
(routes (list (network-route
(destination "default")
(gateway "10.0.2.2"))))
(requirement '())
(provision '(networking))
(name-servers '("10.0.2.3"))))
(define %base-services
;; Convenience variable holding the basic services.

View File

@ -86,21 +86,12 @@
(value "127.0.0.1"))))
(requirement '())
(provision '(loopback)))
(static-networking
(addresses
;; The default QEMU guest address. To get "eth0",
;; you need QEMU to emulate a device for which Mach
;; has an in-kernel driver, for instance with:
;; --device rtl8139,netdev=net0 --netdev user,id=net0
(list (network-address
(device "eth0")
(value "10.0.2.15/24"))))
(routes
(list (network-route
(destination "default")
(gateway "10.0.2.2"))))
(provision '(networking))
(name-servers '("10.0.2.3")))))
;; QEMU user-mode networking. To get "eth0", you need
;; QEMU to emulate a device for which Mach has an
;; in-kernel driver, for instance with:
;; --device rtl8139,netdev=net0 --netdev user,id=net0
%qemu-static-networking))
(syslog-service)
(service guix-service-type
(guix-configuration