Subject: kern/17867: UDP broadcast is broken
To: None <gnats-bugs@gnats.netbsd.org>
From: None <menu@netbsd.org>
List: netbsd-bugs
Date: 08/07/2002 03:01:27
>Number:         17867
>Category:       kern
>Synopsis:       UDP broadcast is broken
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Aug 07 03:02:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Emmanuel Dreyfus
>Release:        NetBSD-1.6_BETA5
>Organization:
The NetBSD Project
>Environment:
NetBSD mmX 1.6_BETA5 NetBSD 1.6_BETA5 (GENERIC) #0: Fri Aug  2 19:35:27 UTC 2002     autobuild@tgm.daemon.org:/autobuild/i386/OBJ/autobuild/src/sys/arch/i386/compile/GENERIC i386
>Description:
When sending UDP/IP packets to a broadcast address on 1.6_BETA5, the generated packets are corrupted. 

Here are tcpdump outputs on 1.6_BETA5:
10:39:23.484316 truncated-ip - 9945 bytes missing!mmX.info.local.65506 > 192.168.3.255.4000:  udp 782

and on 1.5.3:
10:50:35.352326 mmX.info.local.65534 > 192.168.3.255.4000:  udp 782

The two dumps are caused by exactly the same command (netcat), ran on 
the same machine, with just the OS changed. The problem exists on 
1.6BETA_5 when using a netcat built on 1.6BETA5 and a netcat built on
1.5.3, so this is not a binary compatibility problem.
Additionnaly, I discovered the problem with a home grown program, 
so it is not netcat specific. I beleive the problem happens in sendto()

Of course no host on the LAN is able to understand the packets sent
by NetBSD-1.6BETA5, so this is quite serious. I have not checked if
multicast programs are affected. 

>How-To-Repeat:
simple test with netcat such as
nc -u -b 192.168.3.255 < /etc/passwd
while dumping packets with tcpdump on another machine will show the problem
>Fix:
not known yet.
>Release-Note:
>Audit-Trail:
>Unformatted: