aboutsummaryrefslogtreecommitdiff
path: root/gnu/system
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-10-17 23:43:52 +0200
committerLudovic Courtès <ludo@gnu.org>2021-12-12 23:20:49 +0100
commit223f1b1eb3707f1d3ef91200dd616ee6c8b77db0 (patch)
tree87484966b696d301f8bb99033e2217b3be58e448 /gnu/system
parent39e3b4b7cee175a3c1f37329744c582528d55f5d (diff)
downloadguix-223f1b1eb3707f1d3ef91200dd616ee6c8b77db0.tar
guix-223f1b1eb3707f1d3ef91200dd616ee6c8b77db0.tar.gz
services: static-networking: Change interface to mimic netlink.
* gnu/services/base.scm (<static-networking>)[interface, ip, netmask] [gateway]: Remove. [addresses, links, routes]: New fields. [requirement]: Default to '(udev). (<network-address>, <network-link>, <network-route>): New record types. (ensure-no-separate-netmask, %ensure-no-separate-netmask): Remove. (ipv6-address?, cidr->netmask, ip+netmask->cidr) (network-set-up/hurd, network-tear-down/hurd) (network-set-up/linux, network-tear-down/linux) (static-networking->hurd-pfinet-options): New procedures. (static-networking-shepherd-service): New procedure. (static-networking-shepherd-services): Rewrite in terms of the above. (static-networking-service): Deprecate. Adjust to new 'static-networking' API. (%base-services): Likewise. * gnu/system/install.scm (%installation-services): Likewise. * gnu/system/hurd.scm (%base-services/hurd): Likewise, and separate 'loopback' from 'networking'. * gnu/build/hurd-boot.scm (set-hurd-device-translators): Remove "servers/socket/2". * gnu/tests/networking.scm (run-openvswitch-test)["networking has started on ovs0"]: Check for 'networking instead of 'networking-ovs0, which is no longer provided. * doc/guix.texi (Networking Setup): Document the new interface. Remove documentation of 'static-networking-service'. (Virtualization Services): Change Ganeti example to use the new interface.
Diffstat (limited to 'gnu/system')
-rw-r--r--gnu/system/hurd.scm27
-rw-r--r--gnu/system/install.scm11
2 files changed, 29 insertions, 9 deletions
diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm
index 0794671ce4..0e73ca0d99 100644
--- a/gnu/system/hurd.scm
+++ b/gnu/system/hurd.scm
@@ -79,11 +79,28 @@
(service hurd-getty-service-type (hurd-getty-configuration
(tty "tty2")))
(service static-networking-service-type
- (list (static-networking (interface "lo")
- (ip "127.0.0.1")
- (requirement '())
- (provision '(loopback networking))
- (name-servers '("10.0.2.3")))))
+ (list (static-networking
+ (addresses
+ (list (network-address
+ (device "lo")
+ (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")))))
(syslog-service)
(service guix-service-type
(guix-configuration
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 7b394184ad..bdfe580145 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -408,10 +408,13 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m
;; Loopback device, needed by OpenSSH notably.
(service static-networking-service-type
- (list (static-networking (interface "lo")
- (ip "127.0.0.1")
- (requirement '())
- (provision '(loopback)))))
+ (list (static-networking
+ (addresses
+ (list (network-address
+ (device "lo")
+ (value "127.0.0.1"))))
+ (requirement '())
+ (provision '(loopback)))))
(service wpa-supplicant-service-type)
(dbus-service)