I writing to support email for years now, but with no result.
Every normal person expects support when invests millions, but at mikrotik this is not the case.
Ticket #2013100166000528 opened 01.10.2013.
Simple but big bug, still not solved!
I writing to support email for years now, but with no result.
Every normal person expects support when invests millions, but at mikrotik this is not the case.
Ticket #2013100166000528 opened 01.10.2013.
Simple but big bug, still not solved!
This bug is solved in 6.18.
Janisk, can we expect you to fix a bug that causes that sometimes when the routerboard gets fast leave message for a particular IGMP group on one interface , he’ doing leave at all downstream interfaces who are joined into that group, and that should be done only live on the interface from which message is received?
Thnaks…
do not enable fast-leave on the router if there is more than one customer device connected. In other words - if you have more than one IGMP group subscriber on the device fast-leave cannot be used.
And group leave was fixed. So, you can use fast-leave=no.
It’s not helping disabling of fast leave option on RB, channels are still stopping sometime when leave message comes to RB. Only thing left is that I turn off on STB fast leave, but IPTV is unusable then because users can switch 20 channels in 10 secs and that means that 20 channels is running on stb which is 100 mbps. Thing is, IPTV wouldn’t work. Temporary solution I applied are timers on IGMP proxy with following values:
[admin@xxxxxxxx] /routing igmp-proxy> pri
quick-leave: yes
query-interval: 8s
query-response-interval: 4s
And then i blocked multicast address on firewall with wich CPE equipment is sending fast leave message.
[admin@xxxxxxxx] > /ip fire fil pri
Flags: X - disabled, I - invalid, D - dynamic
0 ;;; FAST LEAVE DROP
chain=input action=drop protocol=igmp dst-address=224.0.0.2
Thing is that this is not permanent solution and i would appreciate if mikrotik can fix this bug too. In that case, IGMP proxy on ROS will be functional and with no bugs.
Note that one port is one iptv user!
you are not dropping fast-leave, you are dropping a lot more than that.
From wikipedia:
224.0.0.2 - The All Routers multicast group addresses all routers on the same network segment.
correct way is to reduce query-response-interval to something lower than 10s to something like 2 or 3 seconds.
Usually this works this way - when STB is sending IGMP leave message, IGMP-proxy will query interface if there are any other subscribers and wait query-response-interval for responses. If in this time no responses are received then PIM leave message to upstream is sent and MFC is dropped for that IGMP group.
If you see channel drops, your query-response-interval is set too low and your STBs require more time to respond to query.
query-interval is in general, in what time STB has to renew its subscription to query. Leave procedure will be initiated in query-interval*3 seconds. (Where leave procedure is, query if everyone is listening to this IGMP group, waiting for responses, removing MFC, sending PIM leave upstream.)
Janisk, this is working form me without any problem for about 3-4 years.
When user switch channel on stb, stb sends leave message on address 224.0.0.2. And that’s all of the communication that goes on that IP address in this situation. Nothing else! When router send querry to stb for specific IGMP, it send on address 224.0.0.1. (which is not blocked)
I have few thousands of IPTV users. Rules mentioned above are not making any problems. Also, it would be the best if mikrotik fix that bug, so that I don’t have to use that but that I can all set to default settings.
So. IGMP proxy use two multicast address. on 224.0.0.2 receive fast leave.
Also, IGMP proxy periodical send membership query to 224.0.0.1 (every 8 seconds in my case)
the whole time talking about igmpv2.
I believe that you didn’t understand what’s the problem. I’m using these settings because of the bug that Mikrotik has. Querry interval is so low because I blocked IGMP leave messages that STB is sending. User is switching the channels and then when he leaves the group that channels will still go to STB untill the rb send querry and gets response from STB. So, RB will send querry every 8 secs and it can happend that several streams is going to STB (as much as user has switched the channels on STB). Fast leave is solving this issue but mikrotik has a bug with fast leave.
Here’s the thing (with mikrotik default options and without my rules):
I have RB 2011, port 1 is upstream and he’s connected to EPON. Ports 2-10 are downstreams and 9 users is connected to them (9x STB. 1 STB per port). for example; 7 of 9 is watching “RTL Television”. 1 of 7 decides to watch something else and then switch the channel. Then STB sends leave message to mikrotik rb and rb should stop stream for that group on that port. But in lots of cases mikrotik rb stops stream of “RTL Television” on all downstream ports. That means that “RTL Television” has stopped for all 7 users and it should be stopped only at one user, the ones that has left the group.
224.0.0.2 is not fast leave. - one of the uses is - send IGMP group leave.
IGMP proxy was fixed. It should correctly send and receive packets as it did not do that before and only option was to turn on fast-leave. Now this leave mechanism is fixed and it works (at least in test-bed).
In which version is fixed? 6.18 still have bug that fast leave message on one port “sometimes” stop stream on all downstream interface. If you want i can make video of this bug and send to you!
This bug exists since there is IGMP Proxy in Mikrotik. 2-3 years ago I explained to you this bug, on a topic in the forum.
fast-leave will always do that. Fast leave is only good you have 1 customer connected. If you set fast-leave - router will not do query back if anyone else is listening to the stream. And just stop the stream over the interface, send PIM unsubscribe on upstream. You have to set fast-leave=no and query-response-interval to some as small as you can value, so that your STBs have enough time to respond.
That’s not true!! Fast leave should not be used only if there’s more than 1 user per interface and not per RB!!! I have plenty of other routers which are not Mikrotik, 20 users on 20 ports and fast leave works perfect. Fast leave should not be used if there’s more then one user on one port!!!
https://www.ietf.org/rfc/rfc2236.txt
http://www.manualslib.com/manual/152590/Siemens-S223.html?page=287
IGMP v2 Fast Leave
In IGMP version 2, you can minimize the leave latency of IGMP memberships. This com-
mand is used when only one receiver host is connected to each interface.
When this command is not configured, the router sends an IGMP group-specific query
message upon receipt of an IGMP Version 2 group leave message. The router stops for-
warding traffic for that group only if no host replies to the query within the timeout period.
The timeout period is determined by the ip igmp last-memberquery-interval command
and the IGMP robustness variable, which is defined by the IGMP specification. By default,
the timeout period is 2 seconds.
When the ip igmp immediate-leave command is enabled on an interface, the router
does not send IGMP group specific host queries on receiving an IGMP Version 2 leave
group message from that interface. Instead, the router immediately removes the interface
from the IGMP cache for that group, and informs the multicast routing protocols.
this is how it works on Siemens S223. Or you where interested in how this works in RouterOS?
Hello.
I have the same problem. IGMP proxy leaves a group on all interfaces, not only on the one that got the fast leave message.
this is how devs have made it. It has nothing regarding fast-leave in RFC. Anyway, asked devs regarding ability to change this to one interface, not all interfaces.
So, now, it as i wrote before, if you router have only 1 subscirber - you can use fast-leave, on other cases you have to set it to no.
Check how it works with all manufacturers around the world (excluding mikrotik).
Check what is the standard!
Juniper:
http://www.juniper.net/documentation/en_US/junos12.3/topics/reference/configuration-statement/immediate-leave-edit-protocols-igmp.html
When the immediate leave setting is enabled, the device removes an interface from the forwarding-table entry without first sending IGMP group-specific queries to the interface. The interface is pruned from the multicast tree for the multicast group specified in the IGMP leave message.
Cisco:
http://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst6500/ios/12-2SX/configuration/guide/book/snooigmp.html#wp1055006
Upon receiving a group-specific IGMPv2 leave message, IGMP immediately removes the interface from the Layer 2 forwarding table entry for that multicast group, unless a multicast router was learned on the port. Fast-leave processing improves bandwidth management for all hosts on a switched network.
H3C:
http://www.h3c.com/portal/Technical_Support___Documents/Technical_Documents/Switches/H3C_S3100_Series_Switches/Command/Command/H3C_S3100-52P_CM-Release_1702-6W100/201004/672778_1285_0.htm
With this function enabled, when the switch receives an IGMP leave message on a port, it directly removes that port from the forwarding table entry for the specific group.
DELL:
http://www.manualslib.com/manual/419244/Dell-Powerconnect-6224.html?page=339
immediately remove the layer 2 LAN interface from its forwarding table entry upon receiving an IGMP leave message for that multicast group
http://www.google.com/patents/EP1909439B1?cl=en
37: After receiving the IGMP Leave packet from STB1, the DSLAM sends an IGMP Group Specific Query packet to determine whether there is another STB watching Channel 1 via the port; if there is not another STB watching Channel 1 via the port, stops sending multicast stream 1 to the port; if an IGMP Quick Leave manner is adopted, the DSLAM directly stops forwarding multicast stream 1 to the port instead of sending the IGMP Group Specific Query packet.
http://www.foundrynet.com/services/documentation/fastiron_config/fsx04001&fgs04200/FI_IGMP_XSeries.28.4.html#85041
When fast-leave-v2 is configured, when the device receives a leave message, it immediately stops forwarding to that port
Not to mention further, there are standards. It’s insane that fast leave message which comes to one interface stops stream on all interfaces. What is the purpose of fast leavea if it can not be used?
Sorry Janisk, but that is bug. Only mikrotik stop group to all ports when receive fast leave message on one port.
I am well aware how fast-leave works on other OSes.
this is RouterOS and this is how it is implemented here. Behaviour is different. I do not know how to put it differently to make it more clear.
However, there is an enhancement request to make it work for each downstream interface individually (as you pointed out) At the moment it seems it could be a global switch for all interfaces (read that as not configurable for each interface separately).
Would be great if this would get implemented… ![]()