I think packets are pushed in any case to the network for a simple
reason: the kernel has no way of knowing that the ONLY receiver in the
network is on the same machine.
(you can confirm this by sniffing your own traffic with tcpdump/
wireshark but i'm pretty sure).
Now, beside that, there may be some 'shortcut' so that receivers on
the same machine receive the packet without going all the way down to
the NIC and back.
I also think you can force the multicast to be local by binding to the
localhost interface instead of the real network card.
Marco
On Feb 17, 2010, at 22:38 PM, Matt Garman wrote:
Say I have two multicast programs running on the same machine. One
is a sending program, and one is a receiving program. The receiving
program has joined the group to which the sender in sending.
How does the Linux kernel route these packets? I.e., are the
packets just pushed out to the switch for routing, or is the kernel
smart enough to do some "local delivery" and directly deliver
packets to the listener?
Thank you,
Matt
--
To unsubscribe from this list: send the line "unsubscribe linux-net"
in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html