igmpproxy icon indicating copy to clipboard operation
igmpproxy copied to clipboard

igmpproxy route missing src

Open stduong opened this issue 6 years ago • 0 comments

My configuration: WAN: network 10.10.6.0/23 iface mvneta2 (10.10.7.95)

LAN: network 10.14.0.0/24 iface mvneta1 (10.14.0.1)

I am testing multicast with host source in LAN and host receiver in WAN

  • host source ip in LAN is 10.14.0.2 and use multicast group 224.1.1.1

  • host receiver ip in WAN is 10.10.6.51

I have configured igmpproxy.conf:

quickleave

phyint mvneta1 upstream ratelimit 0 threshold 5

altnet 10.14.0.0/24

altnet 224.0.0.4/24

phyint mvneta2 downstream ratelimit 0 threshold 1

altnet 10.10.6.51/32

Firewall rules:

allow all protocol from any host in WAN to any host LAN with advanced option "Allow packets with IP options to pass."

allow all protocol from any host in LAN to any host in WAN with advanced option "Allow packets with IP options to pass."

  • I start my multicast source on 10.14.0.2 running "iperf -c 224.1.1.1 -u -T 32 -t 3600 -i 1"

  • I start my listener on 10.10.6.51 running "iperf -s -u -B 224.1.1.1 -i 1" when I start manually igmpproxy in debug verbose, I see the route table: Current routing table (Activate Route):


#0: Src0: 10.14.0.2, Dst: 224.1.1.1, Age:2, St: A, OutVifs: 0x00000000 #1: Dst: 224.0.0.251, Age:2, St: I, OutVifs: 0x00000002 #2: Dst: 239.255.255.253, Age:2, St: I, OutVifs: 0x00000002

and my listener is getting the multicast stream, everything works.

However if I stop my listener (my source is still running), after some time the route to multicast group will get removed due of old age

Aging routes in table. Removing group 224.1.1.1. Died of old age. Removed route entry for 224.1.1.1 from table. Vif bits : 0x00000000 Removing MFC: 10.14.0.2 -> 224.1.1.1, InpVIf: 0 MRT_DEL_MFC; Errno(49): Can't assign requested address

and table will show:

#0: Dst: 224.0.0.251, Age:2, St: I, OutVifs: 0x00000002 #1: Dst: 239.255.255.253, Age:2, St: I, OutVifs: 0x00000002

Once I restart my listener, a the route will be readded but this time without any Src defined


#0: Dst: 224.1.1.1, Age:2, St: A, OutVifs: 0x00000000 #1: Dst: 224.0.0.251, Age:2, St: I, OutVifs: 0x00000002 #2: Dst: 239.255.255.253, Age:2, St: I, OutVifs: 0x00000002

But My listener cannot receive multicast stream.

The only solution at this point is to restart igmpproxy again.

my netgate route table show:

Destination Gateway Flags Netif Expire default 10.10.7.95 UGS mvneta2 10.10.6.0/23 link#8 U mvneta2 10.10.7.95 link#8 UHS lo0 10.14.0.0/24 link#2 U mvneta1 10.14.0.1 link#2 UHS lo0 127.0.0.1 link#10 UH lo0 208.67.220.220 00:08:a2:0f:7d:69 UHS mvneta2 208.67.222.222 00:08:a2:0f:7d:69 UHS mvneta2

How can I fix that issue? I would like to be able to leave and join the multicast group without restarting igmpproxy.

Regards

stduong avatar Jul 24 '19 19:07 stduong