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.
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.
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.
Ah ok.. Well you live and learn!