kernel: add kmod-tcp-bbr
This adds support for BBR (Bottleneck Bandwidth and RTT) TCP congestion control. Applications (e.g. webservers, VPN client/server) which initiate connections from router side can benefit from this. This provide an easier way for users to use BBR by selecting / installing kmod-tcp-bbr instead of altering kernel config and compiling firmware by themselves. Signed-off-by: Keith Wong <keithwky@gmail.com>
This commit is contained in:
		 Keith Wong
					Keith Wong
				
			
				
					committed by
					
						 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
			
				
	
			
			
			 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
						parent
						
							e341f45913
						
					
				
				
					commit
					79c233daa4
				
			
							
								
								
									
										5
									
								
								package/kernel/linux/files/sysctl-tcp-bbr-k4_9.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								package/kernel/linux/files/sysctl-tcp-bbr-k4_9.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | # Do not edit, changes to this file will be lost on upgrades | ||||||
|  | # /etc/sysctl.conf can be used to customize sysctl settings | ||||||
|  |  | ||||||
|  | net.ipv4.tcp_congestion_control=bbr | ||||||
|  | net.core.default_qdisc=fq | ||||||
							
								
								
									
										4
									
								
								package/kernel/linux/files/sysctl-tcp-bbr.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								package/kernel/linux/files/sysctl-tcp-bbr.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | # Do not edit, changes to this file will be lost on upgrades | ||||||
|  | # /etc/sysctl.conf can be used to customize sysctl settings | ||||||
|  |  | ||||||
|  | net.ipv4.tcp_congestion_control=bbr | ||||||
| @@ -777,6 +777,37 @@ endef | |||||||
| $(eval $(call KernelPackage,sched)) | $(eval $(call KernelPackage,sched)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | define KernelPackage/tcp-bbr | ||||||
|  |   SUBMENU:=$(NETWORK_SUPPORT_MENU) | ||||||
|  |   TITLE:=BBR TCP congestion control | ||||||
|  |   DEPENDS:=@!LINUX_3_18 @!LINUX_4_1 @!LINUX_4_4 +LINUX_4_9:kmod-sched | ||||||
|  |   KCONFIG:= \ | ||||||
|  | 	CONFIG_TCP_CONG_ADVANCED=y \ | ||||||
|  | 	CONFIG_TCP_CONG_BBR | ||||||
|  |   FILES:=$(LINUX_DIR)/net/ipv4/tcp_bbr.ko | ||||||
|  |   AUTOLOAD:=$(call AutoLoad,74,tcp_bbr) | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define KernelPackage/tcp-bbr/description | ||||||
|  |  Kernel module for BBR (Bottleneck Bandwidth and RTT) TCP congestion | ||||||
|  |  control. It requires the fq ("Fair Queue") pacing packet scheduler. | ||||||
|  |  For kernel 4.13+, TCP internal pacing is implemented as fallback. | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | ifdef CONFIG_LINUX_4_9 | ||||||
|  |   TCP_BBR_SYSCTL_CONF:=sysctl-tcp-bbr-k4_9.conf | ||||||
|  | else | ||||||
|  |   TCP_BBR_SYSCTL_CONF:=sysctl-tcp-bbr.conf | ||||||
|  | endif | ||||||
|  |  | ||||||
|  | define KernelPackage/tcp-bbr/install | ||||||
|  | 	$(INSTALL_DIR) $(1)/etc/sysctl.d | ||||||
|  | 	$(INSTALL_DATA) ./files/$(TCP_BBR_SYSCTL_CONF) $(1)/etc/sysctl.d/12-tcp-bbr.conf | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | $(eval $(call KernelPackage,tcp-bbr)) | ||||||
|  |  | ||||||
|  |  | ||||||
| define KernelPackage/ax25 | define KernelPackage/ax25 | ||||||
|   SUBMENU:=$(NETWORK_SUPPORT_MENU) |   SUBMENU:=$(NETWORK_SUPPORT_MENU) | ||||||
|   TITLE:=AX25 support |   TITLE:=AX25 support | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user