Message ID | 878rxufiqg.fsf_-_@gnu.org |
---|---|
State | Accepted |
Headers | show |
Ludovic Courtès <ludo@gnu.org> skribis: > 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”. Julien has just fixed that: https://git.lepiller.eu/guile-netlink/commit/f5867cc920ea3703b11e257a63043ac29153e34c Hopefully we’ll have a new Guile-Netlink release soon with this fix. :-) 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)