netsupport.mk 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287
  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_gact 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_GACT \
  594. CONFIG_NET_ACT_MIRRED \
  595. CONFIG_NET_ACT_SKBEDIT \
  596. CONFIG_NET_CLS_MATCHALL \
  597. CONFIG_NET_EMATCH=y \
  598. CONFIG_NET_EMATCH_U32
  599. FILES:=$(SCHED_FILES)
  600. AUTOLOAD:=$(call AutoLoad,70, $(SCHED_MODULES_CORE))
  601. endef
  602. define KernelPackage/sched-core/description
  603. Core kernel scheduler support for IP traffic
  604. endef
  605. $(eval $(call KernelPackage,sched-core))
  606. define KernelPackage/sched-cake
  607. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  608. TITLE:=Cake fq_codel/blue derived shaper
  609. DEPENDS:=+kmod-sched-core
  610. KCONFIG:=CONFIG_NET_SCH_CAKE
  611. FILES:=$(LINUX_DIR)/net/sched/sch_cake.ko
  612. AUTOLOAD:=$(call AutoProbe,sch_cake)
  613. endef
  614. define KernelPackage/sched-cake/description
  615. Common Applications Kept Enhanced fq_codel/blue derived shaper
  616. endef
  617. $(eval $(call KernelPackage,sched-cake))
  618. define KernelPackage/sched-flower
  619. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  620. TITLE:=Flower traffic classifier
  621. DEPENDS:=+kmod-sched-core
  622. KCONFIG:=CONFIG_NET_CLS_FLOWER
  623. FILES:=$(LINUX_DIR)/net/sched/cls_flower.ko
  624. AUTOLOAD:=$(call AutoProbe, cls_flower)
  625. endef
  626. define KernelPackage/sched-flower/description
  627. Allows to classify packets based on a configurable combination of packet keys and masks.
  628. endef
  629. $(eval $(call KernelPackage,sched-flower))
  630. define KernelPackage/sched-act-vlan
  631. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  632. TITLE:=Traffic VLAN manipulation
  633. DEPENDS:=+kmod-sched-core
  634. KCONFIG:=CONFIG_NET_ACT_VLAN
  635. FILES:=$(LINUX_DIR)/net/sched/act_vlan.ko
  636. AUTOLOAD:=$(call AutoProbe, act_vlan)
  637. endef
  638. define KernelPackage/sched-act-vlan/description
  639. Allows to configure rules to push or pop vlan headers.
  640. endef
  641. $(eval $(call KernelPackage,sched-act-vlan))
  642. define KernelPackage/sched-mqprio
  643. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  644. TITLE:=Multi-queue priority scheduler (MQPRIO)
  645. DEPENDS:=+kmod-sched-core
  646. KCONFIG:=CONFIG_NET_SCH_MQPRIO
  647. FILES:=$(LINUX_DIR)/net/sched/sch_mqprio.ko
  648. AUTOLOAD:=$(call AutoProbe, sch_mqprio)
  649. endef
  650. define KernelPackage/sched-mqprio/description
  651. This scheduler allows QOS to be offloaded on NICs that have support for offloading QOS schedulers.
  652. endef
  653. $(eval $(call KernelPackage,sched-mqprio))
  654. define KernelPackage/sched-connmark
  655. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  656. TITLE:=Traffic shaper conntrack mark support
  657. DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
  658. KCONFIG:=CONFIG_NET_ACT_CONNMARK
  659. FILES:=$(LINUX_DIR)/net/sched/act_connmark.ko
  660. AUTOLOAD:=$(call AutoLoad,71, act_connmark)
  661. endef
  662. $(eval $(call KernelPackage,sched-connmark))
  663. define KernelPackage/sched-ctinfo
  664. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  665. TITLE:=Traffic shaper ctinfo support
  666. DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
  667. KCONFIG:=CONFIG_NET_ACT_CTINFO
  668. FILES:=$(LINUX_DIR)/net/sched/act_ctinfo.ko
  669. AUTOLOAD:=$(call AutoLoad,71, act_ctinfo)
  670. endef
  671. $(eval $(call KernelPackage,sched-ctinfo))
  672. define KernelPackage/sched-ipset
  673. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  674. TITLE:=Traffic shaper ipset support
  675. DEPENDS:=+kmod-sched-core +kmod-ipt-ipset
  676. KCONFIG:= \
  677. CONFIG_NET_EMATCH_IPSET
  678. FILES:= \
  679. $(LINUX_DIR)/net/sched/em_ipset.ko
  680. AUTOLOAD:=$(call AutoLoad,72,em_ipset)
  681. endef
  682. $(eval $(call KernelPackage,sched-ipset))
  683. define KernelPackage/sched-bpf
  684. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  685. TITLE:=Traffic shaper support for Berkeley Packet Filter
  686. KCONFIG:= \
  687. CONFIG_NET_CLS_BPF \
  688. CONFIG_NET_ACT_BPF
  689. FILES:= \
  690. $(LINUX_DIR)/net/sched/cls_bpf.ko \
  691. $(LINUX_DIR)/net/sched/act_bpf.ko
  692. AUTOLOAD:=$(call AutoLoad,72,cls_bpf act_bpf)
  693. endef
  694. $(eval $(call KernelPackage,sched-bpf))
  695. define KernelPackage/bpf-test
  696. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  697. TITLE:=Test Berkeley Packet Filter functionality
  698. KCONFIG:=CONFIG_TEST_BPF
  699. FILES:=$(LINUX_DIR)/lib/test_bpf.ko
  700. endef
  701. $(eval $(call KernelPackage,bpf-test))
  702. define KernelPackage/sched
  703. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  704. TITLE:=Extra traffic schedulers
  705. DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-lib-crc32c
  706. KCONFIG:= \
  707. CONFIG_NET_SCH_CODEL \
  708. CONFIG_NET_SCH_DSMARK \
  709. CONFIG_NET_SCH_FIFO \
  710. CONFIG_NET_SCH_GRED \
  711. CONFIG_NET_SCH_MULTIQ \
  712. CONFIG_NET_SCH_PRIO \
  713. CONFIG_NET_SCH_RED \
  714. CONFIG_NET_SCH_SFQ \
  715. CONFIG_NET_SCH_TEQL \
  716. CONFIG_NET_SCH_FQ \
  717. CONFIG_NET_SCH_PIE \
  718. CONFIG_NET_ACT_POLICE \
  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. SCHED_TEQL_HOTPLUG:=hotplug-sched-teql.sh
  734. define KernelPackage/sched/install
  735. $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
  736. $(INSTALL_DATA) ./files/$(SCHED_TEQL_HOTPLUG) $(1)/etc/hotplug.d/iface/15-teql
  737. endef
  738. $(eval $(call KernelPackage,sched))
  739. define KernelPackage/tcp-bbr
  740. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  741. TITLE:=BBR TCP congestion control
  742. KCONFIG:=CONFIG_TCP_CONG_BBR
  743. FILES:=$(LINUX_DIR)/net/ipv4/tcp_bbr.ko
  744. AUTOLOAD:=$(call AutoProbe,tcp_bbr)
  745. endef
  746. define KernelPackage/tcp-bbr/description
  747. Kernel module for BBR (Bottleneck Bandwidth and RTT) TCP congestion
  748. control. It requires the fq ("Fair Queue") pacing packet scheduler.
  749. For kernel 4.13+, TCP internal pacing is implemented as fallback.
  750. endef
  751. TCP_BBR_SYSCTL_CONF:=sysctl-tcp-bbr.conf
  752. define KernelPackage/tcp-bbr/install
  753. $(INSTALL_DIR) $(1)/etc/sysctl.d
  754. $(INSTALL_DATA) ./files/$(TCP_BBR_SYSCTL_CONF) $(1)/etc/sysctl.d/12-tcp-bbr.conf
  755. endef
  756. $(eval $(call KernelPackage,tcp-bbr))
  757. define KernelPackage/tcp-hybla
  758. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  759. TITLE:=TCP-Hybla congestion control algorithm
  760. KCONFIG:=CONFIG_TCP_CONG_HYBLA
  761. FILES:=$(LINUX_DIR)/net/ipv4/tcp_hybla.ko
  762. AUTOLOAD:=$(call AutoProbe,tcp_hybla)
  763. endef
  764. define KernelPackage/tcp-hybla/description
  765. TCP-Hybla is a sender-side only change that eliminates penalization of
  766. long-RTT, large-bandwidth connections, like when satellite legs are
  767. involved, especially when sharing a common bottleneck with normal
  768. terrestrial connections.
  769. endef
  770. $(eval $(call KernelPackage,tcp-hybla))
  771. define KernelPackage/ax25
  772. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  773. TITLE:=AX25 support
  774. DEPENDS:=+kmod-lib-crc16
  775. KCONFIG:= \
  776. CONFIG_HAMRADIO=y \
  777. CONFIG_AX25 \
  778. CONFIG_MKISS
  779. FILES:= \
  780. $(LINUX_DIR)/net/ax25/ax25.ko \
  781. $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
  782. AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
  783. endef
  784. define KernelPackage/ax25/description
  785. Kernel modules for AX25 support
  786. endef
  787. $(eval $(call KernelPackage,ax25))
  788. define KernelPackage/pktgen
  789. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  790. DEPENDS:=@!TARGET_uml
  791. TITLE:=Network packet generator
  792. KCONFIG:=CONFIG_NET_PKTGEN
  793. FILES:=$(LINUX_DIR)/net/core/pktgen.ko
  794. AUTOLOAD:=$(call AutoLoad,99,pktgen)
  795. endef
  796. define KernelPackage/pktgen/description
  797. Kernel modules for the Network Packet Generator
  798. endef
  799. $(eval $(call KernelPackage,pktgen))
  800. define KernelPackage/l2tp
  801. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  802. TITLE:=Layer Two Tunneling Protocol (L2TP)
  803. DEPENDS:= \
  804. +kmod-udptunnel4 \
  805. +IPV6:kmod-udptunnel6
  806. KCONFIG:=CONFIG_L2TP \
  807. CONFIG_L2TP_V3=y \
  808. CONFIG_L2TP_DEBUGFS=n
  809. FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.ko \
  810. $(LINUX_DIR)/net/l2tp/l2tp_netlink.ko
  811. AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink)
  812. endef
  813. define KernelPackage/l2tp/description
  814. Kernel modules for L2TP V3 Support
  815. endef
  816. $(eval $(call KernelPackage,l2tp))
  817. define KernelPackage/l2tp-eth
  818. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  819. TITLE:=L2TP ethernet pseudowire support for L2TPv3
  820. DEPENDS:=+kmod-l2tp
  821. KCONFIG:=CONFIG_L2TP_ETH
  822. FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.ko
  823. AUTOLOAD:=$(call AutoLoad,33,l2tp_eth)
  824. endef
  825. define KernelPackage/l2tp-eth/description
  826. Kernel modules for L2TP ethernet pseudowire support for L2TPv3
  827. endef
  828. $(eval $(call KernelPackage,l2tp-eth))
  829. define KernelPackage/l2tp-ip
  830. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  831. TITLE:=L2TP IP encapsulation for L2TPv3
  832. DEPENDS:=+kmod-l2tp
  833. KCONFIG:=CONFIG_L2TP_IP
  834. FILES:= \
  835. $(LINUX_DIR)/net/l2tp/l2tp_ip.ko \
  836. $(if $(CONFIG_IPV6),$(LINUX_DIR)/net/l2tp/l2tp_ip6.ko)
  837. AUTOLOAD:=$(call AutoLoad,33,l2tp_ip $(if $(CONFIG_IPV6),l2tp_ip6))
  838. endef
  839. define KernelPackage/l2tp-ip/description
  840. Kernel modules for L2TP IP encapsulation for L2TPv3
  841. endef
  842. $(eval $(call KernelPackage,l2tp-ip))
  843. define KernelPackage/sctp
  844. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  845. TITLE:=SCTP protocol kernel support
  846. KCONFIG:=\
  847. CONFIG_IP_SCTP \
  848. CONFIG_SCTP_DBG_MSG=n \
  849. CONFIG_SCTP_DBG_OBJCNT=n \
  850. CONFIG_SCTP_HMAC_NONE=n \
  851. CONFIG_SCTP_HMAC_SHA1=n \
  852. CONFIG_SCTP_HMAC_MD5=y \
  853. CONFIG_SCTP_COOKIE_HMAC_SHA1=n \
  854. CONFIG_SCTP_COOKIE_HMAC_MD5=y \
  855. CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE=n \
  856. CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=n \
  857. CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
  858. FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
  859. AUTOLOAD:= $(call AutoLoad,32,sctp)
  860. DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac
  861. endef
  862. define KernelPackage/sctp/description
  863. Kernel modules for SCTP protocol support
  864. endef
  865. $(eval $(call KernelPackage,sctp))
  866. define KernelPackage/netem
  867. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  868. TITLE:=Network emulation functionality
  869. DEPENDS:=+kmod-sched
  870. KCONFIG:=CONFIG_NET_SCH_NETEM
  871. FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko
  872. AUTOLOAD:=$(call AutoLoad,99,netem)
  873. endef
  874. define KernelPackage/netem/description
  875. Kernel modules for emulating the properties of wide area networks
  876. endef
  877. $(eval $(call KernelPackage,netem))
  878. define KernelPackage/slip
  879. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  880. DEPENDS:=+kmod-slhc
  881. TITLE:=SLIP modules
  882. KCONFIG:= \
  883. CONFIG_SLIP \
  884. CONFIG_SLIP_COMPRESSED=y \
  885. CONFIG_SLIP_SMART=y \
  886. CONFIG_SLIP_MODE_SLIP6=y
  887. FILES:= \
  888. $(LINUX_DIR)/drivers/net/slip/slip.ko
  889. AUTOLOAD:=$(call AutoLoad,30,slip)
  890. endef
  891. define KernelPackage/slip/description
  892. Kernel modules for SLIP support
  893. endef
  894. $(eval $(call KernelPackage,slip))
  895. define KernelPackage/dnsresolver
  896. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  897. TITLE:=In-kernel DNS Resolver
  898. KCONFIG:= CONFIG_DNS_RESOLVER
  899. FILES:=$(LINUX_DIR)/net/dns_resolver/dns_resolver.ko
  900. AUTOLOAD:=$(call AutoLoad,30,dns_resolver)
  901. endef
  902. $(eval $(call KernelPackage,dnsresolver))
  903. define KernelPackage/rxrpc
  904. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  905. TITLE:=AF_RXRPC support
  906. HIDDEN:=1
  907. KCONFIG:= \
  908. CONFIG_AF_RXRPC \
  909. CONFIG_RXKAD=m \
  910. CONFIG_AF_RXRPC_DEBUG=n
  911. FILES:= \
  912. $(LINUX_DIR)/net/rxrpc/rxrpc.ko
  913. AUTOLOAD:=$(call AutoLoad,30,rxrpc.ko)
  914. DEPENDS:= +kmod-crypto-manager +kmod-crypto-pcbc +kmod-crypto-fcrypt
  915. endef
  916. define KernelPackage/rxrpc/description
  917. Kernel support for AF_RXRPC; required for AFS client
  918. endef
  919. $(eval $(call KernelPackage,rxrpc))
  920. define KernelPackage/mpls
  921. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  922. TITLE:=MPLS support
  923. DEPENDS:=+kmod-iptunnel
  924. KCONFIG:= \
  925. CONFIG_MPLS=y \
  926. CONFIG_LWTUNNEL=y \
  927. CONFIG_LWTUNNEL_BPF=n \
  928. CONFIG_NET_MPLS_GSO=m \
  929. CONFIG_MPLS_ROUTING=m \
  930. CONFIG_MPLS_IPTUNNEL=m
  931. FILES:= \
  932. $(LINUX_DIR)/net/mpls/mpls_gso.ko \
  933. $(LINUX_DIR)/net/mpls/mpls_iptunnel.ko \
  934. $(LINUX_DIR)/net/mpls/mpls_router.ko
  935. AUTOLOAD:=$(call AutoLoad,30,mpls_router mpls_iptunnel mpls_gso)
  936. endef
  937. define KernelPackage/mpls/description
  938. Kernel support for MPLS
  939. endef
  940. $(eval $(call KernelPackage,mpls))
  941. define KernelPackage/9pnet
  942. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  943. TITLE:=Plan 9 Resource Sharing Support (9P2000)
  944. DEPENDS:=@VIRTIO_SUPPORT
  945. KCONFIG:= \
  946. CONFIG_NET_9P \
  947. CONFIG_NET_9P_DEBUG=n \
  948. CONFIG_NET_9P_XEN=n \
  949. CONFIG_NET_9P_VIRTIO
  950. FILES:= \
  951. $(LINUX_DIR)/net/9p/9pnet.ko \
  952. $(LINUX_DIR)/net/9p/9pnet_virtio.ko
  953. AUTOLOAD:=$(call AutoLoad,29,9pnet 9pnet_virtio)
  954. endef
  955. define KernelPackage/9pnet/description
  956. Kernel support support for
  957. Plan 9 resource sharing via the 9P2000 protocol.
  958. endef
  959. $(eval $(call KernelPackage,9pnet))
  960. define KernelPackage/nlmon
  961. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  962. TITLE:=Virtual netlink monitoring device
  963. KCONFIG:=CONFIG_NLMON
  964. FILES:=$(LINUX_DIR)/drivers/net/nlmon.ko
  965. AUTOLOAD:=$(call AutoProbe,nlmon)
  966. endef
  967. define KernelPackage/nlmon/description
  968. Kernel module which adds a monitoring device for netlink.
  969. endef
  970. $(eval $(call KernelPackage,nlmon))
  971. define KernelPackage/mdio
  972. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  973. TITLE:=MDIO (clause 45) PHY support
  974. KCONFIG:=CONFIG_MDIO
  975. HIDDEN:=1
  976. FILES:=$(LINUX_DIR)/drivers/net/mdio.ko
  977. AUTOLOAD:=$(call AutoLoad,32,mdio)
  978. endef
  979. define KernelPackage/mdio/description
  980. Kernel modules for MDIO (clause 45) PHY support
  981. endef
  982. $(eval $(call KernelPackage,mdio))
  983. define KernelPackage/macsec
  984. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  985. TITLE:=IEEE 802.1AE MAC-level encryption (MAC)
  986. DEPENDS:=+kmod-crypto-gcm
  987. KCONFIG:=CONFIG_MACSEC
  988. FILES:=$(LINUX_DIR)/drivers/net/macsec.ko
  989. AUTOLOAD:=$(call AutoLoad,13,macsec)
  990. endef
  991. define KernelPackage/macsec/description
  992. MACsec is an encryption standard for Ethernet.
  993. endef
  994. $(eval $(call KernelPackage,macsec))
  995. define KernelPackage/netlink-diag
  996. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  997. TITLE:=Netlink diag support for ss utility
  998. KCONFIG:=CONFIG_NETLINK_DIAG
  999. FILES:=$(LINUX_DIR)/net/netlink/netlink_diag.ko
  1000. AUTOLOAD:=$(call AutoLoad,31,netlink-diag)
  1001. endef
  1002. define KernelPackage/netlink-diag/description
  1003. Netlink diag is a module made for use with iproute2's ss utility
  1004. endef
  1005. $(eval $(call KernelPackage,netlink-diag))
  1006. define KernelPackage/wireguard
  1007. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  1008. TITLE:=WireGuard secure network tunnel
  1009. DEPENDS:= \
  1010. +kmod-crypto-lib-blake2s \
  1011. +kmod-crypto-lib-chacha20poly1305 \
  1012. +kmod-crypto-lib-curve25519 \
  1013. +kmod-udptunnel4 \
  1014. +IPV6:kmod-udptunnel6
  1015. KCONFIG:= \
  1016. CONFIG_WIREGUARD \
  1017. CONFIG_WIREGUARD_DEBUG=n
  1018. FILES:=$(LINUX_DIR)/drivers/net/wireguard/wireguard.ko
  1019. AUTOLOAD:=$(call AutoProbe,wireguard)
  1020. endef
  1021. define KernelPackage/wireguard/description
  1022. WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes
  1023. state-of-the-art cryptography. It aims to be faster, simpler, leaner, and
  1024. more useful than IPSec, while avoiding the massive headache. It intends to
  1025. be considerably more performant than OpenVPN. WireGuard is designed as a
  1026. general purpose VPN for running on embedded interfaces and super computers
  1027. alike, fit for many different circumstances. It uses UDP.
  1028. endef
  1029. $(eval $(call KernelPackage,wireguard))