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