Message ID | 20230725105956.17963-1-levenson@mmer.org |
---|---|
State | New |
Headers | show |
Series | Provide a way to use multiple dhcp clients with static-networking | expand |
Hi, Alexey Abramov <levenson@mmer.org> skribis: > * gnu/services/networking.scm: Allow setting up provision to allow running > DHCP client and static network configuration simultaneously. > --- > gnu/services/networking.scm | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm > index 5657b141d9..dc75c2f59d 100644 > --- a/gnu/services/networking.scm > +++ b/gnu/services/networking.scm > @@ -88,6 +88,7 @@ (define-module (gnu services networking) > dhcp-client-configuration > dhcp-client-configuration? > dhcp-client-configuration-package > + dhcp-client-configuration-provision > dhcp-client-configuration-interfaces > dhcp-client-configuration-shepherd-requirement > > @@ -303,6 +304,8 @@ (define-record-type* <dhcp-client-configuration> > (default isc-dhcp)) > (shepherd-requirement dhcp-client-configuration-shepherd-requirement > (default '())) > + (provision dhcp-client-configuration-provision > + (default '(networking))) I changed the field name to ‘shepherd-provision’ for consistency and documented it in ‘doc/guix.texi’. Committed! Thanks, Ludo’.
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 5657b141d9..dc75c2f59d 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -88,6 +88,7 @@ (define-module (gnu services networking) dhcp-client-configuration dhcp-client-configuration? dhcp-client-configuration-package + dhcp-client-configuration-provision dhcp-client-configuration-interfaces dhcp-client-configuration-shepherd-requirement @@ -303,6 +304,8 @@ (define-record-type* <dhcp-client-configuration> (default isc-dhcp)) (shepherd-requirement dhcp-client-configuration-shepherd-requirement (default '())) + (provision dhcp-client-configuration-provision + (default '(networking))) (interfaces dhcp-client-configuration-interfaces (default 'all))) ;'all | list of strings @@ -312,6 +315,7 @@ (define dhcp-client-shepherd-service (let ((package (dhcp-client-configuration-package config)) (shepherd-requirement (dhcp-client-configuration-shepherd-requirement config)) (interfaces (dhcp-client-configuration-interfaces config)) + (provision (dhcp-client-configuration-provision config)) (pid-file "/var/run/dhclient.pid")) (list (shepherd-service (documentation "Set up networking via DHCP.") @@ -321,7 +325,7 @@ (define dhcp-client-shepherd-service ;; networking is unavailable, but also means that the interface is not up ;; yet when 'start' completes. To wait for the interface to be ready, one ;; should instead monitor udev events. - (provision '(networking)) + (provision provision) (start #~(lambda _ (define dhclient