igmpproxy fail to route after old multicast group is removed from table



  • Hi, I am using netgate with pfSense v2.4.4-RELEASE-p3.
    It has igmpproxy v0.2.1.

    I am trying to set up multicast stream with source in LAN and and host client in WAN.
    LAN network 10.14.0.0/24 iface mvneta1
    WAN network 10.15.0.0/24 iface mvneta2

    here is my routes
    Routing tables:

    Internet:
    Destination Gateway Flags Netif Expire
    default 10.10.15.95 UGS mvneta2
    10.15.0.0/24 link#8 U mvneta2
    10.15.0.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

    here is my igmpproxy.conf:
    quickleave
    phyint mvneta1 upstream ratelimit 0 threshold 5
    altnet 10.14.0.0/24

    phyint mvneta2 downstream ratelimit 0 threshold 1
    altnet 10.15.0.0/24

    I have:
    - a server in LAN that send multicast on 224.1.1.1 and sending continuously
    (it is running iperf -c 224.1.1.1 -u -T 32 -t 3600 -i 1)
    - a client in WAN that try try to join that multicast address
    (it is running iperf -s -u -B 224.1.1.1 -i 1)

    when I start igmpproxy in debug mode, it works fine and table has:

    Current routing table (Activate Route):
    #0: Src0: 10.14.0.2, Dst: 224.1.1.1, Age:1, St: A, OutVifs: 0x00000002
    #1: Dst: 224.0.0.251, Age:2, St: I, OutVifs: 0x00000002
    #2: Dst: 239.255.255.253, Age:1, St: I, OutVifs: 0x00000002

    my Listener is able to listen to multicast.However if I stop the listener and the sender is still sending, after some time the route to the group is removed:

    About to call timeout 26 (#0)
    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 : 0x00000002
    Removing MFC: 10.14.0.2 -> 224.1.1.1, InpVIf: 2
    MRT_DEL_MFC; Errno(49): Can't assign requested address

    Current routing table (Delete Route):
    #1: Dst: 224.0.0.251, Age:2, St: I, OutVifs: 0x00000002
    #2: Dst: 239.255.255.253, Age:2, St: I, OutVifs: 0x00000002

    If I restart the listener, the route will be added without Src:
    #0: Dst: 224.1.1.1, Age:2, St: I, OutVifs: 0x00000002
    #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 listener will fail to get multicast. Only solution to this:

    • restart igmpproxy
    • or restart multicast source

    is it how it is suppose to work?


Log in to reply