Menu

L4S

2025-04-01
2025-04-01
  • Steve Shearer

    Steve Shearer - 2025-04-01

    Is L4S supported in iperf2? I presume I would have to have Prague which is in kernel 5.15 onwards.
    Steve

     
    • Robert McMahon

      Robert McMahon - 2025-04-01

      +l4s-discuss list per ietf engineers

      There is a L4S option of --udp-l4s. It's in the master branch. L4S support
      is not enabled by default
      per compile breakages with some very old
      distributions that still need Wi-Fi testing support.

      Use ./configure --enable-udp-l4s to get it.

      The use the command line option to run it:

      --udp-l4srun an l4s traffic load (requires a iperf server that supports
      l4s)
      Prague CCA can be used too, but that's not totally an iperf thing like
      --udp-l4s, rather a TCP CCA option which iperf supports via --tcp-cca
      command line options. Note that iperf will pass the CCA to the server so
      each side will use the same CCA
      when the CCA is only set on the client
      side. The 3WHS will not be prague per the server though. I was informed
      that changing the CCA after the TCP connect() should work fine. One can
      always set the server side's CCA too.

      --tcp-ccaSet the congestion control algorithm to be used for TCP
      connections & exchange with the server (same as --tcp-congestion)
      Check for CCA availability with sysctl

      rjmcmahon@rpi5-34:~ $ sudo sysctl -a | grep avail
      kernel.random.entropy_avail = 256
      kernel.seccomp.actions_avail = kill_process kill_thread trap errno
      user_notif trace log allow

      net.ipv4.tcp_available_congestion_control = reno bbr cubic dctcp
      prague
      net.ipv4.tcp_available_ulp
      = mptcp

      I tend to use raspberry pi 5's now. More on rpi support here
      https://www.l4sgear.com/.

      Finally, it's expected that many l4s flows will have classic flows going
      concurrently. The working-load option apply here:

      --working-load[=up|down|bidir][,n**]request a concurrent working load,
      currently TCP stream(s), defaults to full duplex (or bidir) unless the up
      or down option is provided. The number of TCP streams defaults to 1 and
      can be changed via the n value, e.g. --working-load=down,4 will use four
      TCP streams from server to the client as the working load. The IP ToS will
      be BE (0x0) for working load traffic.--working-load-ccaSet the congestion
      control algorithm to be used for TCP working loads, exchange with the server
      Bob

      On Tue, Apr 1, 2025 at 11:49 AM Steve Shearer steveshearer@users.sourceforge.net wrote:

      Is L4S supported in iperf2? I presume I would have to have Prague which is
      in kernel 5.15 onwards.
      Steve


      L4S
      https://sourceforge.net/p/iperf2/discussion/general/thread/7397c25d05/?limit=25#c8c7


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/iperf2/discussion/general/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.