Package: wide-dhcpv6-server
Version: 20080615-12
Severity: normal
Tags: ipv6

Dear Maintainer,


if you want to start wide-dhcpv6-server on multiple interfaces you can
configure multiple interfaces either in dpkg or manually in
/etc/default/wide-dhcpv6-server.

As stated in the /etc/default file "Interfaces on which the server
should serve DHCPv6 requests." or in dpkg configuration of this package
"Network interfaces on which the DHCPv6 server listens to requests
should be specified here. Multiple interfaces are separated with
spaces." you can enter list of interfaces to run dhcp6s on.

If you enter multiple interfaces and start wide-dhcpv6-server there will
be only one dhcp6s daemon running with the first listed interface.

The dhcp6s daemon does use control port for communication with dhcp6ctl.
This control port can be defined using "-p" option on the command line
during daemon start. If there is no "-p" option entered, it will be one
default port used. If you try to start dhcp6s without option "-p"
multiple times, only the first started daemon keep running and binds to
the control port. The second daemon listening on the other interface
cannot start because control port is already used. The dhcp6s fails to
start with error:

--------------------------------------------------
dhcp6s[23695]: dhcp6_ctl_init: bind(control sock): Address already in use
dhcp6s[23695]: server6_init: failed to initialize control channel
--------------------------------------------------

You can find following errors in the daemon log file if you try to start
dhcp6s on vlan96 and vlan95 - the INTERFACES variable contains "vlan96
vlan95" in the /etc/default/wide-dhcpv6-server (dhcp6s on vlan96 has
started without error, the error messages belongs to dhcp6s on vlan95).

--------------------------------------------------
wide-dhcpv6-server[23686]: Starting WIDE DHCPv6 server on vlan96: dhcp6s.
dhcp6s[23695]: dhcp6_ctl_init: bind(control sock): Address already in use
dhcp6s[23695]: server6_init: failed to initialize control channel
wide-dhcpv6-server[23686]: Starting WIDE DHCPv6 server on vlan95: dhcp6s.
--------------------------------------------------

=== /etc/default/wide-dhcpv6-server ===
--------------------------------------------------
INTERFACES="vlan96 vlan95"
--------------------------------------------------

The init.d script should be able to either generate random control ports
for different dhcp6s daemons running on different interface or should be
possible to define control port together with interface.

I have solved the problem allowing to define INTERFACES as

INTERFACE[:CONTROL-PORT] ...

it is simple to get interface and control port from this using e.g.:

for V in $INTERFACES; do INT="${V%:*}" ; CP="${V#$INT}" ; CP="${CP#:}"

INT is interface and PC is control port and the to start dhcp6s daemon
using:

start-stop-daemon --start --quiet --pidfile ${DHCP6SPIDBASE}.${INT}.pid \
--exec $DHCP6SBIN --oknodo -- -k /dev/null \
-P ${DHCP6SPIDBASE}.${INT}.pid ${CP:+-p} $CP $INT


Regards,

Robert Wolf.


-- System Information:
Debian Release: 8.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages wide-dhcpv6-server depends on:
ii  debconf [debconf-2.0]  1.5.56
ii  libc6                  2.19-18+deb8u1
ii  lsb-base               4.1+Debian13+nmu1

wide-dhcpv6-server recommends no packages.

wide-dhcpv6-server suggests no packages.

-- debconf information excluded

Reply via email to