Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Advanced congestion control in FreeBSD

    Scheduled Pinned Locked Moved General pfSense Questions
    11 Posts 3 Posters 1.8k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • yon 0Y
      yon 0
      last edited by

      Because the international exports of foreign networks that I connect via VPV are often congested, resulting in high network latency and packet loss. I am thinking about optimizing my system.
      I refer to this document
      https://fasterdata.es.net/host-tuning/freebsd/

      To load a particular congestion control algorithm (for example htcp) you can use:

      kldload cc_htcp

      But I have an error when I start the module

      /root: kldload cc_htcp
      kldload: can't load cc_htcp: No such file or directory
      

      How can I choose the settings?

      1 Reply Last reply Reply Quote 0
      • stephenw10S
        stephenw10 Netgate Administrator
        last edited by

        You could probably copy that module across from FreeBSD (11.2 for pfSense 2.4.4).
        However it probably won't help since pfSense is not the end point of the TCP connection for the vast majority if traffic going through it.

        Steve

        1 Reply Last reply Reply Quote 2
        • yon 0Y
          yon 0
          last edited by

          @stephenw10 said in Advanced congestion control in FreeBSD:

          ince pfSense is not the end point of the TCP connection for the vast majority if traffic going through

          i will test it. i have copy the cc_htcp.ko to /boot/kernel

          JKnottJ 1 Reply Last reply Reply Quote 0
          • stephenw10S
            stephenw10 Netgate Administrator
            last edited by

            It will work in either location since there isn't a kernel module already but I would expect that to be in /boot/modules.

            Let us know if you see any difference with that running.

            Steve

            yon 0Y 1 Reply Last reply Reply Quote 0
            • yon 0Y
              yon 0 @stephenw10
              last edited by

              @stephenw10 said in Advanced congestion control in FreeBSD:

              It will work in either location since there isn't a kernel module already but I would expect that to be in /boot/modules.

              Let us know if you see any difference with that running.

              Steve

              how i check it ?

              sysctl net.inet.tcp.cc
              net.inet.tcp.cc.htcp.rtt_scaling: 0
              net.inet.tcp.cc.htcp.adaptive_backoff: 0
              net.inet.tcp.cc.available: newreno, htcp
              net.inet.tcp.cc.algorithm: htcp
              
              /root: sysctl net.inet.tcp.cc.available
              net.inet.tcp.cc.available: newreno, htcp
              
              /root: kldload cc_htcp
              kldload: can't load cc_htcp: module already loaded or in kernel
              
              1 Reply Last reply Reply Quote 0
              • yon 0Y
                yon 0
                last edited by

                I feel that it may be running, as if the network latency has improved

                1 Reply Last reply Reply Quote 0
                • JKnottJ
                  JKnott @yon 0
                  last edited by

                  @yon-0 said in Advanced congestion control in FreeBSD:

                  @stephenw10 said in Advanced congestion control in FreeBSD:

                  ince pfSense is not the end point of the TCP connection for the vast majority if traffic going through

                  i will test it. i have copy the cc_htcp.ko to /boot/kernel

                  There were a lot of kernel enhancements to improve TCP throughput. However, as mentioned above, that only affects the ends of the connections. Any router in between is simply passing the packets through.

                  PfSense running on Qotom mini PC
                  i5 CPU, 4 GB memory, 32 GB SSD & 4 Intel Gb Ethernet ports.
                  UniFi AC-Lite access point

                  I haven't lost my mind. It's around here...somewhere...

                  yon 0Y 1 Reply Last reply Reply Quote 1
                  • stephenw10S
                    stephenw10 Netgate Administrator
                    last edited by

                    @yon-0 said in Advanced congestion control in FreeBSD:

                    net.inet.tcp.cc.algorithm: htcp

                    If you're seeing that then it is in use.

                    Steve

                    1 Reply Last reply Reply Quote 0
                    • yon 0Y
                      yon 0 @JKnott
                      last edited by

                      @jknott said in Advanced congestion control in FreeBSD:

                      @yon-0 said in Advanced congestion control in FreeBSD:

                      @stephenw10 said in Advanced congestion control in FreeBSD:

                      ince pfSense is not the end point of the TCP connection for the vast majority if traffic going through

                      i will test it. i have copy the cc_htcp.ko to /boot/kernel

                      There were a lot of kernel enhancements to improve TCP throughput. However, as mentioned above, that only affects the ends of the connections. Any router in between is simply passing the packets through.

                      so i am using openvpn p2p mode, maybe it is helpful.

                      1 Reply Last reply Reply Quote 0
                      • JKnottJ
                        JKnott
                        last edited by

                        @yon-0 said in Advanced congestion control in FreeBSD:

                        so i am using openvpn p2p mode, maybe it is helpful.

                        OpenVPN normally uses UDP, which is not affected by those changes. They only work with TCP.

                        PfSense running on Qotom mini PC
                        i5 CPU, 4 GB memory, 32 GB SSD & 4 Intel Gb Ethernet ports.
                        UniFi AC-Lite access point

                        I haven't lost my mind. It's around here...somewhere...

                        yon 0Y 1 Reply Last reply Reply Quote 0
                        • yon 0Y
                          yon 0 @JKnott
                          last edited by

                          @jknott said in Advanced congestion control in FreeBSD:

                          @yon-0 said in Advanced congestion control in FreeBSD:

                          so i am using openvpn p2p mode, maybe it is helpful.

                          OpenVPN normally uses UDP, which is not affected by those changes. They only work with TCP.

                          yes, but i don't know why it is helpfull for network. now i have change othe vpn side ubuntu use Westwood+ congestion control. before use is bbr. but freebsd no find the Westwood yet.

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post
                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.