misc/122839: FreeBSD 7 multucast routing problem

Eugene 4pr at legis.krsn.ru
Thu Apr 17 05:40:01 UTC 2008


>Number:         122839
>Category:       misc
>Synopsis:       FreeBSD 7 multucast routing problem
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Apr 17 05:40:00 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Eugene
>Release:        FreeBSD 7
>Organization:
meridian ltd
>Environment:
FreeBSD central-gw 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Tue Apr 15 21:05:52 KRAST 2008
>Description:
Multicast routing does not working correctly. For example if i'm sending multicast stream into interface em0 with ip 192.168.101.1/24 from a windows machine with ip 192.168.101.2/24, using vlc player as generator of the stream 239.0.2.1, and trying to receive it on the interface em1 with ip 192.168.102.1/24 with other windows machine with ip 192.168.102.2/24 with the same version of vlc, acting as recever for that multicast stream, mrouted, wich builded from the ports (i also tryed pimdd) does not do multicast routing, until i put both interfaces into a promiscious mode. 
First i tryed multicast routing with GENERIC kernel, by loading ip_mroute before interfaces have been configured with /boot/loader.conf (ip_mroute_load="YES"). Then i tryed to load ip_mroute after evrething will loaede with kldload ip_mroute. Both times were no any errors on the console or logs. kldstat showed me, what module was loaded. As resault mrouting still not work.
Than i tryed to rebuild the kernel with option MROUTING in kernel config. Mrotuing still not working. I thought, it may be a bug in the ethernet network driver, so i tryed to work with msk0 msk1 interfaces (that ethernet adapters builded into the motherboard). The resault still the same.
Then mrouted daemon working, on all interfaces appears flag ALLMULTI, i sow than on ifconfig output.
If i connect those two windows machines over a switch (machines even with the same ips) multicast stream appears on the other machine, so the stream itself is correct.
If i start mrouted with debug option -d, without promiscious mode on network adapters, it seems, what mrouted are able to receive only igmp leave messages, then i pressing the stop button on vlc acting as recever: 

19:12:18.835 RECV leave message      from 192.168.102.2   to 224.0.0.2.

With promiscious mode enabled mrouted output is: 

19:13:48.138 RECV V2 member report   from 192.168.102.2   to 239.0.2.1
19:13:48.138 group 239.0.2.1 joined on vif 1
19:13:48.138 update lclgrp (192.168.101/24 239.0.2.1) gm:2
19:13:48.270 RECV V2 member report   from 192.168.102.2   to 239.0.2.1
19:13:52.344 aging forwarding cache entries

There is no any packet filters enabled:

ipfw list
ipfw: getsockopt(IP_FW_GET): Protocol not available

Output ifconfig (with mrouted or pimdd disabled, and no ALLMULTI flag):

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>
        ether 00:15:17:6d:3d:be
        inet 192.168.101.1 netmask 0xffffff00 broadcast 192.168.101.255
        media: Ethernet autoselect (1000baseTX <full-duplex>)
        status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>
        ether 00:15:17:6d:3d:45
        inet 192.168.102.1 netmask 0xffffff00 broadcast 192.168.102.255
        media: Ethernet autoselect (1000baseTX <full-duplex>)
        status: active
msk0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=9a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 00:1e:8c:60:f8:43
        media: Ethernet autoselect (none)
        status: no carrier
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        inet 127.0.0.1 netmask 0xff000000

>How-To-Repeat:
Just try to start multicast routing.
>Fix:
Quick fix is to enable promiscious mode on the network adapters.

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list