I have installed vyos rolling release in a setup with multicast IPTV. In this setup the ISP requires NAT on the upstream interfaces for the settopboxes in the local lan. I configured the igmp-proxy protocol.
I have noticed the behavior that after a reboot the multicast streams freeze after two seconds, which indicates it doesn’t respond to the upstream IGMP requests.
The problem is solved when the igmp-proxy protocol is restarted after a system reboot. Because of this, I believe it is related to the startup order.
Version information:
gerritb@xtapodi:\~$ show version
Version: VyOS 2025.11
Release train: circinus
Release flavor: generic
Built by: autobuild@vyos.net
Built on: Tue 11 Nov 2025 13:49 UTC
Build UUID: f65157d9-61eb-410c-9876-bc5e239a2f96
Build commit ID: 6d5f851f240d7e
Architecture: x86_64
Boot via: installed image
System type: bare metal
Hardware vendor: Default string
Hardware model: Default string
Hardware S/N: Default string
Hardware UUID: 03000200-0400-0500-0006-000700080009
Copyright: VyOS maintainers and contributors
the igmp-proxy service config:
igmp-proxy {
interface bond0.110 {
role downstream
}
interface eth5.4 {
alt-subnet 0.0.0.0/0
role upstream
}
}
(From this it may be clear that the upstream is a VLAN on an ethernet interface and clients are in a VLAN on a bond interface.)
There are firewall rules in place, but input chains are in a default-accept policy and multicast ranges are explicitly permitted.
I do not reset routers unless I really have to. The workaround (restart igmp-proxy) is good but I think the IGMP proxy protocol should start probably after all nftables and NAT is setup. I do not think I can influence that from configuration.
So IGMP proxy is already started last. Can you verify that “when it’s not working” igmp proxy is running as process (ps faux)? Can you also share the rest of your config?
Thank you for your response. I just found out a reboot didn’t reproduce the issue. A power-cycle does. I checked if igmpproxy was running, and it is not after a cold boot. journalctl -xb |grep igmp gives me a hint: “There must be at least 1 Vif as upstream.” :
░░ Subject: A start job for unit igmpproxy.service has begun execution
░░ A start job for unit igmpproxy.service has begun execution.
░░ Subject: A start job for unit igmpproxy.service has finished successfully
░░ A start job for unit igmpproxy.service has finished successfully.
Feb 12 23:08:48 xtapodi igmpproxy[4144]: There must be at least 1 Vif as upstream.
░░ Subject: A stop job for unit igmpproxy.service has begun execution
░░ A stop job for unit igmpproxy.service has begun execution.
Feb 12 23:21:49 xtapodi systemd[1]: igmpproxy.service: Deactivated successfully.
░░ The unit igmpproxy.service has successfully entered the 'dead' state.
░░ Subject: A stop job for unit igmpproxy.service has finished
░░ A stop job for unit igmpproxy.service has finished.
░░ Subject: A start job for unit igmpproxy.service has begun execution
░░ A start job for unit igmpproxy.service has begun execution.
░░ Subject: A start job for unit igmpproxy.service has finished successfully
░░ A start job for unit igmpproxy.service has finished successfully.
Dumping the entire config in here might be a bit much? Here is how the proxy is configured, and the upstream interface over which it complains:
gerritb@xtapodi# show protocols igmp-proxy
interface bond0.110 {
role downstream
}
interface eth5.4 {
alt-subnet 0.0.0.0/0
role upstream
}
[edit]
gerritb@xtapodi# show interfaces ethernet eth5 vif 4
address dhcp
description “KPN-iptv mind the dhcp opts”
dhcp-options {
client-id IPTV_RG
no-default-route
user-class 121
vendor-class-id IPTV_RG
}