summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorFlorian Obser <florian@cvs.openbsd.org>2021-09-14 07:51:52 +0000
committerFlorian Obser <florian@cvs.openbsd.org>2021-09-14 07:51:52 +0000
commit90c8f892e599e1cc7acdb9cc1004e8883ad576bb (patch)
treeef4d3fbfb6ab464a1aac9e251f6186d960d005bf /sys
parent781850460c884ebbafa6d1cb976c8ab30bf1f22e (diff)
When the dhcp server is unreachable via unicast UDP retry broadcast.
The only indication we get is sendto(2) failing, so if our UDP packet is silently dropped somewhere we won't notice. This has been observed in the wild with a dhcp server at the remote end of a VPN. The dhcp server is reachable via broadcast so we get an initial lease. However the server is not in the same subnet as the lease we are getting so to reach it unicast we depend on a default route being set. When the VPN goes down we lose the default route [*] and when dhcpleased then tries to renew the lease (unicast), sendto(2) fails with "network unreachable". [*] The exact mechanics on how this happens are unclear. I.e. why didn't dhcpleased(8) see a link-state change and transitioned to REBOOTING / INIT? Regardless, we shouldn't ignore sendto(2) errors. Reported by stsp, OK benno
Diffstat (limited to 'sys')
0 files changed, 0 insertions, 0 deletions