netsupport.mk 39 KB

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