News:

Latest versions:
Server plugin: 0.5.1
MVP dongle: 0.5.2
Raspberry Pi client: 0.5.2
Windows client: 0.5.2-1

Main Menu

Bootpd problem.

Started by ramses2, July 11, 2006, 10:41:09

Previous topic - Next topic

ramses2

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.


Chris

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.

ramses2

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.

Chris

Ah ok.. Well you live and learn!