netsupport.mk 40 KB

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