Page MenuHomeVyOS Platform

DHCPv6 "service dhcpv6-server global-parameters name-server" is not correctly exported to dhcpdv6.conf when multiple name-server entries are present
Closed, ResolvedPublicBUG

Description

I've found a small issue with the changes implemented for T3379

config.boot:

service {
    dhcpv6-server {
        global-parameters {
            name-server XXXX:XXXX:XXXX::8D
            name-server XXXX:XXXX:XXXX::8E
        }
    }
}

/run/dhcp-server/dhcpdv6.conf:

option dhcp6.name-servers XXXX:XXXX:XXXX::8D;
option dhcp6.name-servers XXXX:XXXX:XXXX::8E;

This configuration format is wrong.

dhcp6.name-servers is a comma-delimited, multi-value list of name-servers that should only appear once in the dhcpdv6.conf file.
If multiple dhcp6.name-servers entries are present, only the last entry is used.
The way vyos currently generates the dhcpdv6.conf file causes DHCPv6 clients to only receive information about a single name server.

Proper parsing of the vyos config would result in a dhcpdv6.conf that includes a single line like this:

option dhcp6.name-servers XXXX:XXXX:XXXX::8D,XXXX:XXXX:XXXX::8E;

Details

Difficulty level
Easy (less than an hour)
Version
VyOS 1.4-rolling-202105101243
Why the issue appeared?
Implementation mistake
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Event Timeline

c-po changed the task status from Open to In progress.May 15 2021, 3:12 PM
c-po claimed this task.
c-po triaged this task as Normal priority.
c-po changed Difficulty level from Unknown (require assessment) to Easy (less than an hour).
c-po changed Why the issue appeared? from Will be filled on close to Implementation mistake.
c-po changed Is it a breaking change? from Behavior change to Perfectly compatible.
c-po moved this task from Need Triage to Finished on the VyOS 1.4 Sagitta board.
c-po moved this task from Need Triage to Finished on the VyOS 1.3 Equuleus board.
SrividyaA set Issue type to Bug (incorrect behavior).Aug 31 2021, 5:49 PM