netsupport.mk 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995
  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. DEPENDS:=+PACKAGE_kmod-llc:kmod-llc
  39. KCONFIG:= \
  40. CONFIG_ATALK \
  41. CONFIG_DEV_APPLETALK \
  42. CONFIG_IPDDP \
  43. CONFIG_IPDDP_ENCAP=y \
  44. CONFIG_IPDDP_DECAP=y
  45. FILES:= \
  46. $(LINUX_DIR)/net/appletalk/appletalk.ko \
  47. $(LINUX_DIR)/drivers/net/appletalk/ipddp.ko
  48. AUTOLOAD:=$(call AutoLoad,40,appletalk ipddp)
  49. endef
  50. define KernelPackage/appletalk/description
  51. Kernel module for AppleTalk protocol.
  52. endef
  53. $(eval $(call KernelPackage,appletalk))
  54. define KernelPackage/bonding
  55. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  56. TITLE:=Ethernet bonding driver
  57. KCONFIG:=CONFIG_BONDING
  58. FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.ko
  59. AUTOLOAD:=$(call AutoLoad,40,bonding)
  60. endef
  61. define KernelPackage/bonding/description
  62. Kernel module for NIC bonding.
  63. endef
  64. $(eval $(call KernelPackage,bonding))
  65. define KernelPackage/bridge
  66. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  67. TITLE:=Ethernet bridging support
  68. DEPENDS:=+kmod-stp
  69. KCONFIG:= \
  70. CONFIG_BRIDGE \
  71. CONFIG_BRIDGE_IGMP_SNOOPING=y
  72. FILES:=$(LINUX_DIR)/net/bridge/bridge.ko
  73. AUTOLOAD:=$(call AutoLoad,11,bridge)
  74. endef
  75. define KernelPackage/bridge/description
  76. Kernel module for Ethernet bridging.
  77. endef
  78. $(eval $(call KernelPackage,bridge))
  79. define KernelPackage/llc
  80. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  81. TITLE:=ANSI/IEEE 802.2 LLC support
  82. KCONFIG:=CONFIG_LLC
  83. FILES:= \
  84. $(LINUX_DIR)/net/llc/llc.ko \
  85. $(LINUX_DIR)/net/802/p8022.ko \
  86. $(LINUX_DIR)/net/802/psnap.ko
  87. AUTOLOAD:=$(call AutoLoad,09,llc p8022 psnap)
  88. endef
  89. define KernelPackage/llc/description
  90. Kernel module for ANSI/IEEE 802.2 LLC support.
  91. endef
  92. $(eval $(call KernelPackage,llc))
  93. define KernelPackage/stp
  94. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  95. TITLE:=Ethernet Spanning Tree Protocol support
  96. DEPENDS:=+kmod-llc
  97. KCONFIG:=CONFIG_STP
  98. FILES:=$(LINUX_DIR)/net/802/stp.ko
  99. AUTOLOAD:=$(call AutoLoad,10,stp)
  100. endef
  101. define KernelPackage/stp/description
  102. Kernel module for Ethernet Spanning Tree Protocol support.
  103. endef
  104. $(eval $(call KernelPackage,stp))
  105. define KernelPackage/8021q
  106. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  107. TITLE:=802.1Q VLAN support
  108. KCONFIG:=CONFIG_VLAN_8021Q \
  109. CONFIG_VLAN_8021Q_GVRP=n
  110. FILES:=$(LINUX_DIR)/net/8021q/8021q.ko
  111. AUTOLOAD:=$(call AutoLoad,12,8021q)
  112. endef
  113. define KernelPackage/8021q/description
  114. Kernel module for 802.1Q VLAN support
  115. endef
  116. $(eval $(call KernelPackage,8021q))
  117. define KernelPackage/udptunnel6
  118. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  119. TITLE:=UDP tunneling support
  120. DEPENDS:=@!(LINUX_3_8||LINUX_3_10||LINUX_3_13||LINUX_3_14) +kmod-ipv6
  121. KCONFIG:=CONFIG_NET_UDP_TUNNEL
  122. FILES:=$(LINUX_DIR)/net/ipv6/ip6_udp_tunnel.ko
  123. AUTOLOAD:=$(call AutoLoad,32,ip6_udp_tunnel)
  124. endef
  125. $(eval $(call KernelPackage,udptunnel6))
  126. define KernelPackage/vxlan
  127. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  128. TITLE:=Native VXLAN Kernel support
  129. DEPENDS:=+kmod-iptunnel +IPV6:kmod-udptunnel6
  130. KCONFIG:=CONFIG_VXLAN
  131. FILES:=$(LINUX_DIR)/drivers/net/vxlan.ko
  132. AUTOLOAD:=$(call AutoLoad,33,vxlan)
  133. endef
  134. define KernelPackage/vxlan/description
  135. Kernel module for supporting VXLAN in the Kernel.
  136. Requires Kernel 3.12 or newer.
  137. endef
  138. $(eval $(call KernelPackage,vxlan))
  139. define KernelPackage/capi
  140. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  141. TITLE:=CAPI (ISDN) Support
  142. KCONFIG:= \
  143. CONFIG_ISDN_CAPI \
  144. CONFIG_ISDN_CAPI_CAPI20 \
  145. CONFIG_ISDN_CAPIFS \
  146. CONFIG_ISDN_CAPI_CAPIFS
  147. FILES:= \
  148. $(LINUX_DIR)/drivers/isdn/capi/kernelcapi.ko \
  149. $(LINUX_DIR)/drivers/isdn/capi/capi.ko
  150. AUTOLOAD:=$(call AutoLoad,30,kernelcapi capi)
  151. endef
  152. define KernelPackage/capi/description
  153. Kernel module for basic CAPI (ISDN) support
  154. endef
  155. $(eval $(call KernelPackage,capi))
  156. define KernelPackage/misdn
  157. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  158. TITLE:=mISDN (ISDN) Support
  159. KCONFIG:= \
  160. CONFIG_ISDN=y \
  161. CONFIG_MISDN \
  162. CONFIG_MISDN_DSP \
  163. CONFIG_MISDN_L1OIP
  164. FILES:= \
  165. $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_core.ko \
  166. $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_dsp.ko \
  167. $(LINUX_DIR)/drivers/isdn/mISDN/l1oip.ko
  168. AUTOLOAD:=$(call AutoLoad,30,mISDN_core mISDN_dsp l1oip)
  169. endef
  170. define KernelPackage/misdn/description
  171. Modular ISDN driver support
  172. endef
  173. $(eval $(call KernelPackage,misdn))
  174. define KernelPackage/isdn4linux
  175. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  176. TITLE:=Old ISDN4Linux (deprecated)
  177. DEPENDS:=+kmod-ppp
  178. KCONFIG:= \
  179. CONFIG_ISDN=y \
  180. CONFIG_ISDN_I4L \
  181. CONFIG_ISDN_PPP=y \
  182. CONFIG_ISDN_PPP_VJ=y \
  183. CONFIG_ISDN_MPP=y \
  184. CONFIG_IPPP_FILTER=y \
  185. CONFIG_ISDN_PPP_BSDCOMP \
  186. CONFIG_ISDN_CAPI_MIDDLEWARE=y \
  187. CONFIG_ISDN_CAPI_CAPIFS_BOOL=y \
  188. CONFIG_ISDN_AUDIO=y \
  189. CONFIG_ISDN_TTY_FAX=y \
  190. CONFIG_ISDN_X25=y \
  191. CONFIG_ISDN_DIVERSION
  192. FILES:= \
  193. $(LINUX_DIR)/drivers/isdn/divert/dss1_divert.ko \
  194. $(LINUX_DIR)/drivers/isdn/i4l/isdn.ko \
  195. $(LINUX_DIR)/drivers/isdn/i4l/isdn_bsdcomp.ko
  196. AUTOLOAD:=$(call AutoLoad,40,isdn isdn_bsdcomp dss1_divert)
  197. endef
  198. define KernelPackage/isdn4linux/description
  199. This driver allows you to use an ISDN adapter for networking
  200. endef
  201. $(eval $(call KernelPackage,isdn4linux))
  202. define KernelPackage/ipip
  203. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  204. TITLE:=IP-in-IP encapsulation
  205. DEPENDS:=+kmod-iptunnel +kmod-iptunnel4
  206. KCONFIG:=CONFIG_NET_IPIP
  207. FILES:=$(LINUX_DIR)/net/ipv4/ipip.ko
  208. AUTOLOAD:=$(call AutoLoad,32,ipip)
  209. endef
  210. define KernelPackage/ipip/description
  211. Kernel modules for IP-in-IP encapsulation
  212. endef
  213. $(eval $(call KernelPackage,ipip))
  214. IPSEC-m:= \
  215. xfrm/xfrm_algo \
  216. xfrm/xfrm_ipcomp \
  217. xfrm/xfrm_user \
  218. key/af_key \
  219. define KernelPackage/ipsec
  220. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  221. TITLE:=IPsec related modules (IPv4 and IPv6)
  222. DEPENDS:=+kmod-crypto-authenc +kmod-crypto-iv +kmod-crypto-des +kmod-crypto-hmac +kmod-crypto-md5 +kmod-crypto-sha1 +kmod-crypto-deflate +kmod-crypto-cbc
  223. KCONFIG:= \
  224. CONFIG_NET_KEY \
  225. CONFIG_XFRM_USER \
  226. CONFIG_INET_IPCOMP \
  227. CONFIG_XFRM_IPCOMP
  228. FILES:=$(foreach mod,$(IPSEC-m),$(LINUX_DIR)/net/$(mod).ko)
  229. AUTOLOAD:=$(call AutoLoad,30,$(notdir $(IPSEC-m)))
  230. endef
  231. define KernelPackage/ipsec/description
  232. Kernel modules for IPsec support in both IPv4 and IPv6.
  233. Includes:
  234. - af_key
  235. - xfrm_ipcomp
  236. - xfrm_user
  237. endef
  238. $(eval $(call KernelPackage,ipsec))
  239. IPSEC4-m:= \
  240. ipv4/ah4 \
  241. ipv4/esp4 \
  242. ipv4/xfrm4_mode_beet \
  243. ipv4/xfrm4_mode_transport \
  244. ipv4/xfrm4_mode_tunnel \
  245. ipv4/xfrm4_tunnel \
  246. ipv4/ipcomp \
  247. define KernelPackage/ipsec4
  248. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  249. TITLE:=IPsec related modules (IPv4)
  250. DEPENDS:=kmod-ipsec +kmod-iptunnel4
  251. KCONFIG:= \
  252. CONFIG_INET_AH \
  253. CONFIG_INET_ESP \
  254. CONFIG_INET_IPCOMP \
  255. CONFIG_INET_XFRM_MODE_BEET \
  256. CONFIG_INET_XFRM_MODE_TRANSPORT \
  257. CONFIG_INET_XFRM_MODE_TUNNEL \
  258. CONFIG_INET_XFRM_TUNNEL
  259. FILES:=$(foreach mod,$(IPSEC4-m),$(LINUX_DIR)/net/$(mod).ko)
  260. AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC4-m)))
  261. endef
  262. define KernelPackage/ipsec4/description
  263. Kernel modules for IPsec support in IPv4.
  264. Includes:
  265. - ah4
  266. - esp4
  267. - ipcomp4
  268. - xfrm4_mode_beet
  269. - xfrm4_mode_transport
  270. - xfrm4_mode_tunnel
  271. - xfrm4_tunnel
  272. endef
  273. $(eval $(call KernelPackage,ipsec4))
  274. IPSEC6-m:= \
  275. ipv6/ah6 \
  276. ipv6/esp6 \
  277. ipv6/xfrm6_mode_beet \
  278. ipv6/xfrm6_mode_transport \
  279. ipv6/xfrm6_mode_tunnel \
  280. ipv6/xfrm6_tunnel \
  281. ipv6/ipcomp6 \
  282. define KernelPackage/ipsec6
  283. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  284. TITLE:=IPsec related modules (IPv6)
  285. DEPENDS:=kmod-ipsec +kmod-iptunnel6
  286. KCONFIG:= \
  287. CONFIG_INET6_AH \
  288. CONFIG_INET6_ESP \
  289. CONFIG_INET6_IPCOMP \
  290. CONFIG_INET6_XFRM_MODE_BEET \
  291. CONFIG_INET6_XFRM_MODE_TRANSPORT \
  292. CONFIG_INET6_XFRM_MODE_TUNNEL \
  293. CONFIG_INET6_XFRM_TUNNEL
  294. FILES:=$(foreach mod,$(IPSEC6-m),$(LINUX_DIR)/net/$(mod).ko)
  295. AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC6-m)))
  296. endef
  297. define KernelPackage/ipsec6/description
  298. Kernel modules for IPsec support in IPv6.
  299. Includes:
  300. - ah6
  301. - esp6
  302. - ipcomp6
  303. - xfrm6_mode_beet
  304. - xfrm6_mode_transport
  305. - xfrm6_mode_tunnel
  306. - xfrm6_tunnel
  307. endef
  308. $(eval $(call KernelPackage,ipsec6))
  309. define KernelPackage/iptunnel
  310. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  311. TITLE:=IP tunnel support
  312. HIDDEN:=1
  313. KCONFIG:= \
  314. CONFIG_NET_IP_TUNNEL
  315. FILES:=$(LINUX_DIR)/net/ipv4/ip_tunnel.ko
  316. AUTOLOAD:=$(call AutoLoad,31,ip_tunnel)
  317. endef
  318. define KernelPackage/iptunnel/description
  319. Kernel module for generic IP tunnel support
  320. endef
  321. $(eval $(call KernelPackage,iptunnel))
  322. define KernelPackage/iptunnel4
  323. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  324. TITLE:=IPv4 tunneling
  325. HIDDEN:=1
  326. KCONFIG:= \
  327. CONFIG_INET_TUNNEL
  328. FILES:=$(LINUX_DIR)/net/ipv4/tunnel4.ko
  329. AUTOLOAD:=$(call AutoLoad,31,tunnel4)
  330. endef
  331. define KernelPackage/iptunnel4/description
  332. Kernel modules for IPv4 tunneling
  333. endef
  334. $(eval $(call KernelPackage,iptunnel4))
  335. define KernelPackage/iptunnel6
  336. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  337. TITLE:=IPv6 tunneling
  338. DEPENDS:= +kmod-ipv6
  339. KCONFIG:= \
  340. CONFIG_INET6_TUNNEL
  341. FILES:=$(LINUX_DIR)/net/ipv6/tunnel6.ko
  342. AUTOLOAD:=$(call AutoLoad,31,tunnel6)
  343. endef
  344. define KernelPackage/iptunnel6/description
  345. Kernel modules for IPv6 tunneling
  346. endef
  347. $(eval $(call KernelPackage,iptunnel6))
  348. define KernelPackage/ipv6
  349. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  350. TITLE:=IPv6 support
  351. KCONFIG:= \
  352. CONFIG_IPV6 \
  353. CONFIG_IPV6_PRIVACY=y \
  354. CONFIG_IPV6_MULTIPLE_TABLES=y \
  355. CONFIG_IPV6_MROUTE=y \
  356. CONFIG_IPV6_PIMSM_V2=n \
  357. CONFIG_IPV6_SUBTREES=y
  358. FILES:=$(LINUX_DIR)/net/ipv6/ipv6.ko
  359. AUTOLOAD:=$(call AutoLoad,20,ipv6)
  360. endef
  361. define KernelPackage/ipv6/description
  362. Kernel modules for IPv6 support
  363. endef
  364. $(eval $(call KernelPackage,ipv6))
  365. define KernelPackage/sit
  366. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  367. DEPENDS:=+kmod-ipv6 +kmod-iptunnel +kmod-iptunnel4
  368. TITLE:=IPv6-in-IPv4 tunnel
  369. KCONFIG:=CONFIG_IPV6_SIT \
  370. CONFIG_IPV6_SIT_6RD=y
  371. FILES:=$(LINUX_DIR)/net/ipv6/sit.ko
  372. AUTOLOAD:=$(call AutoLoad,32,sit)
  373. endef
  374. define KernelPackage/sit/description
  375. Kernel modules for IPv6-in-IPv4 tunnelling
  376. endef
  377. $(eval $(call KernelPackage,sit))
  378. define KernelPackage/ip6-tunnel
  379. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  380. TITLE:=IP-in-IPv6 tunnelling
  381. DEPENDS:= +kmod-ipv6 +kmod-iptunnel6
  382. KCONFIG:= CONFIG_IPV6_TUNNEL
  383. FILES:=$(LINUX_DIR)/net/ipv6/ip6_tunnel.ko
  384. AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
  385. endef
  386. define KernelPackage/ip6-tunnel/description
  387. Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
  388. endef
  389. $(eval $(call KernelPackage,ip6-tunnel))
  390. define KernelPackage/gre
  391. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  392. TITLE:=GRE support
  393. DEPENDS:=+PACKAGE_kmod-ipv6:kmod-ipv6 +kmod-iptunnel
  394. KCONFIG:=CONFIG_NET_IPGRE CONFIG_NET_IPGRE_DEMUX
  395. FILES:=$(LINUX_DIR)/net/ipv4/ip_gre.ko $(LINUX_DIR)/net/ipv4/gre.ko
  396. AUTOLOAD:=$(call AutoLoad,39,gre ip_gre)
  397. endef
  398. define KernelPackage/gre/description
  399. Generic Routing Encapsulation support
  400. endef
  401. $(eval $(call KernelPackage,gre))
  402. define KernelPackage/gre6
  403. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  404. TITLE:=GRE support over IPV6
  405. DEPENDS:=+kmod-ipv6 +kmod-iptunnel +kmod-ip6-tunnel
  406. KCONFIG:=CONFIG_IPV6_GRE
  407. FILES:=$(LINUX_DIR)/net/ipv6/ip6_gre.ko
  408. AUTOLOAD:=$(call AutoLoad,39,ip6_gre)
  409. endef
  410. define KernelPackage/gre6/description
  411. Generic Routing Encapsulation support over IPv6
  412. endef
  413. $(eval $(call KernelPackage,gre6))
  414. define KernelPackage/tun
  415. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  416. TITLE:=Universal TUN/TAP driver
  417. KCONFIG:=CONFIG_TUN
  418. FILES:=$(LINUX_DIR)/drivers/net/tun.ko
  419. AUTOLOAD:=$(call AutoLoad,30,tun)
  420. endef
  421. define KernelPackage/tun/description
  422. Kernel support for the TUN/TAP tunneling device
  423. endef
  424. $(eval $(call KernelPackage,tun))
  425. define KernelPackage/veth
  426. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  427. TITLE:=Virtual ethernet pair device
  428. KCONFIG:=CONFIG_VETH
  429. FILES:=$(LINUX_DIR)/drivers/net/veth.ko
  430. AUTOLOAD:=$(call AutoLoad,30,veth)
  431. endef
  432. define KernelPackage/veth/description
  433. This device is a local ethernet tunnel. Devices are created in pairs.
  434. When one end receives the packet it appears on its pair and vice
  435. versa.
  436. endef
  437. $(eval $(call KernelPackage,veth))
  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-core +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 = $(patsubst $(LINUX_DIR)/net/sched/%.ko,%,$(wildcard $(LINUX_DIR)/net/sched/*.ko))
  558. SCHED_MODULES_CORE = sch_ingress sch_fq_codel sch_hfsc cls_fw cls_route cls_flow cls_tcindex cls_u32 em_u32 act_mirred act_skbedit
  559. SCHED_MODULES_FILTER = $(SCHED_MODULES_CORE) act_connmark sch_esfq
  560. SCHED_MODULES_EXTRA = $(filter-out $(SCHED_MODULES_FILTER),$(SCHED_MODULES))
  561. SCHED_FILES = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(filter $(SCHED_MODULES_CORE),$(SCHED_MODULES)))
  562. SCHED_FILES_EXTRA = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(SCHED_MODULES_EXTRA))
  563. define KernelPackage/sched-core
  564. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  565. TITLE:=Traffic schedulers
  566. KCONFIG:= \
  567. CONFIG_NET_SCHED=y \
  568. CONFIG_NET_SCH_HFSC \
  569. CONFIG_NET_SCH_INGRESS \
  570. CONFIG_NET_SCH_FQ_CODEL \
  571. CONFIG_NET_CLS=y \
  572. CONFIG_NET_CLS_ACT=y \
  573. CONFIG_NET_CLS_FLOW \
  574. CONFIG_NET_CLS_FW \
  575. CONFIG_NET_CLS_ROUTE4 \
  576. CONFIG_NET_CLS_TCINDEX \
  577. CONFIG_NET_CLS_U32 \
  578. CONFIG_NET_ACT_MIRRED \
  579. CONFIG_NET_ACT_SKBEDIT \
  580. CONFIG_NET_EMATCH=y \
  581. CONFIG_NET_EMATCH_U32
  582. FILES:=$(SCHED_FILES)
  583. AUTOLOAD:=$(call AutoLoad,70, $(SCHED_MODULES_CORE))
  584. endef
  585. define KernelPackage/sched-core/description
  586. Core kernel scheduler support for IP traffic
  587. endef
  588. $(eval $(call KernelPackage,sched-core))
  589. define KernelPackage/sched-connmark
  590. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  591. TITLE:=Traffic shaper conntrack mark support
  592. DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
  593. KCONFIG:=CONFIG_NET_ACT_CONNMARK
  594. FILES:=$(LINUX_DIR)/net/sched/act_connmark.ko
  595. AUTOLOAD:=$(call AutoLoad,71, act_connmark)
  596. endef
  597. $(eval $(call KernelPackage,sched-connmark))
  598. define KernelPackage/sched-esfq
  599. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  600. TITLE:=Traffic shaper ESFQ support
  601. DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack
  602. KCONFIG:= \
  603. CONFIG_NET_SCH_ESFQ \
  604. CONFIG_NET_SCH_ESFQ_NFCT=y
  605. FILES:=$(LINUX_DIR)/net/sched/sch_esfq.ko
  606. AUTOLOAD:=$(call AutoLoad,72, sch_esfq)
  607. endef
  608. $(eval $(call KernelPackage,sched-esfq))
  609. define KernelPackage/sched
  610. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  611. TITLE:=Extra traffic schedulers
  612. DEPENDS:=+kmod-sched-core +kmod-ipt-core
  613. KCONFIG:= \
  614. CONFIG_NET_SCH_CODEL \
  615. CONFIG_NET_SCH_DSMARK \
  616. CONFIG_NET_SCH_HTB \
  617. CONFIG_NET_SCH_FIFO \
  618. CONFIG_NET_SCH_GRED \
  619. CONFIG_NET_SCH_PRIO \
  620. CONFIG_NET_SCH_RED \
  621. CONFIG_NET_SCH_TBF \
  622. CONFIG_NET_SCH_SFQ \
  623. CONFIG_NET_SCH_TEQL \
  624. CONFIG_NET_CLS_BASIC \
  625. CONFIG_NET_ACT_POLICE \
  626. CONFIG_NET_ACT_IPT \
  627. CONFIG_NET_EMATCH_CMP \
  628. CONFIG_NET_EMATCH_NBYTE \
  629. CONFIG_NET_EMATCH_META \
  630. CONFIG_NET_EMATCH_TEXT
  631. FILES:=$(SCHED_FILES_EXTRA)
  632. AUTOLOAD:=$(call AutoLoad,73, $(SCHED_MODULES_EXTRA))
  633. endef
  634. define KernelPackage/sched/description
  635. Extra kernel schedulers modules for IP traffic
  636. endef
  637. $(eval $(call KernelPackage,sched))
  638. define KernelPackage/ax25
  639. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  640. TITLE:=AX25 support
  641. KCONFIG:= \
  642. CONFIG_AX25 \
  643. CONFIG_MKISS
  644. FILES:= \
  645. $(LINUX_DIR)/net/ax25/ax25.ko \
  646. $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
  647. AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
  648. $(call AddDepends/crc16)
  649. endef
  650. define KernelPackage/ax25/description
  651. Kernel modules for AX25 support
  652. endef
  653. $(eval $(call KernelPackage,ax25))
  654. define KernelPackage/mp-alg
  655. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  656. TITLE:=ECMP caching algorithms
  657. KCONFIG:= \
  658. CONFIG_IP_ROUTE_MULTIPATH_RR \
  659. CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
  660. CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
  661. CONFIG_IP_ROUTE_MULTIPATH_DRR
  662. FILES:= \
  663. $(LINUX_DIR)/net/ipv4/multipath_rr.ko \
  664. $(LINUX_DIR)/net/ipv4/multipath_random.ko \
  665. $(LINUX_DIR)/net/ipv4/multipath_wrandom.ko \
  666. $(LINUX_DIR)/net/ipv4/multipath_drr.ko
  667. AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
  668. endef
  669. define KernelPackage/mp-alg/description
  670. Kernel modules that provide several different algorithms for multipath
  671. route selection from the route cache. The iproute "mpath" argument allows
  672. specifying which algorithm to use for routes.
  673. quagga (at least <=0.99.6) requires a multipath patch to support this
  674. cached mp route feature.
  675. endef
  676. $(eval $(call KernelPackage,mp-alg))
  677. define KernelPackage/pktgen
  678. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  679. DEPENDS:=@!TARGET_uml
  680. TITLE:=Network packet generator
  681. KCONFIG:=CONFIG_NET_PKTGEN
  682. FILES:=$(LINUX_DIR)/net/core/pktgen.ko
  683. AUTOLOAD:=$(call AutoLoad,99,pktgen)
  684. endef
  685. define KernelPackage/pktgen/description
  686. Kernel modules for the Network Packet Generator
  687. endef
  688. $(eval $(call KernelPackage,pktgen))
  689. define KernelPackage/l2tp
  690. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  691. TITLE:=Layer Two Tunneling Protocol (L2TP)
  692. DEPENDS:=+IPV6:kmod-ipv6
  693. KCONFIG:=CONFIG_L2TP \
  694. CONFIG_L2TP_V3=y \
  695. CONFIG_L2TP_DEBUGFS=n
  696. FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.ko \
  697. $(LINUX_DIR)/net/l2tp/l2tp_netlink.ko
  698. AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink)
  699. endef
  700. define KernelPackage/l2tp/description
  701. Kernel modules for L2TP V3 Support
  702. endef
  703. $(eval $(call KernelPackage,l2tp))
  704. define KernelPackage/l2tp-eth
  705. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  706. TITLE:=L2TP ethernet pseudowire support for L2TPv3
  707. DEPENDS:=+kmod-l2tp
  708. KCONFIG:=CONFIG_L2TP_ETH
  709. FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.ko
  710. AUTOLOAD:=$(call AutoLoad,33,l2tp_eth)
  711. endef
  712. define KernelPackage/l2tp-eth/description
  713. Kernel modules for L2TP ethernet pseudowire support for L2TPv3
  714. endef
  715. $(eval $(call KernelPackage,l2tp-eth))
  716. define KernelPackage/l2tp-ip
  717. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  718. TITLE:=L2TP IP encapsulation for L2TPv3
  719. DEPENDS:=+kmod-l2tp
  720. KCONFIG:=CONFIG_L2TP_IP
  721. FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ip.ko
  722. AUTOLOAD:=$(call AutoLoad,33,l2tp_ip)
  723. endef
  724. define KernelPackage/l2tp-ip/description
  725. Kernel modules for L2TP IP encapsulation for L2TPv3
  726. endef
  727. $(eval $(call KernelPackage,l2tp-ip))
  728. define KernelPackage/sctp
  729. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  730. TITLE:=SCTP protocol kernel support
  731. KCONFIG:=\
  732. CONFIG_IP_SCTP \
  733. CONFIG_SCTP_DBG_MSG=n \
  734. CONFIG_SCTP_DBG_OBJCNT=n \
  735. CONFIG_SCTP_HMAC_NONE=n \
  736. CONFIG_SCTP_HMAC_SHA1=n \
  737. CONFIG_SCTP_HMAC_MD5=y \
  738. CONFIG_SCTP_COOKIE_HMAC_SHA1=n \
  739. CONFIG_SCTP_COOKIE_HMAC_MD5=y \
  740. CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE=n \
  741. CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=n \
  742. CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
  743. FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
  744. AUTOLOAD:= $(call AutoLoad,32,sctp)
  745. DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac +IPV6:kmod-ipv6
  746. endef
  747. define KernelPackage/sctp/description
  748. Kernel modules for SCTP protocol support
  749. endef
  750. $(eval $(call KernelPackage,sctp))
  751. define KernelPackage/netem
  752. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  753. TITLE:=Network emulation functionality
  754. DEPENDS:=+kmod-sched
  755. KCONFIG:=CONFIG_NET_SCH_NETEM
  756. FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko
  757. AUTOLOAD:=$(call AutoLoad,99,netem)
  758. endef
  759. define KernelPackage/netem/description
  760. Kernel modules for emulating the properties of wide area networks
  761. endef
  762. $(eval $(call KernelPackage,netem))
  763. define KernelPackage/slip
  764. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  765. DEPENDS:=+kmod-slhc
  766. TITLE:=SLIP modules
  767. KCONFIG:= \
  768. CONFIG_SLIP \
  769. CONFIG_SLIP_COMPRESSED=y \
  770. CONFIG_SLIP_SMART=y \
  771. CONFIG_SLIP_MODE_SLIP6=y
  772. FILES:= \
  773. $(LINUX_DIR)/drivers/net/slip/slip.ko
  774. AUTOLOAD:=$(call AutoLoad,30,slip)
  775. endef
  776. define KernelPackage/slip/description
  777. Kernel modules for SLIP support
  778. endef
  779. $(eval $(call KernelPackage,slip))
  780. define KernelPackage/dnsresolver
  781. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  782. TITLE:=In-kernel DNS Resolver
  783. KCONFIG:= CONFIG_DNS_RESOLVER
  784. FILES:=$(LINUX_DIR)/net/dns_resolver/dns_resolver.ko
  785. AUTOLOAD:=$(call AutoLoad,30,dns_resolver)
  786. endef
  787. $(eval $(call KernelPackage,dnsresolver))
  788. define KernelPackage/rxrpc
  789. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  790. TITLE:=AF_RXRPC support
  791. KCONFIG:= \
  792. CONFIG_AF_RXRPC \
  793. CONFIG_RXKAD=m \
  794. CONFIG_AF_RXRPC_DEBUG=n
  795. FILES:= \
  796. $(LINUX_DIR)/net/rxrpc/af-rxrpc.ko \
  797. $(LINUX_DIR)/net/rxrpc/rxkad.ko
  798. AUTOLOAD:=$(call AutoLoad,30,rxkad af-rxrpc)
  799. DEPENDS:=+kmod-crypto-core +kmod-crypto-manager +kmod-crypto-pcbc +kmod-crypto-fcrypt
  800. endef
  801. define KernelPackage/rxrpc/description
  802. Kernel support for AF_RXRPC; required for AFS client
  803. endef
  804. $(eval $(call KernelPackage,rxrpc))