Marius Vollmer <marius.vollmer(a)redhat.com> writes:
- OpenSLP is a requirement; it's the only way to configure
Sorry, I have to whine a bit. OpenSLP doesn't seem to be reliable
enough, due to no fault of its own.
In a straighforward libvirt virtual network with NAT, replies to
multicast or broadcast packets get lost since they arrive with a NATed
but non-working source address.
Also, NetworkManager sets the broadcast address in my virtual machines
to 0.0.0.0 although it shows the right one in the DHCP config on D-Bus.
Ifup does it right.
Also also, one needs to explicitly open the firewall for replies to
multicast or broadcast packets, since they are not considered to be part
of an established connection (I think).
Also also also, OpenSLP says to use net.slp.isBroadCastOnly but that's
for slpd, slptool needs net.slp.useBroadcast, which doesn't seem to be
Also also also also, OpenSLP uses CFLAGS to pass in -DLINUX which I
clobbered when compiling with CFLAGS=-g, and that magically made
broadcast work because it now used a hard coded address of
255.255.255.255 instead of using the bogus 0.0.0.0 reported by the
I am afraid we just can't rely on multicast or broadcast working. I
hope that we can at least rely on using OpenSLP with unicast (to
retrieve information about a machine once the user has typed in its
address), but I am not sure whether that will work without turning every
machine into a SLP "Directory Agent", which is probably not a good idea.
So we might need to invent our own advertisement mechanism, and only use
OpenSLP to discover IP addresses.
We still need to find a way to test this, though, and the most
straightforward thing would be to disable NAT during a test case run.
This also means that no test case can access the Internet, which it
shouldn't do anyway, so that might be OK.
(I hate software. :-)