[pkg-dhcp-devel] Bug#737574: isc-dhcp-server: Option definition syntax does not allow array of strings or bit fields

Ben Hildred ben at hildred.us
Mon Feb 3 22:42:13 UTC 2014

Package: isc-dhcp-server
Version: 4.2.2.dfsg.1-5+deb70u6
Severity: wishlist
Tags: upstream ipv6

There are three ways to try to support BSDP on isc-dhcp-server.

The first  method involves using a binary string as the parameter to vendor-
encapsulated-options. I have read reports this works in some isolated setups,
but this is difficult to understand, hard to trouble shoot and as clear as
reading mud.

The second way is to use an encapsulated option space. This works reasonably
well except for suboption 9 where you have to use this:

option space bsdp;
option bsdp.boot_image_list             code 9 = string;
option bsdp-43 code 43 = encapsulate bsdp;

and put binary data in the string using this simple perl script:

#!/usr/bin/perl -pw
s!^(\d+)[       ]+(\d+)[        ]+(\d+|auto)[   ]+(.*)$!join q(:), grep {$_}
split /(..)/,unpack(q(H*),pack(q(CxnC/a),($1<<7)+$2,$3,$4))!e;

the third way is to do it right

option space bsdp;
#option bsdp.boot_image_list            code 9 = array of { unsigned integer 1,
unsigned integer 7, unsigned integer 24, string };
option bsdp-43 code 43 = encapsulate bsdp;

The drawback of this approach is that of course it does not work. you can't
have strings in arrays and integers must be 8,16 or 32 bits. The integer part
is only slightly annoying, but the strings are very annoying. In
http://permalink.gmane.org/gmane.network.dhcp.isc.dhcp-server/11458 Celelibi is
trying to use RFC 5970  which calls for 'option dhcp6.bootfile-param code 60 =
array of string;'

-- System Information:
Debian Release: 7.3
  APT prefers oldstable-updates
  APT policy: (500, 'oldstable-updates'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-4-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages isc-dhcp-server depends on:
ii  debconf [debconf-2.0]  1.5.49
ii  debianutils            4.3.2
ii  isc-dhcp-common        4.2.2.dfsg.1-5+deb70u6
ii  libc6                  2.13-38
ii  lsb-base               4.1+Debian8+deb7u1

isc-dhcp-server recommends no packages.

Versions of packages isc-dhcp-server suggests:
pn  isc-dhcp-server-ldap  <none>

-- Configuration Files:
/etc/dhcp/dhcpd.conf changed [not included]

More information about the pkg-dhcp-devel mailing list