Page MenuHomeVyOS Platform

Allow to set DHCP client-id in hexadecimal format
Closed, ResolvedPublicFEATURE REQUEST

Description

In the DHCP client config file template the client-id option is enclosed in double-quotes: https://github.com/vyos/vyos-1x/blob/6b48900358ce9b01eaa78e3a086e95a26064f0df/data/templates/dhcp-client/ipv4.tmpl#L10
Because of this, only ASCII string can be provided here. However, the option also accepts hexadecimal format (series of octets specified in hexadecimal, separated by colons, without quotes) that gives more flexibility.
It would be good to add the ability to use this hexadecimal format too.

Details

Difficulty level
Unknown (require assessment)
Version
-
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Perfectly compatible
Issue type
Improvement (missing useful functionality)

Event Timeline

Viacheslav changed the task status from Open to In progress.Oct 14 2021, 12:19 PM
Viacheslav claimed this task.

PR https://github.com/vyos/vyos-1x/pull/1026

set interfaces ethernet eth2 address 'dhcp'
set interfaces ethernet eth2 dhcp-options client-id '23:33:bb:aa:dd:2d:33:2f:ff'
set interfaces ethernet eth2 dhcp-options client-id-format 'hexadecimal'

Expected client-Identifier without quotes:

vyos@r1-roll# cat /var/lib/dhcp/dhclient_eth2.conf
### Autogenerated by interface.py ###

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
timeout 60;
retry 300;

interface "eth2" {
    send host-name "r1-roll";
    send dhcp-client-identifier 23:33:bb:aa:dd:2d:33:2f:ff;

Why not always move to decimal output and detect on demand if colons are present or not and adjust the string? Ne need for the user to take any action at all?

Viacheslav changed the task status from In progress to Needs testing.Oct 15 2021, 8:41 PM
Viacheslav moved this task from Need Triage to Finished on the VyOS 1.4 Sagitta board.