Add TCP congestion control variant to Linux Ubuntu












2















I want to test different variants of TCP in Linux Ubuntu. I have Ubuntu 14.04 LTS with Kernel version 3.14. When I check the available congestion control algorithm using the following command sysctl net.ipv4.tcp_available_congestion_control I get only: cubic and reno. However, I want to test other variants like Hybla, HighSpeed. If I run the menuconfig I can select the variants which I want and compile the Kernel. But in my case, I already have the kernel compiled so is it possible to have some Linux package which contains TCP variants as loadable kernel modules?










share|improve this question













migrated from stackoverflow.com Apr 21 '16 at 21:14


This question came from our site for professional and enthusiast programmers.























    2















    I want to test different variants of TCP in Linux Ubuntu. I have Ubuntu 14.04 LTS with Kernel version 3.14. When I check the available congestion control algorithm using the following command sysctl net.ipv4.tcp_available_congestion_control I get only: cubic and reno. However, I want to test other variants like Hybla, HighSpeed. If I run the menuconfig I can select the variants which I want and compile the Kernel. But in my case, I already have the kernel compiled so is it possible to have some Linux package which contains TCP variants as loadable kernel modules?










    share|improve this question













    migrated from stackoverflow.com Apr 21 '16 at 21:14


    This question came from our site for professional and enthusiast programmers.





















      2












      2








      2


      3






      I want to test different variants of TCP in Linux Ubuntu. I have Ubuntu 14.04 LTS with Kernel version 3.14. When I check the available congestion control algorithm using the following command sysctl net.ipv4.tcp_available_congestion_control I get only: cubic and reno. However, I want to test other variants like Hybla, HighSpeed. If I run the menuconfig I can select the variants which I want and compile the Kernel. But in my case, I already have the kernel compiled so is it possible to have some Linux package which contains TCP variants as loadable kernel modules?










      share|improve this question














      I want to test different variants of TCP in Linux Ubuntu. I have Ubuntu 14.04 LTS with Kernel version 3.14. When I check the available congestion control algorithm using the following command sysctl net.ipv4.tcp_available_congestion_control I get only: cubic and reno. However, I want to test other variants like Hybla, HighSpeed. If I run the menuconfig I can select the variants which I want and compile the Kernel. But in my case, I already have the kernel compiled so is it possible to have some Linux package which contains TCP variants as loadable kernel modules?







      linux ubuntu tcp linux-kernel






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Apr 13 '16 at 23:09









      IoTIoT

      11413




      11413




      migrated from stackoverflow.com Apr 21 '16 at 21:14


      This question came from our site for professional and enthusiast programmers.









      migrated from stackoverflow.com Apr 21 '16 at 21:14


      This question came from our site for professional and enthusiast programmers.
























          3 Answers
          3






          active

          oldest

          votes


















          4














          Have a look here to see what modules you have installed...



          ls -la /lib/modules/$(uname -r)/kernel/net/ipv4


          You should get a list of modules, I got this.



          tcp_bic.ko
          tcp_diag.ko
          tcp_highspeed.ko
          tcp_htcp.ko
          tcp_hybla.ko
          tcp_illinois.ko
          tcp_lp.ko
          tcp_scalable.ko
          tcp_vegas.ko
          tcp_veno.ko
          tcp_westwood.ko


          You can see what your kernel has configured by greping your config file for TCP_CONG ie



          grep TCP_CONG /boot/config-$(uname -r)
          CONFIG_TCP_CONG_ADVANCED=y
          CONFIG_TCP_CONG_BIC=m
          CONFIG_TCP_CONG_CUBIC=y
          CONFIG_TCP_CONG_WESTWOOD=m
          CONFIG_TCP_CONG_HTCP=m
          CONFIG_TCP_CONG_HSTCP=m
          CONFIG_TCP_CONG_HYBLA=m
          CONFIG_TCP_CONG_VEGAS=m
          CONFIG_TCP_CONG_SCALABLE=m
          CONFIG_TCP_CONG_LP=m
          CONFIG_TCP_CONG_VENO=m
          CONFIG_TCP_CONG_YEAH=m
          CONFIG_TCP_CONG_ILLINOIS=m
          CONFIG_DEFAULT_TCP_CONG="cubic"


          To try one of these you need to install it using modprobe -a tcp_westwood or whatever you want. You can then test it using this



          echo "westwood" > /proc/sys/net/ipv4/tcp_congestion_control 





          share|improve this answer































            0














            tcp_hybla and tcp_highspeed both are added to kernel tree as module. So, you can separately compile,install those modules and can use them. Hope you are already aware of how to compile a custom module.






            share|improve this answer































              0














              Thanks!I'v been searching the anwsers for hours,this is worked for me !






              share|improve this answer








              New contributor




              Nick is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
              Check out our Code of Conduct.





















                Your Answer








                StackExchange.ready(function() {
                var channelOptions = {
                tags: "".split(" "),
                id: "106"
                };
                initTagRenderer("".split(" "), "".split(" "), channelOptions);

                StackExchange.using("externalEditor", function() {
                // Have to fire editor after snippets, if snippets enabled
                if (StackExchange.settings.snippets.snippetsEnabled) {
                StackExchange.using("snippets", function() {
                createEditor();
                });
                }
                else {
                createEditor();
                }
                });

                function createEditor() {
                StackExchange.prepareEditor({
                heartbeatType: 'answer',
                autoActivateHeartbeat: false,
                convertImagesToLinks: false,
                noModals: true,
                showLowRepImageUploadWarning: true,
                reputationToPostImages: null,
                bindNavPrevention: true,
                postfix: "",
                imageUploader: {
                brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
                contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
                allowUrls: true
                },
                onDemand: true,
                discardSelector: ".discard-answer"
                ,immediatelyShowMarkdownHelp:true
                });


                }
                });














                draft saved

                draft discarded


















                StackExchange.ready(
                function () {
                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f278215%2fadd-tcp-congestion-control-variant-to-linux-ubuntu%23new-answer', 'question_page');
                }
                );

                Post as a guest















                Required, but never shown

























                3 Answers
                3






                active

                oldest

                votes








                3 Answers
                3






                active

                oldest

                votes









                active

                oldest

                votes






                active

                oldest

                votes









                4














                Have a look here to see what modules you have installed...



                ls -la /lib/modules/$(uname -r)/kernel/net/ipv4


                You should get a list of modules, I got this.



                tcp_bic.ko
                tcp_diag.ko
                tcp_highspeed.ko
                tcp_htcp.ko
                tcp_hybla.ko
                tcp_illinois.ko
                tcp_lp.ko
                tcp_scalable.ko
                tcp_vegas.ko
                tcp_veno.ko
                tcp_westwood.ko


                You can see what your kernel has configured by greping your config file for TCP_CONG ie



                grep TCP_CONG /boot/config-$(uname -r)
                CONFIG_TCP_CONG_ADVANCED=y
                CONFIG_TCP_CONG_BIC=m
                CONFIG_TCP_CONG_CUBIC=y
                CONFIG_TCP_CONG_WESTWOOD=m
                CONFIG_TCP_CONG_HTCP=m
                CONFIG_TCP_CONG_HSTCP=m
                CONFIG_TCP_CONG_HYBLA=m
                CONFIG_TCP_CONG_VEGAS=m
                CONFIG_TCP_CONG_SCALABLE=m
                CONFIG_TCP_CONG_LP=m
                CONFIG_TCP_CONG_VENO=m
                CONFIG_TCP_CONG_YEAH=m
                CONFIG_TCP_CONG_ILLINOIS=m
                CONFIG_DEFAULT_TCP_CONG="cubic"


                To try one of these you need to install it using modprobe -a tcp_westwood or whatever you want. You can then test it using this



                echo "westwood" > /proc/sys/net/ipv4/tcp_congestion_control 





                share|improve this answer




























                  4














                  Have a look here to see what modules you have installed...



                  ls -la /lib/modules/$(uname -r)/kernel/net/ipv4


                  You should get a list of modules, I got this.



                  tcp_bic.ko
                  tcp_diag.ko
                  tcp_highspeed.ko
                  tcp_htcp.ko
                  tcp_hybla.ko
                  tcp_illinois.ko
                  tcp_lp.ko
                  tcp_scalable.ko
                  tcp_vegas.ko
                  tcp_veno.ko
                  tcp_westwood.ko


                  You can see what your kernel has configured by greping your config file for TCP_CONG ie



                  grep TCP_CONG /boot/config-$(uname -r)
                  CONFIG_TCP_CONG_ADVANCED=y
                  CONFIG_TCP_CONG_BIC=m
                  CONFIG_TCP_CONG_CUBIC=y
                  CONFIG_TCP_CONG_WESTWOOD=m
                  CONFIG_TCP_CONG_HTCP=m
                  CONFIG_TCP_CONG_HSTCP=m
                  CONFIG_TCP_CONG_HYBLA=m
                  CONFIG_TCP_CONG_VEGAS=m
                  CONFIG_TCP_CONG_SCALABLE=m
                  CONFIG_TCP_CONG_LP=m
                  CONFIG_TCP_CONG_VENO=m
                  CONFIG_TCP_CONG_YEAH=m
                  CONFIG_TCP_CONG_ILLINOIS=m
                  CONFIG_DEFAULT_TCP_CONG="cubic"


                  To try one of these you need to install it using modprobe -a tcp_westwood or whatever you want. You can then test it using this



                  echo "westwood" > /proc/sys/net/ipv4/tcp_congestion_control 





                  share|improve this answer


























                    4












                    4








                    4







                    Have a look here to see what modules you have installed...



                    ls -la /lib/modules/$(uname -r)/kernel/net/ipv4


                    You should get a list of modules, I got this.



                    tcp_bic.ko
                    tcp_diag.ko
                    tcp_highspeed.ko
                    tcp_htcp.ko
                    tcp_hybla.ko
                    tcp_illinois.ko
                    tcp_lp.ko
                    tcp_scalable.ko
                    tcp_vegas.ko
                    tcp_veno.ko
                    tcp_westwood.ko


                    You can see what your kernel has configured by greping your config file for TCP_CONG ie



                    grep TCP_CONG /boot/config-$(uname -r)
                    CONFIG_TCP_CONG_ADVANCED=y
                    CONFIG_TCP_CONG_BIC=m
                    CONFIG_TCP_CONG_CUBIC=y
                    CONFIG_TCP_CONG_WESTWOOD=m
                    CONFIG_TCP_CONG_HTCP=m
                    CONFIG_TCP_CONG_HSTCP=m
                    CONFIG_TCP_CONG_HYBLA=m
                    CONFIG_TCP_CONG_VEGAS=m
                    CONFIG_TCP_CONG_SCALABLE=m
                    CONFIG_TCP_CONG_LP=m
                    CONFIG_TCP_CONG_VENO=m
                    CONFIG_TCP_CONG_YEAH=m
                    CONFIG_TCP_CONG_ILLINOIS=m
                    CONFIG_DEFAULT_TCP_CONG="cubic"


                    To try one of these you need to install it using modprobe -a tcp_westwood or whatever you want. You can then test it using this



                    echo "westwood" > /proc/sys/net/ipv4/tcp_congestion_control 





                    share|improve this answer













                    Have a look here to see what modules you have installed...



                    ls -la /lib/modules/$(uname -r)/kernel/net/ipv4


                    You should get a list of modules, I got this.



                    tcp_bic.ko
                    tcp_diag.ko
                    tcp_highspeed.ko
                    tcp_htcp.ko
                    tcp_hybla.ko
                    tcp_illinois.ko
                    tcp_lp.ko
                    tcp_scalable.ko
                    tcp_vegas.ko
                    tcp_veno.ko
                    tcp_westwood.ko


                    You can see what your kernel has configured by greping your config file for TCP_CONG ie



                    grep TCP_CONG /boot/config-$(uname -r)
                    CONFIG_TCP_CONG_ADVANCED=y
                    CONFIG_TCP_CONG_BIC=m
                    CONFIG_TCP_CONG_CUBIC=y
                    CONFIG_TCP_CONG_WESTWOOD=m
                    CONFIG_TCP_CONG_HTCP=m
                    CONFIG_TCP_CONG_HSTCP=m
                    CONFIG_TCP_CONG_HYBLA=m
                    CONFIG_TCP_CONG_VEGAS=m
                    CONFIG_TCP_CONG_SCALABLE=m
                    CONFIG_TCP_CONG_LP=m
                    CONFIG_TCP_CONG_VENO=m
                    CONFIG_TCP_CONG_YEAH=m
                    CONFIG_TCP_CONG_ILLINOIS=m
                    CONFIG_DEFAULT_TCP_CONG="cubic"


                    To try one of these you need to install it using modprobe -a tcp_westwood or whatever you want. You can then test it using this



                    echo "westwood" > /proc/sys/net/ipv4/tcp_congestion_control 






                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Apr 14 '16 at 5:55









                    HarryHarry

                    1562




                    1562

























                        0














                        tcp_hybla and tcp_highspeed both are added to kernel tree as module. So, you can separately compile,install those modules and can use them. Hope you are already aware of how to compile a custom module.






                        share|improve this answer




























                          0














                          tcp_hybla and tcp_highspeed both are added to kernel tree as module. So, you can separately compile,install those modules and can use them. Hope you are already aware of how to compile a custom module.






                          share|improve this answer


























                            0












                            0








                            0







                            tcp_hybla and tcp_highspeed both are added to kernel tree as module. So, you can separately compile,install those modules and can use them. Hope you are already aware of how to compile a custom module.






                            share|improve this answer













                            tcp_hybla and tcp_highspeed both are added to kernel tree as module. So, you can separately compile,install those modules and can use them. Hope you are already aware of how to compile a custom module.







                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered Apr 14 '16 at 2:25









                            rakib_rakib_

                            1012




                            1012























                                0














                                Thanks!I'v been searching the anwsers for hours,this is worked for me !






                                share|improve this answer








                                New contributor




                                Nick is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                Check out our Code of Conduct.

























                                  0














                                  Thanks!I'v been searching the anwsers for hours,this is worked for me !






                                  share|improve this answer








                                  New contributor




                                  Nick is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                  Check out our Code of Conduct.























                                    0












                                    0








                                    0







                                    Thanks!I'v been searching the anwsers for hours,this is worked for me !






                                    share|improve this answer








                                    New contributor




                                    Nick is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                    Check out our Code of Conduct.










                                    Thanks!I'v been searching the anwsers for hours,this is worked for me !







                                    share|improve this answer








                                    New contributor




                                    Nick is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                    Check out our Code of Conduct.









                                    share|improve this answer



                                    share|improve this answer






                                    New contributor




                                    Nick is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                    Check out our Code of Conduct.









                                    answered 14 mins ago









                                    NickNick

                                    1




                                    1




                                    New contributor




                                    Nick is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                    Check out our Code of Conduct.





                                    New contributor





                                    Nick is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                    Check out our Code of Conduct.






                                    Nick is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                    Check out our Code of Conduct.






























                                        draft saved

                                        draft discarded




















































                                        Thanks for contributing an answer to Unix & Linux Stack Exchange!


                                        • Please be sure to answer the question. Provide details and share your research!

                                        But avoid



                                        • Asking for help, clarification, or responding to other answers.

                                        • Making statements based on opinion; back them up with references or personal experience.


                                        To learn more, see our tips on writing great answers.




                                        draft saved


                                        draft discarded














                                        StackExchange.ready(
                                        function () {
                                        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f278215%2fadd-tcp-congestion-control-variant-to-linux-ubuntu%23new-answer', 'question_page');
                                        }
                                        );

                                        Post as a guest















                                        Required, but never shown





















































                                        Required, but never shown














                                        Required, but never shown












                                        Required, but never shown







                                        Required, but never shown

































                                        Required, but never shown














                                        Required, but never shown












                                        Required, but never shown







                                        Required, but never shown







                                        Popular posts from this blog

                                        CARDNET

                                        Boot-repair Failure: Unable to locate package grub-common:i386

                                        濃尾地震