netsupport.mk 35 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442
  1. #
  2. # Copyright (C) 2006-2011 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. NETWORK_SUPPORT_MENU:=Network Support
  8. define KernelPackage/atm
  9. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  10. TITLE:=ATM support
  11. KCONFIG:= \
  12. CONFIG_ATM \
  13. CONFIG_ATM_BR2684
  14. FILES:= \
  15. $(LINUX_DIR)/net/atm/atm.ko \
  16. $(LINUX_DIR)/net/atm/br2684.ko
  17. AUTOLOAD:=$(call AutoLoad,30,atm br2684)
  18. endef
  19. define KernelPackage/atm/description
  20. Kernel modules for ATM support
  21. endef
  22. $(eval $(call KernelPackage,atm))
  23. define KernelPackage/atmtcp
  24. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  25. TITLE:=ATM over TCP
  26. DEPENDS:=kmod-atm
  27. KCONFIG:=CONFIG_ATM_TCP CONFIG_ATM_DRIVERS=y
  28. FILES:=$(LINUX_DIR)/drivers/atm/atmtcp.ko
  29. AUTOLOAD:=$(call AutoLoad,40,atmtcp)
  30. endef
  31. define KernelPackage/atmtcp/description
  32. Kernel module for ATM over TCP support
  33. endef
  34. $(eval $(call KernelPackage,atmtcp))
  35. define KernelPackage/bonding
  36. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  37. TITLE:=Ethernet bonding driver
  38. KCONFIG:=CONFIG_BONDING
  39. FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.ko
  40. AUTOLOAD:=$(call AutoLoad,40,bonding)
  41. MODPARAMS.bonding:=max_bonds=0
  42. endef
  43. define KernelPackage/bonding/description
  44. Kernel module for NIC bonding.
  45. endef
  46. $(eval $(call KernelPackage,bonding))
  47. define KernelPackage/udptunnel4
  48. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  49. TITLE:=IPv4 UDP tunneling support
  50. KCONFIG:=CONFIG_NET_UDP_TUNNEL
  51. HIDDEN:=1
  52. FILES:=$(LINUX_DIR)/net/ipv4/udp_tunnel.ko
  53. AUTOLOAD:=$(call AutoLoad,32,udp_tunnel)
  54. endef
  55. $(eval $(call KernelPackage,udptunnel4))
  56. define KernelPackage/udptunnel6
  57. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  58. TITLE:=IPv6 UDP tunneling support
  59. DEPENDS:=@IPV6
  60. KCONFIG:=CONFIG_NET_UDP_TUNNEL
  61. HIDDEN:=1
  62. FILES:=$(LINUX_DIR)/net/ipv6/ip6_udp_tunnel.ko
  63. AUTOLOAD:=$(call AutoLoad,32,ip6_udp_tunnel)
  64. endef
  65. $(eval $(call KernelPackage,udptunnel6))
  66. define KernelPackage/vxlan
  67. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  68. TITLE:=Native VXLAN Kernel support
  69. DEPENDS:= \
  70. +kmod-iptunnel \
  71. +kmod-udptunnel4 \
  72. +IPV6:kmod-udptunnel6
  73. KCONFIG:=CONFIG_VXLAN
  74. FILES:=$(LINUX_DIR)/drivers/net/vxlan.ko
  75. AUTOLOAD:=$(call AutoLoad,13,vxlan)
  76. endef
  77. define KernelPackage/vxlan/description
  78. Kernel module for supporting VXLAN in the Kernel.
  79. Requires Kernel 3.12 or newer.
  80. endef
  81. $(eval $(call KernelPackage,vxlan))
  82. define KernelPackage/geneve
  83. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  84. TITLE:=Generic Network Virtualization Encapsulation (Geneve) support
  85. DEPENDS:= \
  86. +kmod-iptunnel \
  87. +kmod-udptunnel4 \
  88. +IPV6:kmod-udptunnel6
  89. KCONFIG:=CONFIG_GENEVE
  90. FILES:= \
  91. $(LINUX_DIR)/drivers/net/geneve.ko
  92. AUTOLOAD:=$(call AutoLoad,13,geneve)
  93. endef
  94. define KernelPackage/geneve/description
  95. Kernel module for supporting Geneve in the Kernel.
  96. Requires Kernel 3.18 or newer.
  97. endef
  98. $(eval $(call KernelPackage,geneve))
  99. define KernelPackage/nsh
  100. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  101. TITLE:=Network Service Header (NSH) protocol
  102. DEPENDS:=
  103. KCONFIG:=CONFIG_NET_NSH
  104. FILES:=$(LINUX_DIR)/net/nsh/nsh.ko
  105. AUTOLOAD:=$(call AutoLoad,13,nsh)
  106. endef
  107. define KernelPackage/nsh/description
  108. Network Service Header is an implementation of Service Function
  109. Chaining (RFC 7665). Requires kernel 4.14 or newer
  110. endef
  111. $(eval $(call KernelPackage,nsh))
  112. define KernelPackage/misdn
  113. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  114. TITLE:=mISDN (ISDN) Support
  115. KCONFIG:= \
  116. CONFIG_ISDN=y \
  117. CONFIG_MISDN \
  118. CONFIG_MISDN_DSP \
  119. CONFIG_MISDN_L1OIP
  120. FILES:= \
  121. $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_core.ko \
  122. $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_dsp.ko \
  123. $(LINUX_DIR)/drivers/isdn/mISDN/l1oip.ko
  124. AUTOLOAD:=$(call AutoLoad,30,mISDN_core mISDN_dsp l1oip)
  125. endef
  126. define KernelPackage/misdn/description
  127. Modular ISDN driver support
  128. endef
  129. $(eval $(call KernelPackage,misdn))
  130. define KernelPackage/isdn4linux
  131. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  132. TITLE:=Old ISDN4Linux (deprecated)
  133. DEPENDS:=+kmod-ppp
  134. KCONFIG:= \
  135. CONFIG_ISDN=y \
  136. CONFIG_ISDN_I4L \
  137. CONFIG_ISDN_PPP=y \
  138. CONFIG_ISDN_PPP_VJ=y \
  139. CONFIG_ISDN_MPP=y \
  140. CONFIG_IPPP_FILTER=y \
  141. CONFIG_ISDN_PPP_BSDCOMP \
  142. CONFIG_ISDN_CAPI_MIDDLEWARE=y \
  143. CONFIG_ISDN_CAPI_CAPIFS_BOOL=y \
  144. CONFIG_ISDN_AUDIO=y \
  145. CONFIG_ISDN_TTY_FAX=y \
  146. CONFIG_ISDN_X25=y \
  147. CONFIG_ISDN_DIVERSION
  148. FILES:= \
  149. $(LINUX_DIR)/drivers/isdn/divert/dss1_divert.ko \
  150. $(LINUX_DIR)/drivers/isdn/i4l/isdn.ko \
  151. $(LINUX_DIR)/drivers/isdn/i4l/isdn_bsdcomp.ko
  152. AUTOLOAD:=$(call AutoLoad,40,isdn isdn_bsdcomp dss1_divert)
  153. endef
  154. define KernelPackage/isdn4linux/description
  155. This driver allows you to use an ISDN adapter for networking
  156. endef
  157. $(eval $(call KernelPackage,isdn4linux))
  158. define KernelPackage/ipip
  159. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  160. TITLE:=IP-in-IP encapsulation
  161. DEPENDS:=+kmod-iptunnel +kmod-iptunnel4
  162. KCONFIG:=CONFIG_NET_IPIP
  163. FILES:=$(LINUX_DIR)/net/ipv4/ipip.ko
  164. AUTOLOAD:=$(call AutoLoad,32,ipip)
  165. endef
  166. define KernelPackage/ipip/description
  167. Kernel modules for IP-in-IP encapsulation
  168. endef
  169. $(eval $(call KernelPackage,ipip))
  170. IPSEC-m:= \
  171. xfrm/xfrm_algo \
  172. xfrm/xfrm_ipcomp \
  173. xfrm/xfrm_user \
  174. key/af_key \
  175. define KernelPackage/ipsec
  176. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  177. TITLE:=IPsec related modules (IPv4 and IPv6)
  178. DEPENDS:= \
  179. +kmod-crypto-authenc +kmod-crypto-cbc +kmod-crypto-deflate \
  180. +kmod-crypto-des +kmod-crypto-echainiv +kmod-crypto-hmac \
  181. +kmod-crypto-md5 +kmod-crypto-sha1
  182. KCONFIG:= \
  183. CONFIG_NET_KEY \
  184. CONFIG_XFRM_USER \
  185. CONFIG_INET_IPCOMP \
  186. CONFIG_XFRM_IPCOMP
  187. FILES:=$(foreach mod,$(IPSEC-m),$(LINUX_DIR)/net/$(mod).ko)
  188. AUTOLOAD:=$(call AutoLoad,30,$(notdir $(IPSEC-m)))
  189. endef
  190. define KernelPackage/ipsec/description
  191. Kernel modules for IPsec support in both IPv4 and IPv6.
  192. Includes:
  193. - af_key
  194. - xfrm_algo
  195. - xfrm_ipcomp
  196. - xfrm_user
  197. endef
  198. $(eval $(call KernelPackage,ipsec))
  199. IPSEC4-m = \
  200. ipv4/ah4 \
  201. ipv4/esp4 \
  202. ipv4/xfrm4_tunnel \
  203. ipv4/ipcomp \
  204. IPSEC4-m += $(ifeq ($$(strip $$(call CompareKernelPatchVer,$$(KERNEL_PATCHVER),le,5.2))),ipv4/xfrm4_mode_beet ipv4/xfrm4_mode_transport ipv4/xfrm4_mode_tunnel)
  205. define KernelPackage/ipsec4
  206. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  207. TITLE:=IPsec related modules (IPv4)
  208. DEPENDS:=kmod-ipsec +kmod-iptunnel4
  209. KCONFIG:= \
  210. CONFIG_INET_AH \
  211. CONFIG_INET_ESP \
  212. CONFIG_INET_IPCOMP \
  213. CONFIG_INET_XFRM_MODE_BEET \
  214. CONFIG_INET_XFRM_MODE_TRANSPORT \
  215. CONFIG_INET_XFRM_MODE_TUNNEL \
  216. CONFIG_INET_XFRM_TUNNEL \
  217. CONFIG_INET_ESP_OFFLOAD=n
  218. FILES:=$(foreach mod,$(IPSEC4-m),$(LINUX_DIR)/net/$(mod).ko)
  219. AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC4-m)))
  220. endef
  221. define KernelPackage/ipsec4/description
  222. Kernel modules for IPsec support in IPv4.
  223. Includes:
  224. - ah4
  225. - esp4
  226. - ipcomp4
  227. - xfrm4_mode_beet
  228. - xfrm4_mode_transport
  229. - xfrm4_mode_tunnel
  230. - xfrm4_tunnel
  231. endef
  232. $(eval $(call KernelPackage,ipsec4))
  233. IPSEC6-m = \
  234. ipv6/ah6 \
  235. ipv6/esp6 \
  236. ipv6/xfrm6_tunnel \
  237. ipv6/ipcomp6 \
  238. IPSEC6-m += $(ifeq ($$(strip $$(call CompareKernelPatchVer,$$(KERNEL_PATCHVER),le,5.2))),ipv6/xfrm6_mode_beet ipv6/xfrm6_mode_transport ipv6/xfrm6_mode_tunnel)
  239. define KernelPackage/ipsec6
  240. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  241. TITLE:=IPsec related modules (IPv6)
  242. DEPENDS:=@IPV6 kmod-ipsec +kmod-iptunnel6
  243. KCONFIG:= \
  244. CONFIG_INET6_AH \
  245. CONFIG_INET6_ESP \
  246. CONFIG_INET6_IPCOMP \
  247. CONFIG_INET6_XFRM_MODE_BEET \
  248. CONFIG_INET6_XFRM_MODE_TRANSPORT \
  249. CONFIG_INET6_XFRM_MODE_TUNNEL \
  250. CONFIG_INET6_XFRM_TUNNEL \
  251. CONFIG_INET6_ESP_OFFLOAD=n
  252. FILES:=$(foreach mod,$(IPSEC6-m),$(LINUX_DIR)/net/$(mod).ko)
  253. AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC6-m)))
  254. endef
  255. define KernelPackage/ipsec6/description
  256. Kernel modules for IPsec support in IPv6.
  257. Includes:
  258. - ah6
  259. - esp6
  260. - ipcomp6
  261. - xfrm6_mode_beet
  262. - xfrm6_mode_transport
  263. - xfrm6_mode_tunnel
  264. - xfrm6_tunnel
  265. endef
  266. $(eval $(call KernelPackage,ipsec6))
  267. define KernelPackage/iptunnel
  268. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  269. TITLE:=IP tunnel support
  270. HIDDEN:=1
  271. KCONFIG:= \
  272. CONFIG_NET_IP_TUNNEL
  273. FILES:=$(LINUX_DIR)/net/ipv4/ip_tunnel.ko
  274. AUTOLOAD:=$(call AutoLoad,31,ip_tunnel)
  275. endef
  276. define KernelPackage/iptunnel/description
  277. Kernel module for generic IP tunnel support
  278. endef
  279. $(eval $(call KernelPackage,iptunnel))
  280. define KernelPackage/ip-vti
  281. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  282. TITLE:=IP VTI (Virtual Tunnel Interface)
  283. DEPENDS:=+kmod-iptunnel +kmod-iptunnel4 +kmod-ipsec4
  284. KCONFIG:=CONFIG_NET_IPVTI
  285. FILES:=$(LINUX_DIR)/net/ipv4/ip_vti.ko
  286. AUTOLOAD:=$(call AutoLoad,33,ip_vti)
  287. endef
  288. define KernelPackage/ip-vti/description
  289. Kernel modules for IP VTI (Virtual Tunnel Interface)
  290. endef
  291. $(eval $(call KernelPackage,ip-vti))
  292. define KernelPackage/ip6-vti
  293. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  294. TITLE:=IPv6 VTI (Virtual Tunnel Interface)
  295. DEPENDS:=@IPV6 +kmod-iptunnel +kmod-ip6-tunnel +kmod-ipsec6
  296. KCONFIG:=CONFIG_IPV6_VTI
  297. FILES:=$(LINUX_DIR)/net/ipv6/ip6_vti.ko
  298. AUTOLOAD:=$(call AutoLoad,33,ip6_vti)
  299. endef
  300. define KernelPackage/ip6-vti/description
  301. Kernel modules for IPv6 VTI (Virtual Tunnel Interface)
  302. endef
  303. $(eval $(call KernelPackage,ip6-vti))
  304. define KernelPackage/xfrm-interface
  305. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  306. TITLE:=IPsec XFRM Interface
  307. DEPENDS:=@IPV6 +kmod-ipsec4 +kmod-ipsec6
  308. KCONFIG:=CONFIG_XFRM_INTERFACE
  309. FILES:=$(LINUX_DIR)/net/xfrm/xfrm_interface.ko
  310. AUTOLOAD:=$(call AutoProbe,xfrm_interface)
  311. endef
  312. define KernelPackage/xfrm-interface/description
  313. Kernel module for XFRM interface support
  314. endef
  315. $(eval $(call KernelPackage,xfrm-interface))
  316. define KernelPackage/iptunnel4
  317. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  318. TITLE:=IPv4 tunneling
  319. HIDDEN:=1
  320. KCONFIG:= \
  321. CONFIG_INET_TUNNEL \
  322. CONFIG_NET_IPIP=m
  323. FILES:=$(LINUX_DIR)/net/ipv4/tunnel4.ko
  324. AUTOLOAD:=$(call AutoLoad,31,tunnel4)
  325. endef
  326. define KernelPackage/iptunnel4/description
  327. Kernel modules for IPv4 tunneling
  328. endef
  329. $(eval $(call KernelPackage,iptunnel4))
  330. define KernelPackage/iptunnel6
  331. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  332. TITLE:=IPv6 tunneling
  333. DEPENDS:=@IPV6
  334. KCONFIG:= \
  335. CONFIG_INET6_TUNNEL
  336. FILES:=$(LINUX_DIR)/net/ipv6/tunnel6.ko
  337. AUTOLOAD:=$(call AutoLoad,31,tunnel6)
  338. endef
  339. define KernelPackage/iptunnel6/description
  340. Kernel modules for IPv6 tunneling
  341. endef
  342. $(eval $(call KernelPackage,iptunnel6))
  343. define KernelPackage/sit
  344. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  345. DEPENDS:=@IPV6 +kmod-iptunnel +kmod-iptunnel4
  346. TITLE:=IPv6-in-IPv4 tunnel
  347. KCONFIG:=CONFIG_IPV6_SIT \
  348. CONFIG_IPV6_SIT_6RD=y
  349. FILES:=$(LINUX_DIR)/net/ipv6/sit.ko
  350. AUTOLOAD:=$(call AutoLoad,32,sit)
  351. endef
  352. define KernelPackage/sit/description
  353. Kernel modules for IPv6-in-IPv4 tunnelling
  354. endef
  355. $(eval $(call KernelPackage,sit))
  356. define KernelPackage/fou
  357. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  358. TITLE:=FOU and GUE decapsulation
  359. DEPENDS:= \
  360. +kmod-iptunnel \
  361. +kmod-udptunnel4 \
  362. +IPV6:kmod-udptunnel6
  363. KCONFIG:= \
  364. CONFIG_NET_FOU \
  365. CONFIG_NET_FOU_IP_TUNNELS=y
  366. FILES:=$(LINUX_DIR)/net/ipv4/fou.ko
  367. AUTOLOAD:=$(call AutoProbe,fou)
  368. endef
  369. define KernelPackage/fou/description
  370. Kernel module for FOU (Foo over UDP) and GUE (Generic UDP Encapsulation) tunnelling.
  371. Requires Kernel 3.18 or newer.
  372. endef
  373. $(eval $(call KernelPackage,fou))
  374. define KernelPackage/fou6
  375. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  376. TITLE:=FOU and GUE decapsulation over IPv6
  377. DEPENDS:= @IPV6 \
  378. +kmod-fou \
  379. +kmod-ip6-tunnel
  380. KCONFIG:= \
  381. CONFIG_IPV6_FOU \
  382. CONFIG_IPV6_FOU_TUNNEL
  383. FILES:=$(LINUX_DIR)/net/ipv6/fou6.ko
  384. AUTOLOAD:=$(call AutoProbe,fou6)
  385. endef
  386. define KernelPackage/fou6/description
  387. Kernel module for FOU (Foo over UDP) and GUE (Generic UDP Encapsulation) tunnelling over IPv6.
  388. Requires Kernel 3.18 or newer.
  389. endef
  390. $(eval $(call KernelPackage,fou6))
  391. define KernelPackage/ip6-tunnel
  392. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  393. TITLE:=IP-in-IPv6 tunnelling
  394. DEPENDS:=@IPV6 +kmod-iptunnel6
  395. KCONFIG:= CONFIG_IPV6_TUNNEL
  396. FILES:=$(LINUX_DIR)/net/ipv6/ip6_tunnel.ko
  397. AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
  398. endef
  399. define KernelPackage/ip6-tunnel/description
  400. Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
  401. endef
  402. $(eval $(call KernelPackage,ip6-tunnel))
  403. define KernelPackage/gre
  404. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  405. TITLE:=GRE support
  406. DEPENDS:=+kmod-iptunnel
  407. KCONFIG:=CONFIG_NET_IPGRE CONFIG_NET_IPGRE_DEMUX
  408. FILES:=$(LINUX_DIR)/net/ipv4/ip_gre.ko $(LINUX_DIR)/net/ipv4/gre.ko
  409. AUTOLOAD:=$(call AutoLoad,39,gre ip_gre)
  410. endef
  411. define KernelPackage/gre/description
  412. Generic Routing Encapsulation support
  413. endef
  414. $(eval $(call KernelPackage,gre))
  415. define KernelPackage/gre6
  416. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  417. TITLE:=GRE support over IPV6
  418. DEPENDS:=@IPV6 +kmod-iptunnel +kmod-ip6-tunnel +kmod-gre
  419. KCONFIG:=CONFIG_IPV6_GRE
  420. FILES:=$(LINUX_DIR)/net/ipv6/ip6_gre.ko
  421. AUTOLOAD:=$(call AutoLoad,39,ip6_gre)
  422. endef
  423. define KernelPackage/gre6/description
  424. Generic Routing Encapsulation support over IPv6
  425. endef
  426. $(eval $(call KernelPackage,gre6))
  427. define KernelPackage/tun
  428. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  429. TITLE:=Universal TUN/TAP driver
  430. KCONFIG:=CONFIG_TUN
  431. FILES:=$(LINUX_DIR)/drivers/net/tun.ko
  432. AUTOLOAD:=$(call AutoLoad,30,tun)
  433. endef
  434. define KernelPackage/tun/description
  435. Kernel support for the TUN/TAP tunneling device
  436. endef
  437. $(eval $(call KernelPackage,tun))
  438. define KernelPackage/veth
  439. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  440. TITLE:=Virtual ethernet pair device
  441. KCONFIG:=CONFIG_VETH
  442. FILES:=$(LINUX_DIR)/drivers/net/veth.ko
  443. AUTOLOAD:=$(call AutoLoad,30,veth)
  444. endef
  445. define KernelPackage/veth/description
  446. This device is a local ethernet tunnel. Devices are created in pairs.
  447. When one end receives the packet it appears on its pair and vice
  448. versa.
  449. endef
  450. $(eval $(call KernelPackage,veth))
  451. define KernelPackage/vrf
  452. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  453. TITLE:=Virtual Routing and Forwarding (Lite)
  454. DEPENDS:=@KERNEL_NET_L3_MASTER_DEV
  455. KCONFIG:=CONFIG_NET_VRF
  456. FILES:=$(LINUX_DIR)/drivers/net/vrf.ko
  457. AUTOLOAD:=$(call AutoLoad,30,vrf)
  458. endef
  459. define KernelPackage/vrf/description
  460. This option enables the support for mapping interfaces into VRF's. The
  461. support enables VRF devices.
  462. endef
  463. $(eval $(call KernelPackage,vrf))
  464. define KernelPackage/slhc
  465. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  466. HIDDEN:=1
  467. TITLE:=Serial Line Header Compression
  468. DEPENDS:=+kmod-lib-crc-ccitt
  469. KCONFIG:=CONFIG_SLHC
  470. FILES:=$(LINUX_DIR)/drivers/net/slip/slhc.ko
  471. endef
  472. $(eval $(call KernelPackage,slhc))
  473. define KernelPackage/ppp
  474. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  475. TITLE:=PPP modules
  476. DEPENDS:=+kmod-lib-crc-ccitt +kmod-slhc
  477. KCONFIG:= \
  478. CONFIG_PPP \
  479. CONFIG_PPP_ASYNC
  480. FILES:= \
  481. $(LINUX_DIR)/drivers/net/ppp/ppp_async.ko \
  482. $(LINUX_DIR)/drivers/net/ppp/ppp_generic.ko
  483. AUTOLOAD:=$(call AutoProbe,ppp_async)
  484. endef
  485. define KernelPackage/ppp/description
  486. Kernel modules for PPP support
  487. endef
  488. $(eval $(call KernelPackage,ppp))
  489. define KernelPackage/ppp-synctty
  490. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  491. TITLE:=PPP sync tty support
  492. DEPENDS:=kmod-ppp
  493. KCONFIG:=CONFIG_PPP_SYNC_TTY
  494. FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_synctty.ko
  495. AUTOLOAD:=$(call AutoProbe,ppp_synctty)
  496. endef
  497. define KernelPackage/ppp-synctty/description
  498. Kernel modules for PPP sync tty support
  499. endef
  500. $(eval $(call KernelPackage,ppp-synctty))
  501. define KernelPackage/pppox
  502. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  503. TITLE:=PPPoX helper
  504. DEPENDS:=kmod-ppp
  505. KCONFIG:=CONFIG_PPPOE
  506. FILES:=$(LINUX_DIR)/drivers/net/ppp/pppox.ko
  507. endef
  508. define KernelPackage/pppox/description
  509. Kernel helper module for PPPoE and PPTP support
  510. endef
  511. $(eval $(call KernelPackage,pppox))
  512. define KernelPackage/pppoe
  513. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  514. TITLE:=PPPoE support
  515. DEPENDS:=kmod-ppp +kmod-pppox
  516. KCONFIG:=CONFIG_PPPOE
  517. FILES:=$(LINUX_DIR)/drivers/net/ppp/pppoe.ko
  518. AUTOLOAD:=$(call AutoProbe,pppoe)
  519. endef
  520. define KernelPackage/pppoe/description
  521. Kernel module for PPPoE (PPP over Ethernet) support
  522. endef
  523. $(eval $(call KernelPackage,pppoe))
  524. define KernelPackage/pppoa
  525. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  526. TITLE:=PPPoA support
  527. DEPENDS:=kmod-ppp +kmod-atm
  528. KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
  529. FILES:=$(LINUX_DIR)/net/atm/pppoatm.ko
  530. AUTOLOAD:=$(call AutoLoad,40,pppoatm)
  531. endef
  532. define KernelPackage/pppoa/description
  533. Kernel modules for PPPoA (PPP over ATM) support
  534. endef
  535. $(eval $(call KernelPackage,pppoa))
  536. define KernelPackage/pptp
  537. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  538. TITLE:=PPtP support
  539. DEPENDS:=kmod-ppp +kmod-gre +kmod-pppox
  540. KCONFIG:=CONFIG_PPTP
  541. FILES:=$(LINUX_DIR)/drivers/net/ppp/pptp.ko
  542. AUTOLOAD:=$(call AutoProbe,pptp)
  543. endef
  544. $(eval $(call KernelPackage,pptp))
  545. define KernelPackage/pppol2tp
  546. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  547. TITLE:=PPPoL2TP support
  548. DEPENDS:=kmod-ppp +kmod-pppox +kmod-l2tp
  549. KCONFIG:=CONFIG_PPPOL2TP
  550. FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.ko
  551. AUTOLOAD:=$(call AutoProbe,l2tp_ppp)
  552. endef
  553. define KernelPackage/pppol2tp/description
  554. Kernel modules for PPPoL2TP (PPP over L2TP) support
  555. endef
  556. $(eval $(call KernelPackage,pppol2tp))
  557. define KernelPackage/ipoa
  558. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  559. TITLE:=IPoA support
  560. DEPENDS:=kmod-atm
  561. KCONFIG:=CONFIG_ATM_CLIP
  562. FILES:=$(LINUX_DIR)/net/atm/clip.ko
  563. AUTOLOAD:=$(call AutoProbe,clip)
  564. endef
  565. define KernelPackage/ipoa/description
  566. Kernel modules for IPoA (IP over ATM) support
  567. endef
  568. $(eval $(call KernelPackage,ipoa))
  569. define KernelPackage/mppe
  570. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  571. TITLE:=Microsoft PPP compression/encryption
  572. DEPENDS:=kmod-ppp +kmod-crypto-arc4 +kmod-crypto-sha1 +kmod-crypto-ecb
  573. KCONFIG:= \
  574. CONFIG_PPP_MPPE_MPPC \
  575. CONFIG_PPP_MPPE
  576. FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_mppe.ko
  577. AUTOLOAD:=$(call AutoProbe,ppp_mppe)
  578. endef
  579. define KernelPackage/mppe/description
  580. Kernel modules for Microsoft PPP compression/encryption
  581. endef
  582. $(eval $(call KernelPackage,mppe))
  583. SCHED_MODULES_CORE = sch_ingress sch_hfsc sch_htb sch_tbf cls_basic cls_fw cls_route cls_flow cls_tcindex cls_u32 em_u32 act_gact act_mirred act_skbedit cls_matchall
  584. SCHED_FILES_CORE = $(foreach mod,$(SCHED_MODULES_CORE),$(LINUX_DIR)/net/sched/$(mod).ko)
  585. define KernelPackage/sched-core
  586. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  587. TITLE:=Traffic schedulers
  588. KCONFIG:= \
  589. CONFIG_NET_SCHED=y \
  590. CONFIG_NET_SCH_HFSC \
  591. CONFIG_NET_SCH_HTB \
  592. CONFIG_NET_SCH_TBF \
  593. CONFIG_NET_SCH_INGRESS \
  594. CONFIG_NET_CLS=y \
  595. CONFIG_NET_CLS_ACT=y \
  596. CONFIG_NET_CLS_BASIC \
  597. CONFIG_NET_CLS_FLOW \
  598. CONFIG_NET_CLS_FW \
  599. CONFIG_NET_CLS_ROUTE4 \
  600. CONFIG_NET_CLS_TCINDEX \
  601. CONFIG_NET_CLS_U32 \
  602. CONFIG_NET_ACT_GACT \
  603. CONFIG_NET_ACT_MIRRED \
  604. CONFIG_NET_ACT_SKBEDIT \
  605. CONFIG_NET_CLS_MATCHALL \
  606. CONFIG_NET_EMATCH=y \
  607. CONFIG_NET_EMATCH_U32
  608. FILES:=$(SCHED_FILES_CORE)
  609. AUTOLOAD:=$(call AutoLoad,70, $(SCHED_MODULES_CORE))
  610. endef
  611. define KernelPackage/sched-core/description
  612. Core kernel scheduler support for IP traffic
  613. endef
  614. $(eval $(call KernelPackage,sched-core))
  615. define KernelPackage/sched-act-police
  616. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  617. TITLE:=Traffic Policing
  618. DEPENDS:=+kmod-sched-core
  619. KCONFIG:=CONFIG_NET_ACT_POLICE
  620. FILES:=$(LINUX_DIR)/net/sched/act_police.ko
  621. AUTOLOAD:=$(call AutoProbe,act_police)
  622. endef
  623. $(eval $(call KernelPackage,sched-act-police))
  624. define KernelPackage/sched-act-sample
  625. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  626. TITLE:=Traffic Sampling
  627. DEPENDS:=+kmod-sched-core
  628. KCONFIG:= \
  629. CONFIG_NET_ACT_SAMPLE \
  630. CONFIG_PSAMPLE
  631. FILES:= \
  632. $(LINUX_DIR)/net/psample/psample.ko \
  633. $(LINUX_DIR)/net/sched/act_sample.ko
  634. AUTOLOAD:=$(call AutoProbe,act_sample psample)
  635. endef
  636. define KernelPackage/sched-act-sample/description
  637. Packet sampling tc action.
  638. endef
  639. $(eval $(call KernelPackage,sched-act-sample))
  640. define KernelPackage/sched-act-vlan
  641. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  642. TITLE:=Traffic VLAN manipulation
  643. DEPENDS:=+kmod-sched-core
  644. KCONFIG:=CONFIG_NET_ACT_VLAN
  645. FILES:=$(LINUX_DIR)/net/sched/act_vlan.ko
  646. AUTOLOAD:=$(call AutoProbe, act_vlan)
  647. endef
  648. define KernelPackage/sched-act-vlan/description
  649. Allows to configure rules to push or pop vlan headers.
  650. endef
  651. $(eval $(call KernelPackage,sched-act-vlan))
  652. define KernelPackage/sched-bpf
  653. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  654. TITLE:=Traffic shaper support for Berkeley Packet Filter
  655. KCONFIG:= \
  656. CONFIG_NET_CLS_BPF \
  657. CONFIG_NET_ACT_BPF
  658. FILES:= \
  659. $(LINUX_DIR)/net/sched/cls_bpf.ko \
  660. $(LINUX_DIR)/net/sched/act_bpf.ko
  661. AUTOLOAD:=$(call AutoLoad,72,cls_bpf act_bpf)
  662. endef
  663. $(eval $(call KernelPackage,sched-bpf))
  664. define KernelPackage/sched-cake
  665. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  666. TITLE:=Cake fq_codel/blue derived shaper
  667. DEPENDS:=+kmod-sched-core
  668. KCONFIG:=CONFIG_NET_SCH_CAKE
  669. FILES:=$(LINUX_DIR)/net/sched/sch_cake.ko
  670. AUTOLOAD:=$(call AutoProbe,sch_cake)
  671. endef
  672. define KernelPackage/sched-cake/description
  673. Common Applications Kept Enhanced fq_codel/blue derived shaper
  674. endef
  675. $(eval $(call KernelPackage,sched-cake))
  676. define KernelPackage/sched-connmark
  677. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  678. TITLE:=Traffic shaper conntrack mark support
  679. DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
  680. KCONFIG:=CONFIG_NET_ACT_CONNMARK
  681. FILES:=$(LINUX_DIR)/net/sched/act_connmark.ko
  682. AUTOLOAD:=$(call AutoLoad,71, act_connmark)
  683. endef
  684. $(eval $(call KernelPackage,sched-connmark))
  685. define KernelPackage/sched-ctinfo
  686. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  687. TITLE:=Traffic shaper ctinfo support
  688. DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
  689. KCONFIG:=CONFIG_NET_ACT_CTINFO
  690. FILES:=$(LINUX_DIR)/net/sched/act_ctinfo.ko
  691. AUTOLOAD:=$(call AutoLoad,71, act_ctinfo)
  692. endef
  693. $(eval $(call KernelPackage,sched-ctinfo))
  694. define KernelPackage/sched-drr
  695. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  696. TITLE:=Deficit Round Robin scheduler (DRR)
  697. DEPENDS:=+kmod-sched-core
  698. KCONFIG:=CONFIG_NET_SCH_DRR
  699. FILES:=$(LINUX_DIR)/net/sched/sch_drr.ko
  700. AUTOLOAD:=$(call AutoProbe,sch_drr)
  701. endef
  702. define KernelPackage/sched-drr/description
  703. DRR algorithm Configuration
  704. endef
  705. $(eval $(call KernelPackage,sched-drr))
  706. define KernelPackage/sched-flower
  707. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  708. TITLE:=Flower traffic classifier
  709. DEPENDS:=+kmod-sched-core
  710. KCONFIG:=CONFIG_NET_CLS_FLOWER
  711. FILES:=$(LINUX_DIR)/net/sched/cls_flower.ko
  712. AUTOLOAD:=$(call AutoProbe, cls_flower)
  713. endef
  714. define KernelPackage/sched-flower/description
  715. Allows to classify packets based on a configurable combination of packet keys and masks.
  716. endef
  717. $(eval $(call KernelPackage,sched-flower))
  718. define KernelPackage/sched-ipset
  719. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  720. TITLE:=Traffic shaper ipset support
  721. DEPENDS:=+kmod-sched-core +kmod-ipt-ipset
  722. KCONFIG:= \
  723. CONFIG_NET_EMATCH_IPSET
  724. FILES:= \
  725. $(LINUX_DIR)/net/sched/em_ipset.ko
  726. AUTOLOAD:=$(call AutoLoad,72,em_ipset)
  727. endef
  728. $(eval $(call KernelPackage,sched-ipset))
  729. define KernelPackage/sched-mqprio
  730. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  731. TITLE:=Multi-queue priority scheduler (MQPRIO)
  732. DEPENDS:=+kmod-sched-core
  733. KCONFIG:=CONFIG_NET_SCH_MQPRIO
  734. FILES:=$(LINUX_DIR)/net/sched/sch_mqprio.ko
  735. AUTOLOAD:=$(call AutoProbe, sch_mqprio)
  736. endef
  737. define KernelPackage/sched-mqprio/description
  738. This scheduler allows QOS to be offloaded on NICs that have support for offloading QOS schedulers.
  739. endef
  740. $(eval $(call KernelPackage,sched-mqprio))
  741. define KernelPackage/sched-prio
  742. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  743. TITLE:=Multi Band Priority Queueing (PRIO)
  744. DEPENDS:=+kmod-sched-core
  745. KCONFIG:=CONFIG_NET_SCH_PRIO
  746. FILES:=$(LINUX_DIR)/net/sched/sch_prio.ko
  747. AUTOLOAD:=$(call AutoProbe,sch_prio)
  748. endef
  749. define KernelPackage/sched-prio/description
  750. PRIO algorithm Configuration
  751. endef
  752. $(eval $(call KernelPackage,sched-prio))
  753. define KernelPackage/sched-red
  754. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  755. TITLE:=Random Early Detection (RED)
  756. DEPENDS:=+kmod-sched-core
  757. KCONFIG:=CONFIG_NET_SCH_RED
  758. FILES:=$(LINUX_DIR)/net/sched/sch_red.ko
  759. AUTOLOAD:=$(call AutoProbe,sch_red)
  760. endef
  761. define KernelPackage/sched-red/description
  762. Random Early Detection (RED) algorithm Configuration
  763. endef
  764. $(eval $(call KernelPackage,sched-red))
  765. define KernelPackage/bpf-test
  766. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  767. TITLE:=Test Berkeley Packet Filter functionality
  768. KCONFIG:=CONFIG_TEST_BPF
  769. FILES:=$(LINUX_DIR)/lib/test_bpf.ko
  770. endef
  771. $(eval $(call KernelPackage,bpf-test))
  772. SCHED_MODULES_EXTRA = sch_codel sch_dsmark sch_gred sch_multiq sch_sfq sch_teql sch_fq sch_pie act_ipt act_pedit act_simple act_csum em_cmp em_nbyte em_meta em_text
  773. SCHED_FILES_EXTRA = $(foreach mod,$(SCHED_MODULES_EXTRA),$(LINUX_DIR)/net/sched/$(mod).ko)
  774. define KernelPackage/sched
  775. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  776. TITLE:=Extra traffic schedulers
  777. DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-lib-crc32c +kmod-lib-textsearch
  778. KCONFIG:= \
  779. CONFIG_NET_SCH_CODEL \
  780. CONFIG_NET_SCH_DSMARK \
  781. CONFIG_NET_SCH_GRED \
  782. CONFIG_NET_SCH_MULTIQ \
  783. CONFIG_NET_SCH_SFQ \
  784. CONFIG_NET_SCH_TEQL \
  785. CONFIG_NET_SCH_FQ \
  786. CONFIG_NET_SCH_PIE \
  787. CONFIG_NET_ACT_IPT \
  788. CONFIG_NET_ACT_PEDIT \
  789. CONFIG_NET_ACT_SIMP \
  790. CONFIG_NET_ACT_CSUM \
  791. CONFIG_NET_EMATCH_CMP \
  792. CONFIG_NET_EMATCH_NBYTE \
  793. CONFIG_NET_EMATCH_META \
  794. CONFIG_NET_EMATCH_TEXT
  795. FILES:=$(SCHED_FILES_EXTRA)
  796. AUTOLOAD:=$(call AutoLoad,73, $(SCHED_MODULES_EXTRA))
  797. endef
  798. define KernelPackage/sched/description
  799. Extra kernel schedulers modules for IP traffic
  800. endef
  801. SCHED_TEQL_HOTPLUG:=hotplug-sched-teql.sh
  802. define KernelPackage/sched/install
  803. $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
  804. $(INSTALL_DATA) ./files/$(SCHED_TEQL_HOTPLUG) $(1)/etc/hotplug.d/iface/15-teql
  805. endef
  806. $(eval $(call KernelPackage,sched))
  807. define KernelPackage/tcp-bbr
  808. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  809. TITLE:=BBR TCP congestion control
  810. KCONFIG:=CONFIG_TCP_CONG_BBR
  811. FILES:=$(LINUX_DIR)/net/ipv4/tcp_bbr.ko
  812. AUTOLOAD:=$(call AutoProbe,tcp_bbr)
  813. endef
  814. define KernelPackage/tcp-bbr/description
  815. Kernel module for BBR (Bottleneck Bandwidth and RTT) TCP congestion
  816. control. It requires the fq ("Fair Queue") pacing packet scheduler.
  817. For kernel 4.13+, TCP internal pacing is implemented as fallback.
  818. endef
  819. TCP_BBR_SYSCTL_CONF:=sysctl-tcp-bbr.conf
  820. define KernelPackage/tcp-bbr/install
  821. $(INSTALL_DIR) $(1)/etc/sysctl.d
  822. $(INSTALL_DATA) ./files/$(TCP_BBR_SYSCTL_CONF) $(1)/etc/sysctl.d/12-tcp-bbr.conf
  823. endef
  824. $(eval $(call KernelPackage,tcp-bbr))
  825. define KernelPackage/tcp-hybla
  826. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  827. TITLE:=TCP-Hybla congestion control algorithm
  828. KCONFIG:=CONFIG_TCP_CONG_HYBLA
  829. FILES:=$(LINUX_DIR)/net/ipv4/tcp_hybla.ko
  830. AUTOLOAD:=$(call AutoProbe,tcp_hybla)
  831. endef
  832. define KernelPackage/tcp-hybla/description
  833. TCP-Hybla is a sender-side only change that eliminates penalization of
  834. long-RTT, large-bandwidth connections, like when satellite legs are
  835. involved, especially when sharing a common bottleneck with normal
  836. terrestrial connections.
  837. endef
  838. $(eval $(call KernelPackage,tcp-hybla))
  839. define KernelPackage/tcp-scalable
  840. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  841. TITLE:=TCP-Scalable congestion control algorithm
  842. KCONFIG:=CONFIG_TCP_CONG_SCALABLE
  843. FILES:=$(LINUX_DIR)/net/ipv4/tcp_scalable.ko
  844. AUTOLOAD:=$(call AutoProbe,tcp-scalable)
  845. endef
  846. define KernelPackage/tcp-scalable/description
  847. Scalable TCP is a sender-side only change to TCP which uses a
  848. MIMD congestion control algorithm which has some nice scaling
  849. properties, though is known to have fairness issues.
  850. See http://www.deneholme.net/tom/scalable/
  851. endef
  852. $(eval $(call KernelPackage,tcp-scalable))
  853. define KernelPackage/ax25
  854. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  855. TITLE:=AX25 support
  856. DEPENDS:=+kmod-lib-crc16
  857. KCONFIG:= \
  858. CONFIG_HAMRADIO=y \
  859. CONFIG_AX25 \
  860. CONFIG_MKISS
  861. FILES:= \
  862. $(LINUX_DIR)/net/ax25/ax25.ko \
  863. $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
  864. AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
  865. endef
  866. define KernelPackage/ax25/description
  867. Kernel modules for AX25 support
  868. endef
  869. $(eval $(call KernelPackage,ax25))
  870. define KernelPackage/pktgen
  871. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  872. DEPENDS:=@!TARGET_uml
  873. TITLE:=Network packet generator
  874. KCONFIG:=CONFIG_NET_PKTGEN
  875. FILES:=$(LINUX_DIR)/net/core/pktgen.ko
  876. AUTOLOAD:=$(call AutoLoad,99,pktgen)
  877. endef
  878. define KernelPackage/pktgen/description
  879. Kernel modules for the Network Packet Generator
  880. endef
  881. $(eval $(call KernelPackage,pktgen))
  882. define KernelPackage/l2tp
  883. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  884. TITLE:=Layer Two Tunneling Protocol (L2TP)
  885. DEPENDS:= \
  886. +kmod-udptunnel4 \
  887. +IPV6:kmod-udptunnel6
  888. KCONFIG:=CONFIG_L2TP \
  889. CONFIG_L2TP_V3=y \
  890. CONFIG_L2TP_DEBUGFS=n
  891. FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.ko \
  892. $(LINUX_DIR)/net/l2tp/l2tp_netlink.ko
  893. AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink)
  894. endef
  895. define KernelPackage/l2tp/description
  896. Kernel modules for L2TP V3 Support
  897. endef
  898. $(eval $(call KernelPackage,l2tp))
  899. define KernelPackage/l2tp-eth
  900. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  901. TITLE:=L2TP ethernet pseudowire support for L2TPv3
  902. DEPENDS:=+kmod-l2tp
  903. KCONFIG:=CONFIG_L2TP_ETH
  904. FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.ko
  905. AUTOLOAD:=$(call AutoLoad,33,l2tp_eth)
  906. endef
  907. define KernelPackage/l2tp-eth/description
  908. Kernel modules for L2TP ethernet pseudowire support for L2TPv3
  909. endef
  910. $(eval $(call KernelPackage,l2tp-eth))
  911. define KernelPackage/l2tp-ip
  912. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  913. TITLE:=L2TP IP encapsulation for L2TPv3
  914. DEPENDS:=+kmod-l2tp
  915. KCONFIG:=CONFIG_L2TP_IP
  916. FILES:= \
  917. $(LINUX_DIR)/net/l2tp/l2tp_ip.ko \
  918. $(if $(CONFIG_IPV6),$(LINUX_DIR)/net/l2tp/l2tp_ip6.ko)
  919. AUTOLOAD:=$(call AutoLoad,33,l2tp_ip $(if $(CONFIG_IPV6),l2tp_ip6))
  920. endef
  921. define KernelPackage/l2tp-ip/description
  922. Kernel modules for L2TP IP encapsulation for L2TPv3
  923. endef
  924. $(eval $(call KernelPackage,l2tp-ip))
  925. define KernelPackage/sctp
  926. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  927. TITLE:=SCTP protocol kernel support
  928. KCONFIG:=\
  929. CONFIG_IP_SCTP \
  930. CONFIG_SCTP_DBG_MSG=n \
  931. CONFIG_SCTP_DBG_OBJCNT=n \
  932. CONFIG_SCTP_HMAC_NONE=n \
  933. CONFIG_SCTP_HMAC_SHA1=n \
  934. CONFIG_SCTP_HMAC_MD5=y \
  935. CONFIG_SCTP_COOKIE_HMAC_SHA1=n \
  936. CONFIG_SCTP_COOKIE_HMAC_MD5=y \
  937. CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE=n \
  938. CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=n \
  939. CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
  940. FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
  941. AUTOLOAD:= $(call AutoLoad,32,sctp)
  942. DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac \
  943. +LINUX_5_15:kmod-udptunnel4 +LINUX_5_15:kmod-udptunnel6
  944. endef
  945. define KernelPackage/sctp/description
  946. Kernel modules for SCTP protocol support
  947. endef
  948. $(eval $(call KernelPackage,sctp))
  949. define KernelPackage/netem
  950. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  951. TITLE:=Network emulation functionality
  952. DEPENDS:=+kmod-sched
  953. KCONFIG:=CONFIG_NET_SCH_NETEM
  954. FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko
  955. AUTOLOAD:=$(call AutoLoad,99,netem)
  956. endef
  957. define KernelPackage/netem/description
  958. Kernel modules for emulating the properties of wide area networks
  959. endef
  960. $(eval $(call KernelPackage,netem))
  961. define KernelPackage/slip
  962. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  963. DEPENDS:=+kmod-slhc
  964. TITLE:=SLIP modules
  965. KCONFIG:= \
  966. CONFIG_SLIP \
  967. CONFIG_SLIP_COMPRESSED=y \
  968. CONFIG_SLIP_SMART=y \
  969. CONFIG_SLIP_MODE_SLIP6=y
  970. FILES:= \
  971. $(LINUX_DIR)/drivers/net/slip/slip.ko
  972. AUTOLOAD:=$(call AutoLoad,30,slip)
  973. endef
  974. define KernelPackage/slip/description
  975. Kernel modules for SLIP support
  976. endef
  977. $(eval $(call KernelPackage,slip))
  978. define KernelPackage/dnsresolver
  979. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  980. TITLE:=In-kernel DNS Resolver
  981. KCONFIG:= CONFIG_DNS_RESOLVER
  982. FILES:=$(LINUX_DIR)/net/dns_resolver/dns_resolver.ko
  983. AUTOLOAD:=$(call AutoLoad,30,dns_resolver)
  984. endef
  985. $(eval $(call KernelPackage,dnsresolver))
  986. define KernelPackage/rxrpc
  987. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  988. TITLE:=AF_RXRPC support
  989. HIDDEN:=1
  990. KCONFIG:= \
  991. CONFIG_AF_RXRPC \
  992. CONFIG_RXKAD=m \
  993. CONFIG_AF_RXRPC_DEBUG=n
  994. FILES:= \
  995. $(LINUX_DIR)/net/rxrpc/rxrpc.ko
  996. AUTOLOAD:=$(call AutoLoad,30,rxrpc.ko)
  997. DEPENDS:= +kmod-crypto-manager +kmod-crypto-pcbc +kmod-crypto-fcrypt
  998. endef
  999. define KernelPackage/rxrpc/description
  1000. Kernel support for AF_RXRPC; required for AFS client
  1001. endef
  1002. $(eval $(call KernelPackage,rxrpc))
  1003. define KernelPackage/mpls
  1004. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  1005. TITLE:=MPLS support
  1006. DEPENDS:=+kmod-iptunnel
  1007. KCONFIG:= \
  1008. CONFIG_MPLS=y \
  1009. CONFIG_LWTUNNEL=y \
  1010. CONFIG_LWTUNNEL_BPF=n \
  1011. CONFIG_NET_MPLS_GSO=m \
  1012. CONFIG_MPLS_ROUTING=m \
  1013. CONFIG_MPLS_IPTUNNEL=m
  1014. FILES:= \
  1015. $(LINUX_DIR)/net/mpls/mpls_gso.ko \
  1016. $(LINUX_DIR)/net/mpls/mpls_iptunnel.ko \
  1017. $(LINUX_DIR)/net/mpls/mpls_router.ko
  1018. AUTOLOAD:=$(call AutoLoad,30,mpls_router mpls_iptunnel mpls_gso)
  1019. endef
  1020. define KernelPackage/mpls/description
  1021. Kernel support for MPLS
  1022. endef
  1023. $(eval $(call KernelPackage,mpls))
  1024. define KernelPackage/9pnet
  1025. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  1026. TITLE:=Plan 9 Resource Sharing Support (9P2000)
  1027. DEPENDS:=@VIRTIO_SUPPORT
  1028. KCONFIG:= \
  1029. CONFIG_NET_9P \
  1030. CONFIG_NET_9P_DEBUG=n \
  1031. CONFIG_NET_9P_XEN=n \
  1032. CONFIG_NET_9P_VIRTIO
  1033. FILES:= \
  1034. $(LINUX_DIR)/net/9p/9pnet.ko \
  1035. $(LINUX_DIR)/net/9p/9pnet_virtio.ko
  1036. AUTOLOAD:=$(call AutoLoad,29,9pnet 9pnet_virtio)
  1037. endef
  1038. define KernelPackage/9pnet/description
  1039. Kernel support support for
  1040. Plan 9 resource sharing via the 9P2000 protocol.
  1041. endef
  1042. $(eval $(call KernelPackage,9pnet))
  1043. define KernelPackage/nlmon
  1044. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  1045. TITLE:=Virtual netlink monitoring device
  1046. KCONFIG:=CONFIG_NLMON
  1047. FILES:=$(LINUX_DIR)/drivers/net/nlmon.ko
  1048. AUTOLOAD:=$(call AutoProbe,nlmon)
  1049. endef
  1050. define KernelPackage/nlmon/description
  1051. Kernel module which adds a monitoring device for netlink.
  1052. endef
  1053. $(eval $(call KernelPackage,nlmon))
  1054. define KernelPackage/mdio
  1055. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  1056. TITLE:=MDIO (clause 45) PHY support
  1057. KCONFIG:=CONFIG_MDIO
  1058. HIDDEN:=1
  1059. FILES:=$(LINUX_DIR)/drivers/net/mdio.ko
  1060. AUTOLOAD:=$(call AutoLoad,32,mdio)
  1061. endef
  1062. define KernelPackage/mdio/description
  1063. Kernel modules for MDIO (clause 45) PHY support
  1064. endef
  1065. $(eval $(call KernelPackage,mdio))
  1066. define KernelPackage/macsec
  1067. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  1068. TITLE:=IEEE 802.1AE MAC-level encryption (MAC)
  1069. DEPENDS:=+kmod-crypto-gcm
  1070. KCONFIG:=CONFIG_MACSEC
  1071. FILES:=$(LINUX_DIR)/drivers/net/macsec.ko
  1072. AUTOLOAD:=$(call AutoLoad,13,macsec)
  1073. endef
  1074. define KernelPackage/macsec/description
  1075. MACsec is an encryption standard for Ethernet.
  1076. endef
  1077. $(eval $(call KernelPackage,macsec))
  1078. define KernelPackage/netlink-diag
  1079. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  1080. TITLE:=Netlink diag support for ss utility
  1081. KCONFIG:=CONFIG_NETLINK_DIAG
  1082. FILES:=$(LINUX_DIR)/net/netlink/netlink_diag.ko
  1083. AUTOLOAD:=$(call AutoLoad,31,netlink-diag)
  1084. endef
  1085. define KernelPackage/netlink-diag/description
  1086. Netlink diag is a module made for use with iproute2's ss utility
  1087. endef
  1088. $(eval $(call KernelPackage,netlink-diag))
  1089. define KernelPackage/inet-diag
  1090. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  1091. TITLE:=INET diag support for ss utility
  1092. KCONFIG:= \
  1093. CONFIG_INET_DIAG \
  1094. CONFIG_INET_TCP_DIAG \
  1095. CONFIG_INET_UDP_DIAG \
  1096. CONFIG_INET_RAW_DIAG \
  1097. CONFIG_INET_DIAG_DESTROY=n
  1098. FILES:= \
  1099. $(LINUX_DIR)/net/ipv4/inet_diag.ko \
  1100. $(LINUX_DIR)/net/ipv4/tcp_diag.ko \
  1101. $(LINUX_DIR)/net/ipv4/udp_diag.ko \
  1102. $(LINUX_DIR)/net/ipv4/raw_diag.ko
  1103. AUTOLOAD:=$(call AutoLoad,31,inet_diag tcp_diag udp_diag raw_diag)
  1104. endef
  1105. define KernelPackage/inet-diag/description
  1106. Support for INET (TCP, DCCP, etc) socket monitoring interface used by
  1107. native Linux tools such as ss.
  1108. endef
  1109. $(eval $(call KernelPackage,inet-diag))
  1110. define KernelPackage/wireguard
  1111. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  1112. TITLE:=WireGuard secure network tunnel
  1113. DEPENDS:= \
  1114. +kmod-crypto-lib-chacha20poly1305 \
  1115. +kmod-crypto-lib-curve25519 \
  1116. +kmod-udptunnel4 \
  1117. +IPV6:kmod-udptunnel6
  1118. KCONFIG:= \
  1119. CONFIG_WIREGUARD \
  1120. CONFIG_WIREGUARD_DEBUG=n
  1121. FILES:=$(LINUX_DIR)/drivers/net/wireguard/wireguard.ko
  1122. AUTOLOAD:=$(call AutoProbe,wireguard)
  1123. endef
  1124. define KernelPackage/wireguard/description
  1125. WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes
  1126. state-of-the-art cryptography. It aims to be faster, simpler, leaner, and
  1127. more useful than IPSec, while avoiding the massive headache. It intends to
  1128. be considerably more performant than OpenVPN. WireGuard is designed as a
  1129. general purpose VPN for running on embedded interfaces and super computers
  1130. alike, fit for many different circumstances. It uses UDP.
  1131. endef
  1132. $(eval $(call KernelPackage,wireguard))
  1133. define KernelPackage/netconsole
  1134. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  1135. TITLE:=Network console logging support
  1136. KCONFIG:=CONFIG_NETCONSOLE \
  1137. CONFIG_NETCONSOLE_DYNAMIC=n
  1138. FILES:=$(LINUX_DIR)/drivers/net/netconsole.ko
  1139. AUTOLOAD:=$(call AutoProbe,netconsole)
  1140. endef
  1141. define KernelPackage/netconsole/description
  1142. Network console logging support.
  1143. endef
  1144. $(eval $(call KernelPackage,netconsole))