guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

09/11: services: Define '%qemu-static-networking'.


From: guix-commits
Subject: 09/11: services: Define '%qemu-static-networking'.
Date: Fri, 10 Dec 2021 05:49:30 -0500 (EST)

civodul pushed a commit to branch wip-networking-netlink
in repository guix.

commit 35cb44f58fde0ba31517509b0e967ddafeb797b4
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Wed Oct 27 12:20:49 2021 +0200

    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.
---
 doc/guix.texi         |  8 ++++++++
 gnu/services/base.scm | 16 ++++++++++++++++
 gnu/system/hurd.scm   | 21 ++++++---------------
 3 files changed, 30 insertions(+), 15 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 73ad818..22f710d 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 d93ea6f..31b418d 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 0e73ca0..ec8484d 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]