FS#31543 - [dhcpcd] Provide dhcpcd.service for systemd

Attached to Project: Arch Linux
Opened by Trygve Aaberge (trygveaa) - Saturday, 15 September 2012, 01:01 GMT
Last edited by Ronald van Haren (pressh) - Saturday, 17 November 2012, 13:47 GMT
Task Type Feature Request
Category Packages: Core
Status Closed
Assigned To Ronald van Haren (pressh)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

The dhcpcd package only includes dhcpcd@.service for systemd, not dhcpcd.service. That would be a service which enables dhcpcd for all interfaces, i.e. just like dhcpcd@.service, but without an interface argument.

As of now, I have to enable dhcpcd for each interface separately, which is a bit impractical and spawns multiple dhcpcd processes. Since dhcpcd supports using all interfaces, it seems logical to add a service for this.
This task depends upon

Closed by  Ronald van Haren (pressh)
Saturday, 17 November 2012, 13:47 GMT
Reason for closing:  Implemented
Additional comments about closing:  5.6.3 ships with dhcpcd.service
Comment by Dave Reisner (falconindy) - Saturday, 15 September 2012, 02:46 GMT
Note that such a service could never activate network.target as there's no indication of when an interface has been brought up.
Comment by Trygve Aaberge (trygveaa) - Saturday, 15 September 2012, 02:58 GMT
With the -w option, dhcpcd waits until an IP address is assigned to one of the interfaces. Wouldn't this be sufficient to know that at least one interface has been brought up?
Comment by Dave Reisner (falconindy) - Saturday, 15 September 2012, 03:17 GMT
Ah, didn't know about that. Sure, sounds like it would work.
Comment by Ronald van Haren (pressh) - Saturday, 15 September 2012, 08:17 GMT
Feel free to share a working service file to be included for next release ;-)
Comment by Trygve Aaberge (trygveaa) - Saturday, 15 September 2012, 08:57 GMT
Sure, the file is attached.
Comment by Roy Marples (rsmarples) - Thursday, 15 November 2012, 11:18 GMT
The service should use this

ExecStart=/sbin/dhcpcd -q
ExecStop=/sbin/dhcpcd -x

The -w, -A or -k options should be set by in dhcpcd.conf(5) only if required by the user and should not be the default.

Rationale:
Non customised services don't bind to a specific IP address.
For example, sshd works for addresses added after it's started.
As such no need to wait for an ip.

ARP support *should* be used to ensure the DHCP server hasn't made a mistake.

DHCP lease releasing is optional, not mandatory.
Keeping the lease and re-requesting it at startup is faster on a well configured network.
Comment by Roy Marples (rsmarples) - Friday, 16 November 2012, 21:00 GMT
You could add the -b option to ExecStart as well to make it go faster.

Loading...