UDP stream forwarding not working well without FastPath?

I’m just testing IGMP proxy with very simple setup:

  • first IP subnet on ether1 as Upstream
  • second IP subnet on ether2
  • no firewall rules at all
  • multicast video streaming using DVBViewer on ether1 (cca 19 Mbps, whole DVB-T transponder)
  • VLC client catching stream on ether2

It is working fine while Connection Tracking is turned off - RX on ether1 is the same as TX on ether2.
But - when I turn the Connection Tracking on, data rate on ether2 is getting lower (cca 17 Mbps) and there are many errors in video and sound, of course. What’s wrong?

I’ve made testing on RB2011L using ROS 6.0rc11 and 5.24.

Edit: Subject of this topis is changed from “IGMP Proxy and Connection Tracking not working together” to “UDP stream forwarding not working well without FastPath?”

What is the CPU load?

cca 9% in average - the same with and without connection tracking

After further testing I’ve realized that the problem is not about Connection Tracking, nor IGMP proxy - it’s more common and worse than I thought.

First, I’ve tried some other routers (RB493G, RG750G, RB951) - none of them was able to stream multicast video using IGMP proxy - neither with Connection Tracking off. Only RB2011L was able to do it, if Connection Tracking is off - then FastPath is used and everything is ok. Slower routers have problems also with low bitrate (3 Mbps).

But then I tried not to use multicast. I’ve turned off IGMP proxy, then set DVBViewer to send video stream using UDP to IP on other subnet. I was surprised - there was exactly the same problem as it was with multicast. Only RB2011L with FastPath is providing good results.

So, what’s wrong? Mikrotik routers are not able to forward UDP streams?

Using ROS v 5 I have 2011s typically running 4 x 7 Mbps streams through IGMP proxy while doing other work and those streams are fine. Have you been mainly trying v6?

I’ve tested it in ROS 5.24 witch the same result. Are you using Fastpath? (no connection tracking - then it is working fine on RB2011) If you are, please try to turn Connection Tracking on to see if it will work.

Connection tracking is on. There is no fastpath in v5.

Thanks for information. It’s really strange, so I made a small change: at first streaming computer was connected on 1 Gbps to switch and from switch to router, now I changed that - streaming computer is connected directly to router. Surprisingly, RB951 (not the other) started to work fine! So it seems, there is something other that is wrong, I am going to do some testing and then i will write here…

It seems like there is a problem when streaming PC is connected on 1 Gbps - only half of packets are forwarded on RB750G. It is working fine when the speed is 100 Mbps - see the screenshots. Any ideas? Strange thing is that TCP is working without any problems - I’ve measured over 920 Mbps routing speed between IP segments through RB2011L. My network card is Realtek RTL8111E.
udp-stream-100mbps.png
udp-stream-1gbps.png

It seems that the problem is related to DVBViewer Netstreaming Plugin (v. 1.4.6.0), because cca 10 Mbps streaming from VLC 1.1.11 is working fine.

I am confused with that DVBViewer - it is working if streaming PC is connected to 100 Mbps. It is working in these situations:

  • PC1 --100M–> router --1G–> PC2
  • PC1 --100M–> switch --1G–> router --1G–> PC2
  • PC1 --1G–> switch --1G–> PC2

But it is not working in these situations (exception is RB2011L with connection tracking off):

  • PC1 --1G–> router --1G–> PC2
  • PC1 --1G–> switch --100M–> router --1G–> PC2

Now I’m going to test IGMP proxy using VLC streaming.

It is not perfect (there are some problems from time to time when streaming FullHD video), but it is working.

In DVBViewer there is a parameter “buffercount” and I had there a value of 100 and it makes troubles with connection tracking as I have described (half of datagrams were lost on RB750G). I was doing some experiments and it seems that values between 5 and 10 works best for RB750G, but it is not as good as VLC streaming.
dvbviewer-netstreaming.png