Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

By default, IGMP proxy upstream interface will send IGMPv3 membership reports and it will detect what IGMP version the upstream device (e.g. multicast router) is using based on received queries. In case IGMPv1/v2 queries are received, the upstream port will fall back to the lower IGMP version. It will convert back to IGMPv3 when IGMPv1/v2 querier present timer (400s) expires. Downstream interfaces of IGMP proxy will only send IGMPv2 queries.

Note

RouterOS v7 has IGMP proxy configuration available in the main system package. Older RouterOS versions need an additional multicast package installed in order to use IGMP proxy. See more details about Packages.

Configuration options

...

General IGMP proxy configuration.

...

Property

Description

alternative-subnets (IP/Mask; Default:)By default, only packets from directly attached subnets are accepted. This parameter can be used to specify a list of alternative valid packet source subnets, both for data or IGMP packets. Has an effect only on the upstream interface. Should be used when the source of multicast data often is in a different IP network.
interface (name; Default: all)Name of the interface.
threshold  (integer: 0..4294967295; Default: 1)Minimal TTL. Packets received with a lower TTL value are ignored
upstream (yes | no; Default: no)The interface is called "upstream" if it's in the direction of the root of the multicast tree. An IGMP forwarding router must have exactly one upstream interface configured. The upstream interface is used to send out IGMP membership requests.

It is possible to get detailed status information for each interface using the print status command.

Code Block
languageros
[admin@MikroTik] /routing igmp-proxy interface print status 
Flags: X - disabled, I - inactive, D - dynamic; U - upstream 
 0  U interface=ether2 threshold=1 alternative-subnets="" upstream=yes source-ip-address=192.168.10.10 rx-bytes=3018487500 rx-packets=2012325 tx-bytes=0 tx-packets=0 

 1    interface=ether3 threshold=1 alternative-subnets="" upstream=no querier=yes source-ip-address=192.168.20.10 rx-bytes=0 rx-packets=0 tx-bytes=2973486000 tx-packets=1982324 

 2    interface=ether4 threshold=1 alternative-subnets="" upstream=no querier=yes source-ip-address=192.168.30.10 rx-bytes=0 rx-packets=0 tx-bytes=152019000 tx-packets=101346 


Property

Description

querier (read-only; yes|no)Whether the interface is acting as an IGMP querier.
source-ip-address  (read-only; IP address)The detected source IP for the interface.
rx-bytes (read-only; integer)The total amount of received multicast traffic on the interface.
rx-packet (read-only; integer)The total amount of received multicast packets on the interface.
tx-bytes (read-only; integer)The total amount of transmitted multicast traffic on the interface.
tx-packet (read-only; integer)The total amount of transmitted multicast packets on the interface.

Multicast forwarding cache (MFC) status.

Sub-menu: /routing igmp-proxy mfc

Property

Description

active-downstream-interfaces (read-only: name)The packet stream is going out of the router through this interface.
bytes (read-only: integer)The total amount of received multicast traffic.
group (read-only: IP address)IGMP group address.
packets (read-only: integer)The total amount of received multicast packets.
source (read-only: IP address)The multicast data originator address.
upstream-interface (read-only: name)The packet stream is coming into the router through this interface.
wrong-packets (read-only: integer)

The total amount of received multicast packets that arrived on a wrong interface, for example, a multicast stream that is received on a downstream interface instead of an upstream interface.

RouterOS support static multicast forwarding rules for IGMP proxy. If a static rule is added, all dynamic rules for that group will be ignored. These rules will take effect only if IGMP-proxy interfaces are configured (upstream and downstream interfaces should be set) or these rules won't be active.

Property

Description

downstream-interfaces (name; Default: )The received stream will be sent out to the listed interfaces only.
group (read-only: IP address)The multicast group address this rule applies.
source (read-only: IP address)The multicast data originator address.
upstream-interface (read-only: name)The interface that is receiving stream data.

Examples

...

To forward all multicast data coming from the ether2 interface to the downstream bridge interface, where subscribers are connected, use the configuration below. Both interfaces should have an IP address.

Code Block
languageros
/routing igmp-proxy interface
add interface=ether2 upstream=yes
add interface=bridge1

[admin@MikroTik] /routing igmp-proxy interface print
Flags: U - UPSTREAM
Columns: INTERFACE, THRESHOLD
#   INTERFACE  THRESHOLD
0 U ether2             1
1   bridge1            1

You may also need to configure alternative-subnets on the upstream interface in case the multicast sender address is in an IP subnet that is not directly reachable from the local router:

Code Block
languageros
/routing igmp-proxy interface
set [find upstream=yes] alternative-subnets=192.168.50.0/24,192.168.60.0/24

To enable quick-leave, use this settings below:

Code Block
languageros
/routing igmp-proxy
set quick-leave=yes

...