netsupport.mk 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938
  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 \
  42. CONFIG_IPDDP_ENCAP=y \
  43. CONFIG_IPDDP_DECAP=y
  44. FILES:= \
  45. $(LINUX_DIR)/net/appletalk/appletalk.ko \
  46. $(LINUX_DIR)/drivers/net/appletalk/ipddp.ko
  47. AUTOLOAD:=$(call AutoLoad,40,appletalk ipddp)
  48. endef
  49. define KernelPackage/appletalk/description
  50. Kernel module for AppleTalk protocol.
  51. endef
  52. $(eval $(call KernelPackage,appletalk))
  53. define KernelPackage/bonding
  54. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  55. TITLE:=Ethernet bonding driver
  56. KCONFIG:=CONFIG_BONDING
  57. FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.ko
  58. AUTOLOAD:=$(call AutoLoad,40,bonding)
  59. endef
  60. define KernelPackage/bonding/description
  61. Kernel module for NIC bonding.
  62. endef
  63. $(eval $(call KernelPackage,bonding))
  64. define KernelPackage/bridge
  65. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  66. TITLE:=Ethernet bridging support
  67. DEPENDS:=+kmod-stp
  68. KCONFIG:= \
  69. CONFIG_BRIDGE \
  70. CONFIG_BRIDGE_IGMP_SNOOPING=y
  71. FILES:=$(LINUX_DIR)/net/bridge/bridge.ko
  72. AUTOLOAD:=$(call AutoLoad,11,bridge)
  73. endef
  74. define KernelPackage/bridge/description
  75. Kernel module for Ethernet bridging.
  76. endef
  77. $(eval $(call KernelPackage,bridge))
  78. define KernelPackage/llc
  79. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  80. TITLE:=ANSI/IEEE 802.2 LLC support
  81. KCONFIG:=CONFIG_LLC
  82. FILES:=$(LINUX_DIR)/net/llc/llc.ko
  83. AUTOLOAD:=$(call AutoLoad,09,llc)
  84. endef
  85. define KernelPackage/llc/description
  86. Kernel module for ANSI/IEEE 802.2 LLC support.
  87. endef
  88. $(eval $(call KernelPackage,llc))
  89. define KernelPackage/stp
  90. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  91. TITLE:=Ethernet Spanning Tree Protocol support
  92. DEPENDS:=+kmod-llc
  93. KCONFIG:=CONFIG_STP
  94. FILES:=$(LINUX_DIR)/net/802/stp.ko
  95. AUTOLOAD:=$(call AutoLoad,10,stp)
  96. endef
  97. define KernelPackage/stp/description
  98. Kernel module for Ethernet Spanning Tree Protocol support.
  99. endef
  100. $(eval $(call KernelPackage,stp))
  101. define KernelPackage/8021q
  102. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  103. TITLE:=802.1Q VLAN support
  104. KCONFIG:=CONFIG_VLAN_8021Q \
  105. CONFIG_VLAN_8021Q_GVRP=n
  106. FILES:=$(LINUX_DIR)/net/8021q/8021q.ko
  107. AUTOLOAD:=$(call AutoLoad,12,8021q)
  108. endef
  109. define KernelPackage/8021q/description
  110. Kernel module for 802.1Q VLAN support
  111. endef
  112. $(eval $(call KernelPackage,8021q))
  113. define KernelPackage/capi
  114. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  115. TITLE:=CAPI (ISDN) Support
  116. KCONFIG:= \
  117. CONFIG_ISDN_CAPI \
  118. CONFIG_ISDN_CAPI_CAPI20 \
  119. CONFIG_ISDN_CAPIFS \
  120. CONFIG_ISDN_CAPI_CAPIFS
  121. FILES:= \
  122. $(LINUX_DIR)/drivers/isdn/capi/kernelcapi.ko \
  123. $(LINUX_DIR)/drivers/isdn/capi/capi.ko
  124. AUTOLOAD:=$(call AutoLoad,30,kernelcapi capi)
  125. endef
  126. define KernelPackage/capi/description
  127. Kernel module for basic CAPI (ISDN) support
  128. endef
  129. $(eval $(call KernelPackage,capi))
  130. define KernelPackage/misdn
  131. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  132. TITLE:=mISDN (ISDN) Support
  133. KCONFIG:= \
  134. CONFIG_ISDN=y \
  135. CONFIG_MISDN \
  136. CONFIG_MISDN_DSP \
  137. CONFIG_MISDN_L1OIP
  138. FILES:= \
  139. $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_core.ko \
  140. $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_dsp.ko \
  141. $(LINUX_DIR)/drivers/isdn/mISDN/l1oip.ko
  142. AUTOLOAD:=$(call AutoLoad,30,mISDN_core mISDN_dsp l1oip)
  143. endef
  144. define KernelPackage/misdn/description
  145. Modular ISDN driver support
  146. endef
  147. $(eval $(call KernelPackage,misdn))
  148. define KernelPackage/isdn4linux
  149. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  150. TITLE:=Old ISDN4Linux (deprecated)
  151. DEPENDS:=+kmod-ppp
  152. KCONFIG:= \
  153. CONFIG_ISDN=y \
  154. CONFIG_ISDN_I4L \
  155. CONFIG_ISDN_PPP=y \
  156. CONFIG_ISDN_PPP_VJ=y \
  157. CONFIG_ISDN_MPP=y \
  158. CONFIG_IPPP_FILTER=y \
  159. CONFIG_ISDN_PPP_BSDCOMP \
  160. CONFIG_ISDN_CAPI_MIDDLEWARE=y \
  161. CONFIG_ISDN_CAPI_CAPIFS_BOOL=y \
  162. CONFIG_ISDN_AUDIO=y \
  163. CONFIG_ISDN_TTY_FAX=y \
  164. CONFIG_ISDN_X25=y \
  165. CONFIG_ISDN_DIVERSION
  166. FILES:= \
  167. $(LINUX_DIR)/drivers/isdn/divert/dss1_divert.ko \
  168. $(LINUX_DIR)/drivers/isdn/i4l/isdn.ko \
  169. $(LINUX_DIR)/drivers/isdn/i4l/isdn_bsdcomp.ko
  170. AUTOLOAD:=$(call AutoLoad,40,isdn isdn_bsdcomp dss1_divert)
  171. endef
  172. define KernelPackage/isdn4linux/description
  173. This driver allows you to use an ISDN adapter for networking
  174. endef
  175. $(eval $(call KernelPackage,isdn4linux))
  176. define KernelPackage/ipip
  177. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  178. TITLE:=IP-in-IP encapsulation
  179. DEPENDS:=+kmod-iptunnel +kmod-iptunnel4
  180. KCONFIG:=CONFIG_NET_IPIP
  181. FILES:=$(LINUX_DIR)/net/ipv4/ipip.ko
  182. AUTOLOAD:=$(call AutoLoad,32,ipip)
  183. endef
  184. define KernelPackage/ipip/description
  185. Kernel modules for IP-in-IP encapsulation
  186. endef
  187. $(eval $(call KernelPackage,ipip))
  188. IPSEC-m:= \
  189. $(if $(CONFIG_LINUX_3_3),,xfrm/xfrm_algo) \
  190. xfrm/xfrm_ipcomp \
  191. xfrm/xfrm_user \
  192. key/af_key \
  193. define KernelPackage/ipsec
  194. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  195. TITLE:=IPsec related modules (IPv4 and IPv6)
  196. 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
  197. KCONFIG:= \
  198. CONFIG_NET_KEY \
  199. CONFIG_XFRM_USER \
  200. CONFIG_INET_IPCOMP \
  201. CONFIG_XFRM_IPCOMP
  202. FILES:=$(foreach mod,$(IPSEC-m),$(LINUX_DIR)/net/$(mod).ko)
  203. AUTOLOAD:=$(call AutoLoad,30,$(notdir $(IPSEC-m)))
  204. endef
  205. define KernelPackage/ipsec/description
  206. Kernel modules for IPsec support in both IPv4 and IPv6.
  207. Includes:
  208. - af_key
  209. - xfrm_ipcomp
  210. - xfrm_user
  211. endef
  212. $(eval $(call KernelPackage,ipsec))
  213. IPSEC4-m:= \
  214. ipv4/ah4 \
  215. ipv4/esp4 \
  216. ipv4/xfrm4_mode_beet \
  217. ipv4/xfrm4_mode_transport \
  218. ipv4/xfrm4_mode_tunnel \
  219. ipv4/xfrm4_tunnel \
  220. ipv4/ipcomp \
  221. define KernelPackage/ipsec4
  222. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  223. TITLE:=IPsec related modules (IPv4)
  224. DEPENDS:=kmod-ipsec +kmod-iptunnel4
  225. KCONFIG:= \
  226. CONFIG_INET_AH \
  227. CONFIG_INET_ESP \
  228. CONFIG_INET_IPCOMP \
  229. CONFIG_INET_XFRM_MODE_BEET \
  230. CONFIG_INET_XFRM_MODE_TRANSPORT \
  231. CONFIG_INET_XFRM_MODE_TUNNEL \
  232. CONFIG_INET_XFRM_TUNNEL
  233. FILES:=$(foreach mod,$(IPSEC4-m),$(LINUX_DIR)/net/$(mod).ko)
  234. AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC4-m)))
  235. endef
  236. define KernelPackage/ipsec4/description
  237. Kernel modules for IPsec support in IPv4.
  238. Includes:
  239. - ah4
  240. - esp4
  241. - ipcomp4
  242. - xfrm4_mode_beet
  243. - xfrm4_mode_transport
  244. - xfrm4_mode_tunnel
  245. - xfrm4_tunnel
  246. endef
  247. $(eval $(call KernelPackage,ipsec4))
  248. IPSEC6-m:= \
  249. ipv6/ah6 \
  250. ipv6/esp6 \
  251. ipv6/xfrm6_mode_beet \
  252. ipv6/xfrm6_mode_transport \
  253. ipv6/xfrm6_mode_tunnel \
  254. ipv6/xfrm6_tunnel \
  255. ipv6/ipcomp6 \
  256. define KernelPackage/ipsec6
  257. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  258. TITLE:=IPsec related modules (IPv6)
  259. DEPENDS:=kmod-ipsec +kmod-iptunnel6
  260. KCONFIG:= \
  261. CONFIG_INET6_AH \
  262. CONFIG_INET6_ESP \
  263. CONFIG_INET6_IPCOMP \
  264. CONFIG_INET6_XFRM_MODE_BEET \
  265. CONFIG_INET6_XFRM_MODE_TRANSPORT \
  266. CONFIG_INET6_XFRM_MODE_TUNNEL \
  267. CONFIG_INET6_XFRM_TUNNEL
  268. FILES:=$(foreach mod,$(IPSEC6-m),$(LINUX_DIR)/net/$(mod).ko)
  269. AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC6-m)))
  270. endef
  271. define KernelPackage/ipsec6/description
  272. Kernel modules for IPsec support in IPv6.
  273. Includes:
  274. - ah6
  275. - esp6
  276. - ipcomp6
  277. - xfrm6_mode_beet
  278. - xfrm6_mode_transport
  279. - xfrm6_mode_tunnel
  280. - xfrm6_tunnel
  281. endef
  282. $(eval $(call KernelPackage,ipsec6))
  283. define KernelPackage/iptunnel
  284. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  285. TITLE:=IP tunnel support
  286. HIDDEN:=1
  287. KCONFIG:= \
  288. CONFIG_NET_IP_TUNNEL
  289. FILES:=$(LINUX_DIR)/net/ipv4/ip_tunnel.ko
  290. AUTOLOAD:=$(call AutoLoad,31,ip_tunnel)
  291. endef
  292. define KernelPackage/iptunnel/description
  293. Kernel module for generic IP tunnel support
  294. endef
  295. $(eval $(call KernelPackage,iptunnel))
  296. define KernelPackage/iptunnel4
  297. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  298. TITLE:=IPv4 tunneling
  299. HIDDEN:=1
  300. KCONFIG:= \
  301. CONFIG_INET_TUNNEL
  302. FILES:=$(LINUX_DIR)/net/ipv4/tunnel4.ko
  303. AUTOLOAD:=$(call AutoLoad,31,tunnel4)
  304. endef
  305. define KernelPackage/iptunnel4/description
  306. Kernel modules for IPv4 tunneling
  307. endef
  308. $(eval $(call KernelPackage,iptunnel4))
  309. define KernelPackage/iptunnel6
  310. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  311. TITLE:=IPv6 tunneling
  312. DEPENDS:= +kmod-ipv6
  313. KCONFIG:= \
  314. CONFIG_INET6_TUNNEL
  315. FILES:=$(LINUX_DIR)/net/ipv6/tunnel6.ko
  316. AUTOLOAD:=$(call AutoLoad,31,tunnel6)
  317. endef
  318. define KernelPackage/iptunnel6/description
  319. Kernel modules for IPv6 tunneling
  320. endef
  321. $(eval $(call KernelPackage,iptunnel6))
  322. define KernelPackage/ipv6
  323. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  324. TITLE:=IPv6 support
  325. KCONFIG:= \
  326. CONFIG_IPV6 \
  327. CONFIG_IPV6_PRIVACY=y \
  328. CONFIG_IPV6_MULTIPLE_TABLES=y \
  329. CONFIG_IPV6_MROUTE=y \
  330. CONFIG_IPV6_PIMSM_V2=n \
  331. CONFIG_IPV6_SUBTREES=y
  332. FILES:=$(LINUX_DIR)/net/ipv6/ipv6.ko
  333. AUTOLOAD:=$(call AutoLoad,20,ipv6)
  334. endef
  335. define KernelPackage/ipv6/description
  336. Kernel modules for IPv6 support
  337. endef
  338. $(eval $(call KernelPackage,ipv6))
  339. define KernelPackage/sit
  340. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  341. DEPENDS:=+kmod-ipv6 +kmod-iptunnel +kmod-iptunnel4
  342. TITLE:=IPv6-in-IPv4 tunnel
  343. KCONFIG:=CONFIG_IPV6_SIT \
  344. CONFIG_IPV6_SIT_6RD=y
  345. FILES:=$(LINUX_DIR)/net/ipv6/sit.ko
  346. AUTOLOAD:=$(call AutoLoad,32,sit)
  347. endef
  348. define KernelPackage/sit/description
  349. Kernel modules for IPv6-in-IPv4 tunnelling
  350. endef
  351. $(eval $(call KernelPackage,sit))
  352. define KernelPackage/ip6-tunnel
  353. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  354. TITLE:=IP-in-IPv6 tunnelling
  355. DEPENDS:= +kmod-ipv6 +kmod-iptunnel6
  356. KCONFIG:= CONFIG_IPV6_TUNNEL
  357. FILES:=$(LINUX_DIR)/net/ipv6/ip6_tunnel.ko
  358. AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
  359. endef
  360. define KernelPackage/ip6-tunnel/description
  361. Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
  362. endef
  363. $(eval $(call KernelPackage,ip6-tunnel))
  364. define KernelPackage/gre
  365. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  366. TITLE:=GRE support
  367. DEPENDS:=+PACKAGE_kmod-ipv6:kmod-ipv6 +kmod-iptunnel
  368. KCONFIG:=CONFIG_NET_IPGRE CONFIG_NET_IPGRE_DEMUX
  369. FILES:=$(LINUX_DIR)/net/ipv4/ip_gre.ko $(LINUX_DIR)/net/ipv4/gre.ko
  370. AUTOLOAD:=$(call AutoLoad,39,gre ip_gre)
  371. endef
  372. define KernelPackage/gre/description
  373. Generic Routing Encapsulation support
  374. endef
  375. $(eval $(call KernelPackage,gre))
  376. define KernelPackage/gre6
  377. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  378. TITLE:=GRE support over IPV6
  379. DEPENDS:=+kmod-ipv6 +kmod-iptunnel +kmod-ip6-tunnel @!LINUX_3_3 @!LINUX_3_6
  380. KCONFIG:=CONFIG_IPV6_GRE
  381. FILES:=$(LINUX_DIR)/net/ipv6/ip6_gre.ko
  382. AUTOLOAD:=$(call AutoLoad,39,ip6_gre)
  383. endef
  384. define KernelPackage/gre6/description
  385. Generic Routing Encapsulation support over IPv6
  386. endef
  387. $(eval $(call KernelPackage,gre6))
  388. define KernelPackage/tun
  389. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  390. TITLE:=Universal TUN/TAP driver
  391. KCONFIG:=CONFIG_TUN
  392. FILES:=$(LINUX_DIR)/drivers/net/tun.ko
  393. AUTOLOAD:=$(call AutoLoad,30,tun)
  394. endef
  395. define KernelPackage/tun/description
  396. Kernel support for the TUN/TAP tunneling device
  397. endef
  398. $(eval $(call KernelPackage,tun))
  399. define KernelPackage/veth
  400. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  401. TITLE:=Virtual ethernet pair device
  402. KCONFIG:=CONFIG_VETH
  403. FILES:=$(LINUX_DIR)/drivers/net/veth.ko
  404. AUTOLOAD:=$(call AutoLoad,30,veth)
  405. endef
  406. define KernelPackage/veth/description
  407. This device is a local ethernet tunnel. Devices are created in pairs.
  408. When one end receives the packet it appears on its pair and vice
  409. versa.
  410. endef
  411. $(eval $(call KernelPackage,veth))
  412. define KernelPackage/slhc
  413. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  414. HIDDEN:=1
  415. TITLE:=Serial Line Header Compression
  416. DEPENDS:=+kmod-lib-crc-ccitt
  417. KCONFIG:=CONFIG_SLHC
  418. FILES:=$(LINUX_DIR)/drivers/net/slip/slhc.ko
  419. AUTOLOAD:=$(call AutoLoad,29,slhc)
  420. endef
  421. $(eval $(call KernelPackage,slhc))
  422. define KernelPackage/ppp
  423. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  424. TITLE:=PPP modules
  425. DEPENDS:=+kmod-lib-crc-ccitt +kmod-slhc
  426. KCONFIG:= \
  427. CONFIG_PPP \
  428. CONFIG_PPP_ASYNC
  429. FILES:= \
  430. $(LINUX_DIR)/drivers/net/ppp/ppp_async.ko \
  431. $(LINUX_DIR)/drivers/net/ppp/ppp_generic.ko
  432. AUTOLOAD:=$(call AutoLoad,30,ppp_generic ppp_async)
  433. endef
  434. define KernelPackage/ppp/description
  435. Kernel modules for PPP support
  436. endef
  437. $(eval $(call KernelPackage,ppp))
  438. define KernelPackage/ppp-synctty
  439. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  440. TITLE:=PPP sync tty support
  441. DEPENDS:=kmod-ppp
  442. KCONFIG:=CONFIG_PPP_SYNC_TTY
  443. FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_synctty.ko
  444. AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
  445. endef
  446. define KernelPackage/ppp-synctty/description
  447. Kernel modules for PPP sync tty support
  448. endef
  449. $(eval $(call KernelPackage,ppp-synctty))
  450. define KernelPackage/pppox
  451. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  452. TITLE:=PPPoX helper
  453. DEPENDS:=kmod-ppp
  454. KCONFIG:=CONFIG_PPPOE
  455. FILES:=$(LINUX_DIR)/drivers/net/ppp/pppox.ko
  456. AUTOLOAD:=$(call AutoLoad,40,pppox)
  457. endef
  458. define KernelPackage/pppox/description
  459. Kernel helper module for PPPoE and PPTP support
  460. endef
  461. $(eval $(call KernelPackage,pppox))
  462. define KernelPackage/pppoe
  463. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  464. TITLE:=PPPoE support
  465. DEPENDS:=kmod-ppp +kmod-pppox
  466. KCONFIG:=CONFIG_PPPOE
  467. FILES:=$(LINUX_DIR)/drivers/net/ppp/pppoe.ko
  468. AUTOLOAD:=$(call AutoLoad,41,pppoe)
  469. endef
  470. define KernelPackage/pppoe/description
  471. Kernel module for PPPoE (PPP over Ethernet) support
  472. endef
  473. $(eval $(call KernelPackage,pppoe))
  474. define KernelPackage/pppoa
  475. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  476. TITLE:=PPPoA support
  477. DEPENDS:=kmod-ppp +kmod-atm
  478. KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
  479. FILES:=$(LINUX_DIR)/net/atm/pppoatm.ko
  480. AUTOLOAD:=$(call AutoLoad,40,pppoatm)
  481. endef
  482. define KernelPackage/pppoa/description
  483. Kernel modules for PPPoA (PPP over ATM) support
  484. endef
  485. $(eval $(call KernelPackage,pppoa))
  486. define KernelPackage/pptp
  487. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  488. TITLE:=PPtP support
  489. DEPENDS:=kmod-ppp +kmod-gre +kmod-pppox
  490. KCONFIG:=CONFIG_PPTP
  491. FILES:=$(LINUX_DIR)/drivers/net/ppp/pptp.ko
  492. AUTOLOAD:=$(call AutoLoad,41,pptp)
  493. endef
  494. $(eval $(call KernelPackage,pptp))
  495. define KernelPackage/pppol2tp
  496. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  497. TITLE:=PPPoL2TP support
  498. DEPENDS:=kmod-ppp +kmod-pppox +kmod-l2tp
  499. KCONFIG:=CONFIG_PPPOL2TP
  500. FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.ko
  501. AUTOLOAD:=$(call AutoLoad,41,l2tp_ppp)
  502. endef
  503. define KernelPackage/pppol2tp/description
  504. Kernel modules for PPPoL2TP (PPP over L2TP) support
  505. endef
  506. $(eval $(call KernelPackage,pppol2tp))
  507. define KernelPackage/ipoa
  508. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  509. TITLE:=IPoA support
  510. DEPENDS:=kmod-atm
  511. KCONFIG:=CONFIG_ATM_CLIP
  512. FILES:=$(LINUX_DIR)/net/atm/clip.ko
  513. AUTOLOAD:=$(call AutoLoad,40,clip)
  514. endef
  515. define KernelPackage/ipoa/description
  516. Kernel modules for IPoA (IP over ATM) support
  517. endef
  518. $(eval $(call KernelPackage,ipoa))
  519. define KernelPackage/mppe
  520. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  521. TITLE:=Microsoft PPP compression/encryption
  522. DEPENDS:=kmod-ppp +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-sha1 +kmod-crypto-ecb
  523. KCONFIG:= \
  524. CONFIG_PPP_MPPE_MPPC \
  525. CONFIG_PPP_MPPE
  526. FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_mppe.ko
  527. AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
  528. endef
  529. define KernelPackage/mppe/description
  530. Kernel modules for Microsoft PPP compression/encryption
  531. endef
  532. $(eval $(call KernelPackage,mppe))
  533. SCHED_MODULES = $(patsubst $(LINUX_DIR)/net/sched/%.ko,%,$(wildcard $(LINUX_DIR)/net/sched/*.ko))
  534. 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
  535. SCHED_MODULES_FILTER = $(SCHED_MODULES_CORE) act_connmark sch_esfq
  536. SCHED_MODULES_EXTRA = $(filter-out $(SCHED_MODULES_FILTER),$(SCHED_MODULES))
  537. SCHED_FILES = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(filter $(SCHED_MODULES_CORE),$(SCHED_MODULES)))
  538. SCHED_FILES_EXTRA = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(SCHED_MODULES_EXTRA))
  539. define KernelPackage/sched-core
  540. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  541. TITLE:=Traffic schedulers
  542. KCONFIG:= \
  543. CONFIG_NET_SCHED=y \
  544. CONFIG_NET_SCH_HFSC \
  545. CONFIG_NET_SCH_INGRESS \
  546. CONFIG_NET_SCH_FQ_CODEL \
  547. CONFIG_NET_CLS=y \
  548. CONFIG_NET_CLS_ACT=y \
  549. CONFIG_NET_CLS_FLOW \
  550. CONFIG_NET_CLS_FW \
  551. CONFIG_NET_CLS_ROUTE4 \
  552. CONFIG_NET_CLS_TCINDEX \
  553. CONFIG_NET_CLS_U32 \
  554. CONFIG_NET_ACT_MIRRED \
  555. CONFIG_NET_ACT_SKBEDIT \
  556. CONFIG_NET_EMATCH=y \
  557. CONFIG_NET_EMATCH_U32
  558. FILES:=$(SCHED_FILES)
  559. AUTOLOAD:=$(call AutoLoad,70, $(SCHED_MODULES_CORE))
  560. endef
  561. define KernelPackage/sched-core/description
  562. Core kernel scheduler support for IP traffic
  563. endef
  564. $(eval $(call KernelPackage,sched-core))
  565. define KernelPackage/sched-connmark
  566. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  567. TITLE:=Traffic shaper conntrack mark support
  568. DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
  569. KCONFIG:=CONFIG_NET_ACT_CONNMARK
  570. FILES:=$(LINUX_DIR)/net/sched/act_connmark.ko
  571. AUTOLOAD:=$(call AutoLoad,71, act_connmark)
  572. endef
  573. $(eval $(call KernelPackage,sched-connmark))
  574. define KernelPackage/sched-esfq
  575. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  576. TITLE:=Traffic shaper ESFQ support
  577. DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack
  578. KCONFIG:= \
  579. CONFIG_NET_SCH_ESFQ \
  580. CONFIG_NET_SCH_ESFQ_NFCT=y
  581. FILES:=$(LINUX_DIR)/net/sched/sch_esfq.ko
  582. AUTOLOAD:=$(call AutoLoad,72, sch_esfq)
  583. endef
  584. $(eval $(call KernelPackage,sched-esfq))
  585. define KernelPackage/sched
  586. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  587. TITLE:=Extra traffic schedulers
  588. DEPENDS:=+kmod-sched-core +kmod-ipt-core
  589. KCONFIG:= \
  590. CONFIG_NET_SCH_CODEL \
  591. CONFIG_NET_SCH_DSMARK \
  592. CONFIG_NET_SCH_HTB \
  593. CONFIG_NET_SCH_FIFO \
  594. CONFIG_NET_SCH_GRED \
  595. CONFIG_NET_SCH_PRIO \
  596. CONFIG_NET_SCH_RED \
  597. CONFIG_NET_SCH_TBF \
  598. CONFIG_NET_SCH_SFQ \
  599. CONFIG_NET_SCH_TEQL \
  600. CONFIG_NET_CLS_BASIC \
  601. CONFIG_NET_ACT_POLICE \
  602. CONFIG_NET_ACT_IPT \
  603. CONFIG_NET_EMATCH_CMP \
  604. CONFIG_NET_EMATCH_NBYTE \
  605. CONFIG_NET_EMATCH_META \
  606. CONFIG_NET_EMATCH_TEXT
  607. FILES:=$(SCHED_FILES_EXTRA)
  608. AUTOLOAD:=$(call AutoLoad,73, $(SCHED_MODULES_EXTRA))
  609. endef
  610. define KernelPackage/sched/description
  611. Extra kernel schedulers modules for IP traffic
  612. endef
  613. $(eval $(call KernelPackage,sched))
  614. define KernelPackage/ax25
  615. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  616. TITLE:=AX25 support
  617. KCONFIG:= \
  618. CONFIG_AX25 \
  619. CONFIG_MKISS
  620. FILES:= \
  621. $(LINUX_DIR)/net/ax25/ax25.ko \
  622. $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
  623. AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
  624. $(call AddDepends/crc16)
  625. endef
  626. define KernelPackage/ax25/description
  627. Kernel modules for AX25 support
  628. endef
  629. $(eval $(call KernelPackage,ax25))
  630. define KernelPackage/mp-alg
  631. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  632. TITLE:=ECMP caching algorithms
  633. KCONFIG:= \
  634. CONFIG_IP_ROUTE_MULTIPATH_RR \
  635. CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
  636. CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
  637. CONFIG_IP_ROUTE_MULTIPATH_DRR
  638. FILES:= \
  639. $(LINUX_DIR)/net/ipv4/multipath_rr.ko \
  640. $(LINUX_DIR)/net/ipv4/multipath_random.ko \
  641. $(LINUX_DIR)/net/ipv4/multipath_wrandom.ko \
  642. $(LINUX_DIR)/net/ipv4/multipath_drr.ko
  643. AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
  644. endef
  645. define KernelPackage/mp-alg/description
  646. Kernel modules that provide several different algorithms for multipath
  647. route selection from the route cache. The iproute "mpath" argument allows
  648. specifying which algorithm to use for routes.
  649. quagga (at least <=0.99.6) requires a multipath patch to support this
  650. cached mp route feature.
  651. endef
  652. $(eval $(call KernelPackage,mp-alg))
  653. define KernelPackage/pktgen
  654. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  655. DEPENDS:=@!TARGET_uml
  656. TITLE:=Network packet generator
  657. KCONFIG:=CONFIG_NET_PKTGEN
  658. FILES:=$(LINUX_DIR)/net/core/pktgen.ko
  659. AUTOLOAD:=$(call AutoLoad,99,pktgen)
  660. endef
  661. define KernelPackage/pktgen/description
  662. Kernel modules for the Network Packet Generator
  663. endef
  664. $(eval $(call KernelPackage,pktgen))
  665. define KernelPackage/l2tp
  666. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  667. TITLE:=Layer Two Tunneling Protocol (L2TP)
  668. DEPENDS:=+IPV6:kmod-ipv6
  669. KCONFIG:=CONFIG_L2TP \
  670. CONFIG_L2TP_V3=y \
  671. CONFIG_L2TP_DEBUGFS=n
  672. FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.ko \
  673. $(LINUX_DIR)/net/l2tp/l2tp_netlink.ko
  674. AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink)
  675. endef
  676. define KernelPackage/l2tp/description
  677. Kernel modules for L2TP V3 Support
  678. endef
  679. $(eval $(call KernelPackage,l2tp))
  680. define KernelPackage/l2tp-eth
  681. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  682. TITLE:=L2TP ethernet pseudowire support for L2TPv3
  683. DEPENDS:=+kmod-l2tp
  684. KCONFIG:=CONFIG_L2TP_ETH
  685. FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.ko
  686. AUTOLOAD:=$(call AutoLoad,33,l2tp_eth)
  687. endef
  688. define KernelPackage/l2tp-eth/description
  689. Kernel modules for L2TP ethernet pseudowire support for L2TPv3
  690. endef
  691. $(eval $(call KernelPackage,l2tp-eth))
  692. define KernelPackage/l2tp-ip
  693. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  694. TITLE:=L2TP IP encapsulation for L2TPv3
  695. DEPENDS:=+kmod-l2tp
  696. KCONFIG:=CONFIG_L2TP_IP
  697. FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ip.ko
  698. AUTOLOAD:=$(call AutoLoad,33,l2tp_ip)
  699. endef
  700. define KernelPackage/l2tp-ip/description
  701. Kernel modules for L2TP IP encapsulation for L2TPv3
  702. endef
  703. $(eval $(call KernelPackage,l2tp-ip))
  704. define KernelPackage/sctp
  705. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  706. TITLE:=SCTP protocol kernel support
  707. KCONFIG:=\
  708. CONFIG_IP_SCTP \
  709. CONFIG_SCTP_DBG_MSG=n \
  710. CONFIG_SCTP_DBG_OBJCNT=n \
  711. CONFIG_SCTP_HMAC_NONE=n \
  712. CONFIG_SCTP_HMAC_SHA1=n \
  713. CONFIG_SCTP_HMAC_MD5=y \
  714. CONFIG_SCTP_COOKIE_HMAC_SHA1=n \
  715. CONFIG_SCTP_COOKIE_HMAC_MD5=y \
  716. CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE=n \
  717. CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=n \
  718. CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
  719. FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
  720. AUTOLOAD:= $(call AutoLoad,32,sctp)
  721. DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac +IPV6:kmod-ipv6
  722. endef
  723. define KernelPackage/sctp/description
  724. Kernel modules for SCTP protocol support
  725. endef
  726. $(eval $(call KernelPackage,sctp))
  727. define KernelPackage/netem
  728. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  729. TITLE:=Network emulation functionality
  730. DEPENDS:=+kmod-sched
  731. KCONFIG:=CONFIG_NET_SCH_NETEM
  732. FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko
  733. AUTOLOAD:=$(call AutoLoad,99,netem)
  734. endef
  735. define KernelPackage/netem/description
  736. Kernel modules for emulating the properties of wide area networks
  737. endef
  738. $(eval $(call KernelPackage,netem))
  739. define KernelPackage/slip
  740. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  741. DEPENDS:=+kmod-slhc
  742. TITLE:=SLIP modules
  743. KCONFIG:= \
  744. CONFIG_SLIP \
  745. CONFIG_SLIP_COMPRESSED=y \
  746. CONFIG_SLIP_SMART=y \
  747. CONFIG_SLIP_MODE_SLIP6=y
  748. FILES:= \
  749. $(LINUX_DIR)/drivers/net/slip/slip.ko
  750. AUTOLOAD:=$(call AutoLoad,30,slip)
  751. endef
  752. define KernelPackage/slip/description
  753. Kernel modules for SLIP support
  754. endef
  755. $(eval $(call KernelPackage,slip))