Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!nntp.coast.net!news-res.gsl.net!news.gsl.net!uwm.edu!math.ohio-state.edu!jussieu.fr!rain.fr!wanadoo.fr!usenet
From: pyk@sv.vtcom.fr (Pierre-Yves Kerembellec)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: FreeBSD 2.1.0 broadcast problem/bug : does it ring a bell ?
Date: Tue, 11 Jun 1996 15:55:09 GMT
Organization: Solutions Vocales
Lines: 49
Message-ID: <4pk4vh$1db@cyan.wanadoo.fr>
Reply-To: pyk@sv.vtcom.fr
NNTP-Posting-Host: iap3.wanadoo.fr
X-Newsreader: Forte Free Agent 1.0.82
Hi !
I think there may be a bug in the FreeBSD 2.1.0 INET network layers (no
problem on 2.0.5). I tried to execute this small program which broadcasts
one UDP datagram on port UDP 9090 :
----------------------------------------------------------------------------
int main()
{
int fSocket,bOption=1,nSize;
struct sockaddr_in tSocket;
char sBuffer[256];
if ((fSocket = socket(AF_INET,SOCK_DGRAM,0))<0)
{perror("socket"); exit(1);}
if (setsockopt(fSocket,SOL_SOCKET,SO_BROADCAST,&bOption,sizeof(bOption))<0)
{perror("setsockopt"); exit(2);}
memset(&tSocket,0,sizeof(tSocket));
tSocket.sin_port = htons(9090);
tSocket.sin_family = AF_INET;
tSocket.sin_addr.s_addr = INADDR_BROADCAST;
strcpy(sBuffer,"Hello world");
if (sendto(fSocket,sBuffer,strlen(sBuffer),0,(struct sockaddr *)&tSocket,sizeof(tSocket)))<0)
{perror("sendto"); exit(3);}
for(;;);
}
----------------------------------------------------------------------------
Then I used tcpdump to see the resulting local network activity on this
particular port : on 2.05, I get an Ethernet broadcast, but on 2.1.0, the
packet is directly sent to the default gateway ! (the dst ether address is
my router MAC address !)
The fact is that the dst IP address is 255.255.255.255, instead of
(255.255.255.255 & my_interface_network_address), so the routing code
in the kernel send the packet to the default gateway, since the dst address
does not match any of the directly connected networks ...
Any clue ?
Pierre-Yves
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Pierre-Yves KEREMBELLEC Phone # +33 1 46 12 67 50
Solutions Vocales Fax # +33 1 46 12 67 00
40, rue Gabriel Crie E-mail pyk@sv.vtcom.fr
92245 Malakoff Cedex, France WEBMaster / FTPMaster
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=