Re: [PATCH] lanstreamer: IBM LanStreamer and failing multicast reception

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Neil Horman <nhorman@xxxxxxxxxx> writes:
> Bjørn Mork wrote:
>
>> didn't make any difference.
>> One thing strikes me as strange: Why don't I see any of the multicast
>> packets even when the adapter is in promiscous mode?  I can only see
>> broadcasts and unicasts to and from my own address.
>>
> If one of your quagga daemons is sitting on a segment on the cisco 
> router and you can see the daemons multicast frames on that segment, but 
> not on the   token ring segment you are trying to have them reach, I 
> would suspect that you don't have igmp working properly.  I assume you 
> are starting something on your token ring based host to listen for these 
> message (another quagga daemon I assume), do you see an IGMP frame go 
> out to subscribe your host to that multicast address?  If not, I expect 
> you need to configure your router to send all multicasts to your subnet. 
>  This would also be true if you were just snooping the wire, hoping to 
> see multicast frames from another host on a different subnet without 
> driving any IGMP subscriptions.

Oh, I realize I should have described my network a bit more in detail
before bothering you with this report.  Here's an attempt:

I only have one MAU.  All three lanstreamer interfaces and two Cisco
routers are physically connected to this same ring:

canardo         c2612a      c2612b
3xLanstreamer   IOS12.3     IOS12.3
tr0 tr1 tr2      to0/0       to0/0     
||  ||  ||        ||          ||
| --  --  --------  ---------- |
|------------------------------|

     
I am currently only using tr0 on canardo for IP.  The other two
interfaces on canardo are used purely for debugging purposes.  There
is no routing between Token Ring segments anywhere.  Both quagga and
IOS will send OSPF IP multicasts to OSPF-ALL.MCAST.NET (224.0.0.5) on
all interfaces *not* explicitly excempted.  I don't think IGMP is
relevant here.  There is no IP multicast routing involved.

The IP configuration is
canardo-tr0  10.4.0.2/29
canardo-tr1         0/32
canardo-tr2         0/32
c2612a-to0/0 10.4.0.5/29
c2612b-to0/0 10.4.0.1/29

By default, the Cisco routers will transmit IP multicasts as layer2
broadcasts on Token Ring interfaces.  This does work, and quagga do
see OSPF Hello packets to IP multicast address 224.0.0.5 from the two
Cisco routers on canardo as long as they do this.  However, the Cisco
routers don't see layer2 multicasts in this mode, only layer2
broadcasts.  To receive layer2 multicasts, they need to be configured
for layer2 multicasting on Token Ring, using the interface
configuration mode command "ip multicast use-functional".  Ref 
http://www.cisco.com/en/US/products/sw/iosswrel/ps5187/products_command_reference_chapter09186a008017cf23.html#wp1076691

The problem is that this command also make the Cisco routers
*transmit* the OSPF IP multicasts as layer 2 multicasts, which don't
show up at canardo.  They do however show up at the other Cisco router
(so they can still establish an OSPF neighbourship with eachother),
and also on a ibmtr_cs PCMCIA card I've got.  I've not yet tried
quagga over the PCMCIA card, but will do that as soon as I get a
chance.


To summarize

layer2 dst    from         to           result
----------------------------------------------
broadcast     Lanstreamer  Cisco        OK
broadcast     Cisco        Lanstreamer  OK
multicast     Lanstreamer  Cisco        OK
multicast     Cisco        Lanstreamer  failing


And for completeness:

layer2 dst    from         to           result
----------------------------------------------
multicast     Cisco        Cisco        OK
multicast     Lanstreamer  Lanstreamer  failing
multicast     Cisco        ibmtr_cs     OK


One obvious fix is to patch quagga to use layer2 broadcasts by default
on Token Ring, which will also allow it to work with the default IOS
configuration.  So it should probably be done anyway.  At least it
would be useful to be able to configure the quagga end to work with
IOS and not just the other way round.  But I'm still curious about the
layer2 multicast reception on the lanstreamer card.  AFAICS this
should also work.  And the driver claims to support promiscuous mode,
so that should probably also work.


Bjørn
-
: 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

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux