aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi8
-rw-r--r--gnu/services/base.scm16
-rw-r--r--gnu/system/hurd.scm21
3 files changed, 30 insertions, 15 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 73ad818cb6..22f710d0c1 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -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
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index d93ea6f063..31b418dabf 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -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.
diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm
index 0e73ca0d99..ec8484d746 100644
--- a/gnu/system/hurd.scm
+++ b/gnu/system/hurd.scm
@@ -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