netsupport.mk 31 KB

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