IGMPProxy is not starting after update to latest 2.5.0-Dev



  • I updated my pfsense instance to latest version on May 2nd.
    Now IGMPProxy is not starting anymore.
    The error i get:

    MRT_ADD_VIF; Errno(48): Address already in use
    

    When i try to start it from the commandline i get:

    [2.5.0-DEVELOPMENT][admin@router]/root: igmpproxy -dvvvvvvvv /var/etc/igmpproxy.conf
    Searching for config file at '/var/etc/igmpproxy.conf'
    Config: Quick leave mode enabled.
    Config: Got a phyint token.
    Config: IF: Config for interface igb2.4.
    Config: IF: Got upstream token.
    Config: IF: Got ratelimit token '0'.
    Config: IF: Got threshold token '1'.
    Config: IF: Got altnet token 213.75.0.0/16.
    Config: IF: Altnet: Parsed altnet to 213.75/16.
    Config: IF: Got altnet token 10.0.0.0/8.
    Config: IF: Altnet: Parsed altnet to 10/8.
    Config: IF: Got altnet token 217.166.0.0/16.
    Config: IF: Altnet: Parsed altnet to 217.166/16.
    IF name : igb2.4
    Next ptr : 0
    Ratelimit : 0
    Threshold : 1
    State : 1
    Allowednet ptr : 644000
    Config: Got a phyint token.
    Config: IF: Config for interface igb2.44.
    Config: IF: Got downstream token.
    Config: IF: Got ratelimit token '0'.
    Config: IF: Got threshold token '1'.
    Config: IF: Got altnet token 172.19.44.0/24.
    Config: IF: Altnet: Parsed altnet to 172.19.44/24.
    IF name : igb2.44
    Next ptr : 0
    Ratelimit : 0
    Threshold : 1
    State : 2
    Allowednet ptr : 644030
    Config: Got a phyint token.
    Config: IF: Config for interface pppoe0.
    Config: IF: Got disabled token.
    IF name : pppoe0
    Next ptr : 0
    Ratelimit : 0
    Threshold : 1
    State : 0
    Allowednet ptr : 0
    Config: Got a phyint token.
    Config: IF: Config for interface igb1.1.
    Config: IF: Got disabled token.
    IF name : igb1.1
    Next ptr : 0
    Ratelimit : 0
    Threshold : 1
    State : 0
    Allowednet ptr : 0
    Config: Got a phyint token.
    Config: IF: Config for interface igb1.20.
    Config: IF: Got disabled token.
    IF name : igb1.20
    Next ptr : 0
    Ratelimit : 0
    Threshold : 1
    State : 0
    Allowednet ptr : 0
    buildIfVc: Interface lo0 Addr: 127.0.0.1, Flags: 0xffff8049, Network: 127/8
    buildIfVc: Interface igb1.1 Addr: 172.19.0.1, Flags: 0xffff8843, Network: 172.19.0/24
    buildIfVc: Interface igb2.4 Addr: 10.86.116.244, Flags: 0xffff8843, Network: 10.86.112/21
    buildIfVc: Interface igb2.44 Addr: 172.19.44.1, Flags: 0xffff8843, Network: 172.19.44/24
    buildIfVc: Interface igb1.20 Addr: 203.0.113.1, Flags: 0xffff8843, Network: 203.0.113/24
    buildIfVc: Interface pppoe0 Addr: 62.251.92.176, Flags: 0xffff88d1, Network: 62.251.92.176/32
    Found config for igb1.1
    Found config for igb2.4
    Found config for igb2.44
    Found config for igb1.20
    Found config for pppoe0
    Found upstrem IF #0, will assing as upstream Vif 22
    adding VIF, Ix 0 Fl 0x0 IP 0xf474560a igb2.4, Threshold: 1, Ratelimit: 0
            Network for [igb2.4] : 10.86.112/21
            Network for [igb2.4] : 213.75/16
            Network for [igb2.4] : 10/8
            Network for [igb2.4] : 217.166/16
    adding VIF, Ix 1 Fl 0x0 IP 0x012c13ac igb2.44, Threshold: 1, Ratelimit: 0
            Network for [igb2.44] : 172.19.44/24
            Network for [igb2.44] : 172.19.44/24
    MRT_ADD_VIF; Errno(48): Address already in use
    

    Config:

    ##------------------------------------------------------
    ## Enable Quickleave mode (Sends Leave instantly)
    ##------------------------------------------------------
    quickleave
    phyint igb2.4 upstream ratelimit 0 threshold 1
    altnet 213.75.0.0/16
    altnet 10.0.0.0/8
    altnet 217.166.0.0/16
    
    phyint igb2.44 downstream ratelimit 0 threshold 1
    altnet 172.19.44.0/24
    
    phyint pppoe0 disabled
    phyint igb1.1 disabled
    phyint igb1.20 disabled
    

    When i remove igb2.44 from the config it starts but is not usable.
    This config is needed to be able to use IP TV from my provider.

    How can i solve this or is it a bug?



  • Debugging this gives me the feeling IGMPProxy is not the problem but pfsense is as i am trying to get PIMD configured and get the same error:

    pimd[68557]: Failed adding VIF 1 (MRT_ADD_VIF) for iface igb2.4: Address already in use
    

    If there is information missing please let me know.



  • Reading https://github.com/troglobit/smcroute/issues/36#issuecomment-221486714

    Now, what is a VIF? Multicast routing does not use your regular interfaces but creates virtual interfaces that multicast routes then operate on. It may sound a bit weird, and trust me it is. If these VIF's cannot be created (as indicated by the three first log messages), then multicast routing will not work. I have no idea why it doesn't work for you, my guess was the ttl-threshold setting you had set, maybe that new feature, introduced in v2.1.0, somehow doesn't work on the CentOS 6 kernel, I don't even know what kernel version is used ... maybe downgrading to v2.0.0 would work better for you, or stripping down the configuration file.

    Makes me think igmp proxy is not able to create a vif.



  • have exactly the same issue since this update.. reverting to an older version (april) resolves the issue, not sure whats causing it.. similar debug input btw and pretty basic config. Even if I remove the subnets from the upstream interface it states MRT_ADD_VIF; Errno(48): Address already in use.. changing ratelimit or threshold no effect either.

    Same issue with pimd indeed so I think pfsense broke it somehow.. not sure if it's kernel related as the april versions were also freebsd 12.1 based but perhaps a previous kernel.

    Config:

    ##------------------------------------------------------
    Enable Quickleave mode (Sends Leave instantly)
    ##------------------------------------------------------
    quickleave
    phyint igb0.4 upstream ratelimit 0 threshold 1
    altnet 217.166.0.0/16
    altnet 213.75.167.0/24

    phyint ix0 downstream ratelimit 0 threshold 1
    altnet 10.0.0.0/24

    phyint pppoe0 disabled
    phyint ue0 disabled
    phyint ovpnc2 disabled
    phyint ix0.50 disabled
    phyint ix0.100 disabled

    [2.5.0-DEVELOPMENT][root@pfSense.lousy.biz]/root: igmpproxy -dvvvvvvvv /var/etc/igmpproxy.conf
    Searching for config file at '/var/etc/igmpproxy.conf'
    Config: Quick leave mode enabled.
    Config: Got a phyint token.
    Config: IF: Config for interface igb0.4.
    Config: IF: Got upstream token.
    Config: IF: Got ratelimit token '0'.
    Config: IF: Got threshold token '1'.
    Config: IF: Got altnet token 217.166.0.0/16.
    Config: IF: Altnet: Parsed altnet to 217.166/16.
    Config: IF: Got altnet token 213.75.167.0/24.
    Config: IF: Altnet: Parsed altnet to 213.75.167/24.
    IF name : igb0.4
    Next ptr : 0
    Ratelimit : 0
    Threshold : 1
    State : 1
    Allowednet ptr : 646000
    Config: Got a phyint token.
    Config: IF: Config for interface ix0.
    Config: IF: Got downstream token.
    Config: IF: Got ratelimit token '0'.
    Config: IF: Got threshold token '1'.
    Config: IF: Got altnet token 10.0.0.0/24.
    Config: IF: Altnet: Parsed altnet to 10.0.0/24.
    IF name : ix0
    Next ptr : 0
    Ratelimit : 0
    Threshold : 1
    State : 2
    Allowednet ptr : 646020
    Config: Got a phyint token.
    Config: IF: Config for interface pppoe0.
    Config: IF: Got disabled token.
    IF name : pppoe0
    Next ptr : 0
    Ratelimit : 0
    Threshold : 1
    State : 0
    Allowednet ptr : 0
    Config: Got a phyint token.
    Config: IF: Config for interface ue0.
    Config: IF: Got disabled token.
    IF name : ue0
    Next ptr : 0
    Ratelimit : 0
    Threshold : 1
    State : 0
    Allowednet ptr : 0
    Config: Got a phyint token.
    Config: IF: Config for interface ovpnc2.
    Config: IF: Got disabled token.
    IF name : ovpnc2
    Next ptr : 0
    Ratelimit : 0
    Threshold : 1
    State : 0
    Allowednet ptr : 0
    Config: Got a phyint token.
    Config: IF: Config for interface ix0.50.
    Config: IF: Got disabled token.
    IF name : ix0.50
    Next ptr : 0
    Ratelimit : 0
    Threshold : 1
    State : 0
    Allowednet ptr : 0
    Config: Got a phyint token.
    Config: IF: Config for interface ix0.100.
    Config: IF: Got disabled token.
    IF name : ix0.100
    Next ptr : 0
    Ratelimit : 0
    Threshold : 1
    State : 0
    Allowednet ptr : 0
    buildIfVc: Interface ix0 Addr: 10.0.0.1, Flags: 0xffff8943, Network: 10.0.0/24
    buildIfVc: Interface lo0 Addr: 127.0.0.1, Flags: 0xffff8049, Network: 127/8
    buildIfVc: Interface ue0 Addr: 192.168.8.100, Flags: 0xffff8943, Network: 192.168.8/24
    buildIfVc: Interface igb0.4 Addr: 10.228.59.48, Flags: 0xffff8943, Network: 10.228.58/23
    buildIfVc: Interface ix0.50 Addr: 10.0.3.1, Flags: 0xffff8843, Network: 10.0.3/24
    buildIfVc: Interface ix0.100 Addr: 10.0.4.1, Flags: 0xffff8843, Network: 10.0.4/24
    buildIfVc: Interface pppoe0 Addr: 84.85.126.117, Flags: 0xffff89d1, Network: 84.85.126.117/32
    buildIfVc: Interface ovpns1 Addr: 10.0.2.1, Flags: 0xffff8051, Network: 10.0.2/24
    buildIfVc: Interface ovpnc2 Addr: 10.20.10.6, Flags: 0xffff8151, Network: 10.20.10.6/32
    Found config for ix0
    Found config for ue0
    Found config for igb0.4
    Found config for ix0.50
    Found config for ix0.100
    Found config for pppoe0
    Found config for ovpnc2
    adding VIF, Ix 0 Fl 0x0 IP 0x0100000a ix0, Threshold: 1, Ratelimit: 0
    Network for [ix0] : 10.0.0/24
    Network for [ix0] : 10.0.0/24
    Found upstrem IF #0, will assing as upstream Vif 19
    adding VIF, Ix 1 Fl 0x0 IP 0x303be40a igb0.4, Threshold: 1, Ratelimit: 0
    Network for [igb0.4] : 10.228.58/23
    Network for [igb0.4] : 217.166/16
    Network for [igb0.4] : 213.75.167/24
    MRT_ADD_VIF; Errno(48): Address already in use



  • Would be nice to verify if it should be logged as a bug.



  • Seeing the exact same symptoms here on the version built on Tue May 12 23:25:45 EDT 2020

    May 13 14:14:56 pimd 21009 Failed adding VIF 2 (MRT_ADD_VIF) for iface em1.50: Address already in use
    May 13 14:14:56 pimd 21009 Interface em1 is DISABLED; vif #1 out of service
    May 13 14:14:56 pimd 21009 Interface em0 is DISABLED; vif #0 out of service
    May 13 14:14:56 pimd 21009 Local static RP: 169.254.0.1, group 232.0.0.0/8
    May 13 14:14:56 pimd 21009 Adding Cand-RP group prefix 224.0.0.0/4
    May 13 14:14:56 pimd 21009 Local Cand-RP address 192.168.50.1, priority 0, interval 60 sec
    May 13 14:14:56 pimd 21009 Local Cand-BSR address 192.168.50.1, priority 5
    May 13 14:14:56 pimd 21009 Getting vifs from /var/etc/pimd/pimd.conf
    May 13 14:14:56 pimd 21009 Disabling all vifs from kernel
    May 13 14:14:56 pimd 21009 Installing em1.10 (192.168.10.1 on subnet 192.168.10) as vif #3 - rate 0
    May 13 14:14:56 pimd 21009 Installing em1.50 (192.168.50.1 on subnet 192.168.50) as vif #2 - rate 0
    May 13 14:14:56 pimd 21009 Installing em1 (192.168.1.1 on subnet 192.168.1) as vif #1 - rate 0
    May 13 14:14:56 pimd 21009 Installing em0 (216.16.210.212 on subnet 216.16.210) as vif #0 - rate 0
    May 13 14:14:56 pimd 21009 Getting vifs from kernel
    May 13 14:14:56 pimd 21009 pimd version 2.3.2 starting ...





  • also seeing this in respect of PIMD which was working fine on 2.4.3



  • Please review https://redmine.pfsense.org/issues/10558#note-9 It may help you as well.



  • @maartenhendrix hi thanks but i don't quite understand what the suggestion is. i tried to update pimd and it all seems up to date. i disabled the service and rebooted and when it came back up re-enabled the service but pimd still doesnt start. is that what is being suggested? cheers!



  • Yeah that is what works for IGMPProxy



  • @maartenhendrix said in IGMPProxy is not starting after update to latest 2.5.0-Dev:

    Yeah that is what works for IGMPProxy

    ok, thanks. i made some progress based on your info. there's some other issues but i've worked around them. on 2.4.3 i was able to have the default action as to bind to all interfaces and then disable WAN and any others you don't want PIMD running on. this won't work on 2.5 but reversing the logic and restarting after every config change gets it working. cheers!



  • A couple of month ago, I finally managed to get multicast working on 2.4.5 with the 'new' PIMD package (despite a lot of effort I never managed to get IGMP-proxy working).

    However, than ...

    1. I did a try to migrate to 2.5.0, that did not work at all due to a problem after reboot (see another post), but I also noticed that PIMD was not longer working ☹
    2. so I switched back to 2.4.5 (PIMD working again). However ...... then I made a config change splitting a LAGG in two normal interfaces. That should not affect PIMD, I would say, but it did. Even worse I do not managed to get PIMD working again still using 2.4.5 ☹

    My strong impression is that there issues below the (free bsd?) surface affecting PIMD in both 2.4.5. and 2.5.0. !!

    There are a couple of lines in the logging which are ..... let's say strange. Note I use "bind to none" as default! Here log messages during startup (read bottom up).

    • and then the result, nu vifs, so no working PIMD

    Jun 1 14:01:50 pimd[89238]: Cannot forward: no enabled vifs

    • and here the windows invented "169.254.0.1" address range .......

    Jun 1 14:01:50 pimd[89238]: Local static RP: 169.254.0.1, group 232.0.0.0/8

    • the groups below are probably OK

    Jun 1 14:01:50 pimd[89238]: Local static RP: 192.168.14.1, group 224.0.0.0/4
    Jun 1 14:01:50 pimd[89238]: Local static RP: 192.168.116.1, group 224.0.0.0/4
    Jun 1 14:01:50 pimd[89238]: Local static RP: 192.168.1.1, group 224.0.0.0/4

    • The BSR Candidate does not receive an address (not so important here, but ...)

    Jun 1 14:01:50 pimd[89238]: Local Cand-BSR address 0.0.0.0, priority 250

    • below a strange message "Invalid phyint address" (that are working interfaces of course)

    Jun 1 14:01:50 pimd[89238]: /var/etc/pimd/pimd.conf:8 - Invalid phyint address 'ix0.14'
    Jun 1 14:01:50 pimd[89238]: /var/etc/pimd/pimd.conf:7 - Invalid phyint address 'ix1.116'
    Jun 1 14:01:50 pimd[89238]: /var/etc/pimd/pimd.conf:6 - Invalid phyint address 'lagg0.16'

    • The vifs are not present above, which is logical, I did not select those interfaces, (but even doing so does not lead to an OK situation)

    Jun 1 14:01:50 pimd[89238]: Getting vifs from /var/etc/pimd/pimd.conf

    Jun 1 14:01:50 pimd[89238]: Disabling all vifs from kernel

    • So to concluded so far 1) some interfaces do have VIFS ....... and others ..... NOT (why oh why!!??)
      Jun 1 14:01:50 pimd[89238]: Installing lagg0.13 (192.168.13.1 on subnet 192.168.13) as vif #2 - rate 0
      Jun 1 14:01:50 pimd[89238]: Installing lagg0.26 (192.168.2.1 on subnet 192.168.2) as vif #1 - rate 0
      Jun 1 14:01:50 pimd[89238]: Installing lagg0.10 (192.168.10.1 on subnet 192.168.10) as vif #0 - rate 0
      Jun 1 14:01:50 pimd[89238]: Getting vifs from kernel
      Jun 1 14:01:50 pimd[89238]: pimd version 2.3.2 starting ...

    I also noted "Jun 1 14:34:29 pimd[33330]: /var/etc/pimd/pimd.conf:12 - Cand-RP address 'lagg0.26' is not local, defaulting to 0.0.0.0" during try and test ☺

    Whatever things are .... not yet running as it should ...... and I desperately would like to have a running PIMD (for my media server).

    Hope that this info helps the developers to further investigate (and solve) the problem!

    Sincerely,

    Louis



  • Hello,

    The more I am trying to get pimd running, the more I am wondering it the FreeBSD setup is correct! Note that I am not a FreeBSD expert, and I am also not aware of NetGate's low level settings. But I do have some doubts e.g. related to:

    • some where there should be ^ip_mroute_load="yes"^ (loader.conf ??)
    • And the multicast interface flag is not set by default .....
      so in the interface setup there should be things like
      ^sudo ip link set ix0 multicast on^ and
      ^sudo ip link set ix1 multicast on^

    Perhaps other config issues too ....

    Louis



  • From the Diagnostics / Command Prompt menu, I used ^ifconfig^

    The output is among other things.

    ix0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=e507bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
    ether 6c:b3:11:3b:bb:90
    hwaddr 6c:b3:11:3b:bb:90
    inet6 fe80::6eb3:11ff:fe3b:bb90%ix0 prefixlen 64 scopeid 0x1
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    media: Ethernet autoselect (10Gbase-SR <full-duplex,rxpause,txpause>)
    status: active

    and

    ix0.14: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=600703<RXCSUM,TXCSUM,TSO4,TSO6,LRO,RXCSUM_IPV6,TXCSUM_IPV6>
    ether 6c:b3:11:3b:bb:90
    inet6 fe80::6eb3:11ff:fe3b:bb90%ix0.14 prefixlen 64 scopeid 0x15
    inet6 2001:984:a874::1 prefixlen 64
    inet 192.168.14.1 netmask 0xffffff00 broadcast 192.168.14.255
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    media: Ethernet autoselect (10Gbase-SR <full-duplex,rxpause,txpause>)
    status: active
    vlan: 14 vlanpcp: 0 parent interface: ix0
    groups: vlan

    So, my verdict in the previous mail was probably not correct.

    No idea what is wrong, one thing is for sure .... it does not work ☹

    Louis



  • Hello,

    I just discoverd that when I replace the interface names in /var/etc/pimdpimd.conf with the corresponding IP-addresses, a couple of error messages disappear.

    However the issue that not all (vlan)interfaces have vifs stay, and at the end of the startup PIMD is still not running due to "Cannot forward: no enabled vifs"

    also note that i am missing ^mrouting^ and my feelings are not changes since I created bug #9631 a year ago.

    For those intrested some links:
    https://troglobit.com/howto/pimd-on-freebsd/
    https://troglobit.com/howto/pimd-on-openbsd/
    https://www.freebsd.org/cgi/man.cgi?query=igmpproxy&sektion=8&apropos=0&manpath=FreeBSD+Ports+9.0-RELEASE
    https://www.freebsd.org/cgi/man.cgi?query=mrouted&sektion=8
    https://bsdrp.net/documentation/examples/multicast_with_pim-sm
    https://github.com/troglobit/pimd/issues/78

    Louis


Log in to reply