[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#51440] [PATCH 00/10] Declarative static networking interface
From: |
Ludovic Courtès |
Subject: |
[bug#51440] [PATCH 00/10] Declarative static networking interface |
Date: |
Thu, 11 Nov 2021 23:08:39 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hi David,
David Aaron Fendley <tricon@triconium.com> skribis:
> If I have:
>
> (service static-networking-service-type
> (list (static-networking
> (addresses (list (network-address
> (device "eno33559296")
> (value "10.7.99.99/24"))
> (network-address
> (device "eno16780032")
> (value "10.10.199.98/24"))))
> (routes (list (network-route
> (destination "default")
> (gateway "10.10.199.1"))
> (network-route
> (destination "192.168.0.1/32")
> (gateway "10.10.199.1"))))
> (name-servers '("10.10.199.17" "10.10.101.2")))))
>
> After reconfigure and restart of the networking service, no routes
> listed are created. Only the standard routes for each network:
Hmm right, I need to investigate this one some more. Apparently the
‘route-add’ call leads to “Network is unreachable”.
[...]
> If I then change the config to:
>
> (service static-networking-service-type
> (list (static-networking
> (addresses (list (network-address
> (device "eno33559296")
> (value "10.0.7.15/24"))
> (network-address
> (device "eno16780032")
> (value "10.10.2.15/24"))))
> (routes (list (network-route
> (destination "default")
> (gateway "10.0.2.2"))))
> (name-servers '("10.0.2.3")))))
>
>
>
> After reconfigure and restart of the networking service, routes
> specified are still not created, and the addresses and routes are
> appended:
This one is fixed by the patch below: the ‘stop’ method of the service
would not actually load the “tear-down-network” file, oops!
Thanks a lot for testing and reporting!
To be continued…
Ludo’.
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 66683f153f..3123122200 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -2511,7 +2511,7 @@ (define network-set-up/linux
addresses)
#$@(map (match-lambda
(($ <network-link> name type arguments)
- #~(link-add #:device #$name #$type
+ #~(link-add #$name #$type
#:type-args '#$arguments)))
links)
#$@(map (lambda (route)
@@ -2530,7 +2530,7 @@ (define network-set-up/linux
(define network-tear-down/linux
(match-lambda
(($ <static-networking> addresses links routes)
- (scheme-file "set-up-network"
+ (scheme-file "tear-down-network"
(with-extensions (list guile-netlink)
#~(begin
(use-modules (ip addr) (ip link) (ip route))
@@ -2579,10 +2579,10 @@ (define (static-networking-shepherd-service config)
(network-set-up/hurd config))))))
(stop #~(lambda _
;; Return #f is successfully stopped.
- #$(let-system (system target)
- (if (string-contains (or target system) "-linux")
- (network-tear-down/linux config)
- (network-tear-down/hurd config)))))
+ (load #$(let-system (system target)
+ (if (string-contains (or target system) "-linux")
+ (network-tear-down/linux config)
+ (network-tear-down/hurd config))))))
(respawn? #f))))))
(define (static-networking-shepherd-services networks)