Skip to content

igmpproxy seemingly bypassed for UDP stream #73

Open

Description

@Eloque

I have an KPN combined fibre internet/TV connection. It uses routed IPTV to provide tv service. As such I have IGMP snooping active on my two switches and configured igmpproxy on my firewall Ubuntu 18.04 box.

This is my config

quickleave

phyint eth0 disabled
phyint eth0.6 disabled
phyint ppp0 disabled

phyint enp5s0 downstream ratelimit 0 threshold 1

phyint vlan4 upstream  ratelimit 0  threshold 1
        altnet 0.0.0.0/0

A TV stream starts as unicast, but after a second or so, switches to multicast. I can see an UDP stream of about 8.000kb/s run on vlan4, but it never gets to enp5s0, hence the stream freezes. It's almost as if igmpproxy is ignored. However, as soon as I kill the igmpproxy, the stream also stops.

I would expect it to be forwarded from the vlan4 interface to the enp5s0 lan interface. But this does not happen. The issues is somewhere between the routing and igmpproxy. The routing is, for this test setup, permissive, as in the policy on all interface is ACCEPT.

iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  anywhere             213.75.112.0/21
MASQUERADE  all  --  anywhere             anywhere

iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

This an overview of the network itself
image

This is an overview of the current routing when igmpproxy is running;

Current routing table (Insert Route):
-----------------------------------------------------
#0: Dst: 225.0.71.1, Age:2, St: I, OutVifs: 0x00000001
#1: Dst: 224.3.2.6, Age:2, St: I, OutVifs: 0x00000001
#2: Dst: 224.0.252.127, Age:2, St: I, OutVifs: 0x00000001
#3: Dst: 239.255.255.246, Age:2, St: I, OutVifs: 0x00000001
#4: Dst: 224.0.0.251, Age:2, St: I, OutVifs: 0x00000001
-----------------------------------------------------

I can see similar tables being active on the DSG-1100 units. I am looking at this issues from mulitple angles, but so far have not find a solution or cause.

Activity

  1. pali commented on Jun 28, 2020

    @pali
    Owner

    I can see an UDP stream of about 8.000kb/s run on vlan4, but it never gets to enp5s0

    Can you check (e.g. via tcpdump) on ubuntu box that above UDP stream really is not available on enp5s0?

    However, as soon as I kill the igmpproxy, the stream also stops.

    This should prove that igmpproxy correctly received IGMP packets from enp5s0 for joining multicast group and also correctly forwarded join request to vlan4.

    Two things could help:

    • update igmpproxy to the last version (from git)
    • provide full (debug) log from igmpproxy
  2. Eloque commented on Jun 28, 2020

    @Eloque
    Author

    I will update and create the logs as well as run the tcpdump.

  3. NikolayOst commented on Jun 29, 2020

    @NikolayOst

    Hi, Eloque I have near same setup also on kpn just run igmpproxy on openwrt.

    1. if IGMP snooping is enabled on GS-1100-08? In my case it freesing then I remove mark in checkbox on my GS116ev2 and come back then I enable it again.

    2. here is very helpfull manual with I use: https://www.benweb.eu/articles/technical/kpn-glasvezel-met-lede-openwrt-fork/

  4. Eloque commented on Jun 29, 2020

    @Eloque
    Author

    Thanks for the comments;

    1. if IGMP snooping is enabled on GS-1100-08? In my case it freesing then I remove mark in checkbox on my GS116ev2 and come back then I enable it again.

    IGMP Snooping is on. If I run the Experia box that came with the product, it works over those switches. So I am inclined to think the issue is in the router/Ubuntu box.

    1. here is very helpfull manual with I use: https://www.benweb.eu/articles/technical/kpn-glasvezel-met-lede-openwrt-fork/

    I've read that one. It's either the igmpproxy or the iptables that are not working properly. I am investigating both.

  5. Eloque commented on Jun 29, 2020

    @Eloque
    Author

    I've cloned from Git and build igmproxy.

    I then ran the proxy while capturing the log. I can see on iptraf-ng that about 8000kb/s UDP traffic is generated but no traffic on the enp5s0 interface after the unicast period.

    The log is from changing the channels 2 times. Both those times, video and sounds comes on, stutters, and then stops. Tge 192.168.40.78 ip is the target STB.

    igmplog.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions