CVSROOT: /cvs Module name: src Changes by: d...@cvs.openbsd.org 2011/07/05 19:57:37
Modified files: sys/netinet : in.c in.h in_pcb.c ip_icmp.c Log message: allow /31s on broadcast interfaces (eg ethernet) to work as per rfc3021. the issue in our kernel was the broadcast address calculated on the /31 caused a ton of checks for use of broadcast addresses to kick in and prevent one of the two addresses on the /31 from being used. this diff basically detects if a /31 has been configured and doesnt configure a broadcast address for it, which makes the ips usable for normal traffic. i wrote this so i could interoperate with "carrier" network gear better, and sthen wants it so he can conserve address space use. the further special casing of broadcast address handling was from claudio@ ok claudio@ markus@ sthen@ henning@