[pkg-dhcp-devel] Bug#617258: isc-dhcp-relay: segfaults if client-facing interface has label

thoralf tschulze at deutsche-kinemathek.de
Tue Aug 20 19:11:10 UTC 2013


Package: isc-dhcp-relay
Version: 4.2.4-7
Followup-For: Bug #617258

hi,

this is also an issue when using carp¹ to implement vrrp-like failover.

virtual interface(s) managed by the carp userspace daemon are named
$raw_device:carp by default (and by convention), using these interfaces to
relay dhcp requests with isc-dhcp-relay does not work:

root at router1:/home/thoralf# ip add show if172.2001
54: if172.2001 at if172: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
    link/ether a0:36:9f:1c:51:d3 brd ff:ff:ff:ff:ff:ff
    inet 172.20.1.1/24 brd 172.20.1.255 scope global if172.2001:carp
    inet6 fe80::a236:9fff:fe1c:51d3/64 scope link
       valid_lft forever preferred_lft forever
root at router1:/home/thoralf# ip add show if172.2011
58: if172.2011 at if172: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
    link/ether a0:36:9f:1c:51:d3 brd ff:ff:ff:ff:ff:ff
    inet 172.20.11.1/24 brd 172.20.11.255 scope global if172.2011:carp
    inet6 fe80::a236:9fff:fe1c:51d3/64 scope link
       valid_lft forever preferred_lft forever
root at router1:/home/thoralf# dhcrelay -4 -d -i if172.2011 -i if172.2001 172.20.1.30
Internet Systems Consortium DHCP Relay Agent 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/if172.2001/a0:36:9f:1c:51:d3
Sending on   LPF/if172.2001/a0:36:9f:1c:51:d3
Listening on LPF/if172.2011/a0:36:9f:1c:51:d3
Sending on   LPF/if172.2011/a0:36:9f:1c:51:d3
Sending on   Socket/fallback
Discarding packet received on if172.2011 interface that has no IPv4 address assigned.
Discarding packet received on if172.2011 interface that has no IPv4 address assigned.
Discarding packet received on if172.2011 interface that has no IPv4 address assigned.
^C
root at router1:/home/thoralf

… as Marc already pointed out, dhcrelay does not crash anymore, but it is not
usable either. it works, however, if the interfaces are renamed:

root at router1:/home/thoralf# ip link set dev if172.2001 down && ip link set if172.2001 name if172_2001 && ip link set dev if172_2001 up && ip add show if172_2001
54: if172_2001 at if172: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether a0:36:9f:1c:51:d3 brd ff:ff:ff:ff:ff:ff
    inet 172.20.1.1/24 brd 172.20.1.255 scope global if172_2001
    inet6 fe80::a236:9fff:fe1c:51d3/64 scope link tentative 
       valid_lft forever preferred_lft forever
root at router1:/home/thoralf# ip link set dev if172.2011 down && ip link set if172.2011 name if172_2011 && ip link set dev if172_2011 up && ip add show if172_2011
58: if172_2011 at if172: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether a0:36:9f:1c:51:d3 brd ff:ff:ff:ff:ff:ff
    inet 172.20.11.1/24 brd 172.20.11.255 scope global if172_2011
    inet6 fe80::a236:9fff:fe1c:51d3/64 scope link tentative 
       valid_lft forever preferred_lft forever
root at router1:/home/thoralf# dhcrelay -4 -d -i if172_2011 -i if172_2001 172.20.1.30
Internet Systems Consortium DHCP Relay Agent 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/if172_2001/a0:36:9f:1c:51:d3
Sending on   LPF/if172_2001/a0:36:9f:1c:51:d3
Listening on LPF/if172_2011/a0:36:9f:1c:51:d3
Sending on   LPF/if172_2011/a0:36:9f:1c:51:d3
Sending on   Socket/fallback
Forwarded BOOTREQUEST for 00:1e:37:cb:a6:6a to 172.20.1.30
Forwarded BOOTREPLY for 00:1e:37:cb:a6:6a to 172.20.11.10
^C
root at router1:/home/thoralf

… everything fine and dandy, vlan interfaces are not an issue.
anyway, changing the interface names on our production servers is next to
impossible - a lot of scripts depend on the :carp suffix to figure out what
should happen with certain interfaces in case a router goes down or comes up.
and i'm not sure if carp would work anymore if the suffix is omitted.

to make things worse, i was not able to get dhcp-helper to work with vlan
interfaces, either.

with kind regards,
thoralf.


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

Kernel: Linux 3.2.0-4-amd64 (SMP w/4 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-relay depends on:
ii  debconf [debconf-2.0]  1.5.49
ii  debianutils            4.3.2
ii  isc-dhcp-common        4.2.4-7
ii  libc6                  2.17-92

isc-dhcp-relay recommends no packages.

isc-dhcp-relay suggests no packages.

-- debconf information:
* isc-dhcp-relay/servers: 172.20.1.30
* isc-dhcp-relay/interfaces: if172.2011 if172.2004
* isc-dhcp-relay/options:



More information about the pkg-dhcp-devel mailing list