RC4 appears to break DHCP Relay


#1

I haven’t been able to track down what changed, but I can confirm this simple setup, that worked as it should in rc3, fails to work in rc4

 $ show configuration commands | grep dhcp
 set service dhcp-relay interface 'eth0.21'
 set service dhcp-relay interface 'eth0.9'
 set service dhcp-relay interface 'eth0.253'
 set service dhcp-relay interface 'eth0'
 set service dhcp-relay relay-options hop-count '10'
 set service dhcp-relay relay-options max-size '576'
 set service dhcp-relay relay-options relay-agents-packets 'discard'
 set service dhcp-relay server '10.253.253.1'

It just fails to relay the packets in RC4. Rebooting back to the RC3 makes it start working instantly again.

The process is also running, both on RC3 and RC4, but the options are different

RC3:
/usr/sbin/dhcrelay -d -i eth0.21 -i eth0.9 -i eth0.253 -i eth0 -c 10 -A 576 -m discard 10.253.253.1

RC4:
/usr/sbin/dhcrelay -q -4 -p 67 -c 10 -A 576 -m discard -i eth0.21 -i eth0.9 -i eth0.253 -i eth0 10.253.253.1


#3

Could you kill the dhrelay process and start it using the following commandline:

/usr/sbin/dhcrelay -q -p 67 -c 10 -A 576 -m discard -i eth0.21 -i eth0.9 -i eth0.253 -i eth0 10.253.253.1

or alternatively:

/usr/sbin/dhcrelay -q -c 10 -A 576 -m discard -i eth0.21 -i eth0.9 -i eth0.253 -i eth0 10.253.253.1

??


#4

RC4 (not working):

admin@route1:~$ ps ax | grep relay
 4170 ?        Ss     0:00 /usr/sbin/dhcrelay -q -4 -p 67 -c 10 -A 576 -m discard -i eth0.21 -i eth0.9 -i eth0.253 -i eth0 10.253.253.1
 4218 pts/0    R+     0:00 grep relay
admin@route1:~$ sudo kill 4170
admin@route1:~$ sudo /usr/sbin/dhcrelay -q -p 67 -c 10 -A 576 -m discard -i eth0.21 -i eth0.9 -i eth0.253 -i eth0 10.253.253.1
binding to user-specified port 67

RC4 (works):

admin@route1:~$ ps ax | grep relay
 4224 ?        Ss     0:00 /usr/sbin/dhcrelay -q -p 67 -c 10 -A 576 -m discard -i eth0.21 -i eth0.9 -i eth0.253 -i eth0 10.253.253.1
 4443 pts/0    S+     0:00 grep relay
admin@route1:~$ sudo kill 4224
admin@route1:~$ sudo /usr/sbin/dhcrelay -q -c 10 -A 576 -m discard -i eth0.21 -i eth0.9 -i eth0.253 -i eth0 10.253.253.1

#5

Weird that it can’t bin to its default port. Please see bug report at https://phabricator.vyos.net/T938