Author Topic: What is DDP?  (Read 706 times)

Offline dkulp

  • Moderator
  • *****
  • Join Date: Sep 2013
  • Location: Framingham, MA
  • Posts: 1,385
  • Kudos: 76
Re: What is DDP?
« Reply #15 on: January 16, 2019, 05:37:51 AM »
We use the 'push' flag already which does help if you run things like large P# matrices in bridge mode.   In bridge mode, every 50ms (settable on advanced settings), we take whatever data is in the buffer and send it out.   However, we don't know if we are in the middle of receiving a frame of data or anything so you can potentially get tearing.   With DDP, if we get the push flag, we send the data out immediately and restart the timer.  Thus, you are much more likely to have the full frame available.  I actually suggest with bridge mode and DDP to set the timer higher (100ms) and let the push flags control when the frame is displayed.     You would get much better timing than you do with normal e1.31 setup.  (That said, I did update the e1.31 bridge code to also accept sync packets and do the same thing, just quite a bit harder to setup than DDP)

Dan Kulp

Offline najetset

  • Newbie
  • *
  • Join Date: Jan 2019
  • Location:
  • Posts: 9
  • Kudos: 0
Re: What is DDP?
« Reply #16 on: January 17, 2019, 11:09:17 PM »
I assume the choice of 1440 bytes of channel data (+10 for the header) was to fit nicely as payload in an ethernet frame?  Perhaps with some headroom left over for a .1Q tag?


If so, for those running jumbo frame networks (9000 octet MTU), can the DDP channel data payload size be increased to make use of the additional frame size?  I noticed today that the DDP setup in xLights max's out at 1440, and can only be reduced (I assume to allow for Q in Q tags?).  This would further increase the efficiency quite dramatically.  I suppose of course that this would also require the use of gigabit (or better) interfaces to be of any value.

Offline dkulp

  • Moderator
  • *****
  • Join Date: Sep 2013
  • Location: Framingham, MA
  • Posts: 1,385
  • Kudos: 76
Re: What is DDP?
« Reply #17 on: January 18, 2019, 06:33:39 AM »
If so, for those running jumbo frame networks (9000 octet MTU), can the DDP channel data payload size be increased to make use of the additional frame size?  I noticed today that the DDP setup in xLights max's out at 1440, and can only be reduced (I assume to allow for Q in Q tags?).  This would further increase the efficiency quite dramatically.  I suppose of course that this would also require the use of gigabit (or better) interfaces to be of any value.


The spec itself only allows for 1440 due to the MTU.   There's likely a couple reasons, one being that almost all the devices we use just use 100MB ethernet which wouldn't support the jumbo frames.   The other reason is that the receiving buffers on the devices are likely not large enough.  I know in FPP, right now, I just use 1500 byte msg receive buffers as I "assume" that would be the largest.   I'm honestly not sure what would happen if it received a larger packet.    It would obviously not fit in a 1500byte buffer so I don't know if it would fully be dropped (udp would allow dropping frames) or fragment into multiple messages, but that could then really confuse the receive code as msgs wouldn't match the expected headers and such.     I'd be happy to increase the buffer size if someone would like to give it a try.  :)

Offline najetset

  • Newbie
  • *
  • Join Date: Jan 2019
  • Location:
  • Posts: 9
  • Kudos: 0
Re: What is DDP?
« Reply #18 on: January 18, 2019, 11:14:54 AM »
I'd be happy to increase the buffer size if someone would like to give it a try.  :)

I'll be ordering a sancloud BBE, when it comes in I'll be happy to give it a go.  I'll let you know once it's all set up.

Offline dkulp

  • Moderator
  • *****
  • Join Date: Sep 2013
  • Location: Framingham, MA
  • Posts: 1,385
  • Kudos: 76
Re: What is DDP?
« Reply #19 on: January 18, 2019, 12:31:41 PM »
I'd be happy to increase the buffer size if someone would like to give it a try.  :)

I'll be ordering a sancloud BBE, when it comes in I'll be happy to give it a go.  I'll let you know once it's all set up.


Nope.  Doesn't seem to support jumbo frames:
Code: [Select]
[20284.298261] eth0: Invalid MTU 9000 requested, hw max 1500



 

Back to top