Loggytronic Forum

VOMP => VOMP General / MVP => Topic started by: ramses2 on July 11, 2006, 10:41:09

Title: Bootpd problem.
Post by: ramses2 on July 11, 2006, 10:41:09
Hello,

I decide to put two ethernet interface on my vdr box.
Eth0 is dedicated for the internet connection with a default route to my adsl router.
Eth1 is dedicated for the streaming data and used by the vomp-server pluging. The problem is when the vmp appliance send a broadcast to this segment (eth1) the server respond also with a broadcast (255.255.255.255) and this packet is sended on eth0; the impact is the vmp appliance never receive the packet.
The workaround implemented by me is to add an ip-broadcast address in boot section into the vomp-00-00-00-00-00-00.conf file.

The code implemented to do this is added in the bootpd.c in the Bootpd::processRequest() function.


// Set Broadcast Address
char* broadcastAddr = config.getValueString("Boot", "Ip Broadcast");
if (broadcastAddr)
    ds.send(broadcastAddr, 16868, (char*)data, length);
else
    ds.send("255.255.255.255", 16868, (char*)data, length);

Conclusion:
If you have for example this network configuration.

etho : 192.168.1.x /24
eth1 : 192.168.2.x /24 (the vomp network)
with a default route 0.0.0.0 gw 192.168.1.1

The solution is to add an Ip Broadcast entry in the configuration file with 192.168.2.255 value.


Have a nice day.

Title: Re: Bootpd problem.
Post by: Chris on July 12, 2006, 16:40:21
Good work, but shouldn't Linux be sending the broadcast packet on both interfaces anyway with it being sent to the total broadcast address? I'm just interested to know why it isn't doing this.
Title: Re: Bootpd problem.
Post by: ramses2 on July 12, 2006, 18:56:12
No the broadcast 255.255.255.255 is only sended to the interface which has the defautlt route 0.0.0.0.
I've read the kernel documentation about it and it confirms this.

Have a nice day.
Title: Re: Bootpd problem.
Post by: Chris on July 13, 2006, 14:47:27
Ah ok.. Well you live and learn!