plz tcp hybla setup
-
Hello
I found TCP HYBLA.C and I want to put it in pfsense and apply hybla to pfsense.
Can you tell me how to put it in the file and apply it?
- Advanced congestion control in FreeBSD
- FreeBSD supports TCP autotuning and advanced congestion control algorithms in all currently-supported releases. You can check which are available in the running kernel using:
- sysctl net.inet.tcp.cc.available
- To make additional algorithms available in the kernel, the appropriate module must be loaded. The congestion control modules are in /boot/kernel and begin with cc_ - they can be listed with the following command:
- ls /boot/kernel/cc_* | grep -v symbols
- To load a particular congestion control algorithm (for example htcp) you can use:
- kldload cc_htcp
- and you will then be able to set the congestion control algorithm using this:
- sysctl net.inet.tcp.cc.algorithm=htcp
- FreeBSD 13 will support the BBR congestion control algorithm when it is released (e.g. as of Oct 2019 it is being tested via FreeBSD-current). More information on FreeBSD is available here.
- Enabling congestion control algorithms at boot time
- Depending how your kernel is built, you may not have the algorithm you want available by default at boot time, and will need to load the driver during the boot process. To to this add the following to /boot/loader.conf:
- cc_htcp_load="YES"
- The htcp algorithm will then be loaded at boot time, and will be enabled when sysctl.conf is processed at boot time and the net.inet.tcp.cc.algorithm=htcp variable is set.
This is how TCP HTCP is performed.
You can use this as TCP hybrid.
hybla.cc The file address is here.
http://fxr.watson.org/fxr/source/net/ipv4/tcp_hybla.c?v=linux-2.6
Please tell me how to apply it to pfsense.
-
First learn how to port code to FreeBSD. Then port that Linux code to FreeBSD. Once it builds for FreeBSD try running it in pfSense.
It may be easier to write a FreeBSD module from scratch.
As far as I know there is no FreeBSD implementation so nothing we can add in pfSense currently.
What exactly do you want to use this for? You realise that TCP congestion control is only applied at the end points of the TCP session? That means almost no traffic through pfSense is subject to it. It's the reason we don't include other CC modules by default.
Steve