dhcprelay duplicates unicat REQUEST packages

  • 1
  • Problem
  • Updated 4 weeks ago
I enabled dhcprelay on a CumulusVX instance and it appears I ran into this bug
http://dhcp-users.isc.narkive.com/AUqbzpL1/dhcp-relay-duplicate-packets-for-dhcprelease-and-dhcprequ...

https://lists.isc.org/pipermail/dhcp-users/2012-April/015310.html

I know you haven't written the relay agent but it would be great i you can look into it. It gives a lot of error messages on the DHCP server.
Photo of Eelco Nieuwstad

Eelco Nieuwstad

  • 170 Points 100 badge 2x thumb

Posted 2 months ago

  • 1
Photo of Jason Guy

Jason Guy, Employee

  • 1,512 Points 1k badge 2x thumb
Hi Eelco,
Can you provide the dhcrelay configuration? Simply executing this command will be sufficient:
ps -ef | grep dhcrelay 
Photo of Eelco Nieuwstad

Eelco Nieuwstad

  • 170 Points 100 badge 2x thumb
Hi Jason

/usr/sbin/dhcrelay --nl -d -i vlan100 -i vlan200 172.20.0.2 -a --use-pif-circuit-id
see below the wireshark capture on the DHCP server (172.20.0.2)
 packet 17 is the unicast request packet 18 and 19 are created by the cumulus switch doing the forward. You can see they are the same request based on the Transaction ID

18 has a relay agent ip of 172.20.1.1 (the incoming interface ip address)
19 has a relay agent ip of 172.20.0.3 (the outgoing interface ip address)
20 is the normal ack to the request in 17
21 is the ack to the request in 18
packet 19 is never acked because the server does not have any ranges for 172.20.0.0/24

if you want I can give you the complete wireshark capture but it should be very simple to reproduce.

Eelco
(Edited)
Photo of Eelco Nieuwstad

Eelco Nieuwstad

  • 170 Points 100 badge 2x thumb
Jason,

dit you find time to look into this. Else I will just make a formal request when I can reproduce it on physical boxes

Eelco
Photo of Jason Guy

Jason Guy, Employee

  • 1,512 Points 1k badge 2x thumb
Hi Eelco,

I looked at a physical switch running 3.5.0, and I do not see duplicate responses. What is vlan100 and vlan200? Make sure the interface used for the giaddr is also specified in the interfaces directive (-i). If one of the vlan SVI's is used for giaddr, you may need to specify --giaddr-src option. 
Photo of Eelco Nieuwstad

Eelco Nieuwstad

  • 170 Points 100 badge 2x thumb
Hi Jason,

sorry for the late reply. vlan 100 is the interace on which the DHCP request are received. Vlan 200 is the interface towards the DHCP server. I haven't seen the issue when using unnumberd interfaces so I'll leave it for now

Eelco