GNU bug report logs - #51440
[PATCH 00/10] Declarative static networking interface

Previous Next

Package: guix-patches;

Reported by: Ludovic Courtès <ludo <at> gnu.org>

Date: Wed, 27 Oct 2021 14:00:02 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #59 received at 51440 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: David Aaron Fendley <tricon <at> triconium.com>
Cc: 51440 <at> debbugs.gnu.org
Subject: Re: bug#51440: [PATCH 00/10] Declarative static networking interface
Date: Thu, 11 Nov 2021 23:08:39 +0100
[Message part 1 (text/plain, inline)]
Hi David,

David Aaron Fendley <tricon <at> 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’.

[Message part 2 (text/x-patch, inline)]
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)

This bug report was last modified 3 years and 155 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.