While developing some multicast code (related to user-mode-linux) I hit
a sort-of strange behaviour of the linux ipv4 multicast code.
Let's assume you have a box without any real network devices, but still want
to do ipv4 multicast between local processes on that host.
Yes, I know, this is not the most intelligent way of doing local IPC between
processes, but still it seems valid to me. I mean, you can write the same
code which would run distributed over the multicast network or only locally
on the same box.
The problem is, that if you don't have any multicast capable network device,
IP_ADD_MEMBERSHIP returns with ENODEV. 'ifconfig lo multicast' and adding
a route to the all-multicast network to loopback doesn't work either.
As soon as you have an ethernet device on the system, multicast between
local processes starts to work.
The question is, if this is desired behaviour. If yes, please explain why.
If not, I will have a look on how to solve the problem and send a patch.
Live long and prosper
- Harald Welte / laforge@xxxxxxxxxxxx http://www.gnumonks.org
GCS/E/IT d- s-: a-- C+++ UL++++$ P+++ L++++$ E--- W- N++ o? K- w--- O- M-
V-- PS+ PE-- Y+ PGP++ t++ 5-- !X !R tv-- b+++ DI? !D G+ e* h+ r% y+(*)