Can't start if interface have description setted with quagga.
This is not issue of igmpproxy, but I think this exception can be avoid instead exit.
With iproute administrator can attach description to ip interface, like on bare-metal router or switch. This is called 'label' on iproute terminology. Can be assigned like this:
ip address add 10.10.10.10/24 brd 10.10.10.255 label eth0:igmp dev eth0
Label format is 'device:string'. If not device before separator, returned error:
sudo ip a add 10.10.10.10/24 brd 10.10.10.255 label eth:igmp dev eth0
"dev" (eth0) must match "label" (eth:igmp).
But, if interfaces added via quagga:
!
interface lo
description Loopback0
link-detect
ip address 172.16.255.5/32 label Router_ospf
ip address 172.16.249.1/32 label ospf_R1
!
This is look like this
ip address show dev lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet 172.16.255.5/32 scope global Router_ospf
valid_lft forever preferred_lft forever
inet 172.16.249.1/32 scope global ospf_R1
valid_lft forever preferred_lft forever
And we can't start igmpproxy with this fully working interface.
ioctl SIOCGIFNETMASK for Router_ospf; Errno(19): No such device
This might be related the enumaration of the interfaces you have. igmpproxy is currently still using ioctl, getifaddrs() might help here See https://github.com/ViToni/igmpproxy/commit/6ff5d0cc21fba94a5ac53609e66c07f5b24bbdf1