CVSROOT:        /cvs
Module name:    src
Changes by:     bl...@cvs.openbsd.org   2025/02/07 14:48:26

Modified files:
        usr.sbin/dhcpd : bpf.c dhcpd.h packet.c 

Log message:
Respect checksum offloading for incoming UDP in dhcpd(8).

When sending IP packets over virtual machines on the same host,
vio(4) can offload the checksum and never calculate it.  As neither
sender nor host calculate checksum, it is always wrong, and the
receiver has to check a flag.  A similar fix has been commited in
dhcpleased(8) a while ago.
RFC 1071 recomends to verify the checksum by calculating it over
the packet including the checksum and compare to 0.  That is also
what our kernel does.  Convert the logic in dhcpd(8) to that
algorithm.

tested and OK jan@ markus@

Reply via email to