netsupport.mk 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769
  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/capi
  65. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  66. TITLE:=CAPI (ISDN) Support
  67. KCONFIG:= \
  68. CONFIG_ISDN_CAPI \
  69. CONFIG_ISDN_CAPI_CAPI20 \
  70. CONFIG_ISDN_CAPIFS \
  71. CONFIG_ISDN_CAPI_CAPIFS
  72. FILES:= \
  73. $(LINUX_DIR)/drivers/isdn/capi/kernelcapi.ko \
  74. $(LINUX_DIR)/drivers/isdn/capi/capi.ko
  75. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.0)),1)
  76. AUTOLOAD:=$(call AutoLoad,30,kernelcapi capi)
  77. else
  78. FILES+= $(LINUX_DIR)/drivers/isdn/capi/capifs.ko
  79. AUTOLOAD:=$(call AutoLoad,30,kernelcapi capifs capi)
  80. endif
  81. endef
  82. define KernelPackage/capi/description
  83. Kernel module for basic CAPI (ISDN) support
  84. endef
  85. $(eval $(call KernelPackage,capi))
  86. define KernelPackage/misdn
  87. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  88. TITLE:=mISDN (ISDN) Support
  89. KCONFIG:= \
  90. CONFIG_ISDN=y \
  91. CONFIG_MISDN \
  92. CONFIG_MISDN_DSP \
  93. CONFIG_MISDN_L1OIP
  94. FILES:= \
  95. $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_core.ko \
  96. $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_dsp.ko \
  97. $(LINUX_DIR)/drivers/isdn/mISDN/l1oip.ko
  98. AUTOLOAD:=$(call AutoLoad,30,mISDN_core mISDN_dsp l1oip)
  99. endef
  100. define KernelPackage/misdn/description
  101. Modular ISDN driver support
  102. endef
  103. $(eval $(call KernelPackage,misdn))
  104. define KernelPackage/isdn4linux
  105. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  106. TITLE:=Old ISDN4Linux (deprecated)
  107. KCONFIG:= \
  108. CONFIG_ISDN=y \
  109. CONFIG_ISDN_I4L \
  110. CONFIG_ISDN_PPP=y \
  111. CONFIG_ISDN_PPP_VJ=y \
  112. CONFIG_ISDN_MPP=y \
  113. CONFIG_IPPP_FILTER=y \
  114. CONFIG_ISDN_PPP_BSDCOMP \
  115. CONFIG_ISDN_CAPI_MIDDLEWARE=y \
  116. CONFIG_ISDN_CAPI_CAPIFS_BOOL=y \
  117. CONFIG_ISDN_AUDIO=y \
  118. CONFIG_ISDN_TTY_FAX=y \
  119. CONFIG_ISDN_X25=y \
  120. CONFIG_ISDN_DIVERSION
  121. FILES:= \
  122. $(LINUX_DIR)/drivers/isdn/divert/dss1_divert.ko \
  123. $(LINUX_DIR)/drivers/isdn/i4l/isdn.ko \
  124. $(LINUX_DIR)/drivers/isdn/i4l/isdn_bsdcomp.ko
  125. AUTOLOAD:=$(call AutoLoad,40,isdn isdn_bsdcomp dss1_divert)
  126. endef
  127. define KernelPackage/isdn4linux/description
  128. This driver allows you to use an ISDN adapter for networking
  129. endef
  130. $(eval $(call KernelPackage,isdn4linux))
  131. define KernelPackage/ipip
  132. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  133. TITLE:=IP-in-IP encapsulation
  134. DEPENDS:=+kmod-iptunnel4
  135. KCONFIG:=CONFIG_NET_IPIP
  136. FILES:=$(LINUX_DIR)/net/ipv4/ipip.ko
  137. AUTOLOAD:=$(call AutoLoad,32,ipip)
  138. endef
  139. define KernelPackage/ipip/description
  140. Kernel modules for IP-in-IP encapsulation
  141. endef
  142. $(eval $(call KernelPackage,ipip))
  143. IPSEC-m:= \
  144. key/af_key \
  145. xfrm/xfrm_ipcomp \
  146. xfrm/xfrm_user \
  147. define KernelPackage/ipsec
  148. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  149. TITLE:=IPsec related modules (IPv4 and IPv6)
  150. 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
  151. KCONFIG:= \
  152. CONFIG_NET_KEY \
  153. CONFIG_XFRM_USER \
  154. CONFIG_INET_IPCOMP \
  155. CONFIG_XFRM_IPCOMP
  156. FILES:=$(foreach mod,$(IPSEC-m),$(LINUX_DIR)/net/$(mod).ko)
  157. AUTOLOAD:=$(call AutoLoad,30,$(notdir $(IPSEC-m)))
  158. endef
  159. define KernelPackage/ipsec/description
  160. Kernel modules for IPsec support in both IPv4 and IPv6.
  161. Includes:
  162. - af_key
  163. - xfrm_ipcomp
  164. - xfrm_user
  165. endef
  166. $(eval $(call KernelPackage,ipsec))
  167. IPSEC4-m:= \
  168. ipv4/ah4 \
  169. ipv4/esp4 \
  170. ipv4/xfrm4_mode_beet \
  171. ipv4/xfrm4_mode_transport \
  172. ipv4/xfrm4_mode_tunnel \
  173. ipv4/xfrm4_tunnel \
  174. ipv4/ipcomp \
  175. define KernelPackage/ipsec4
  176. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  177. TITLE:=IPsec related modules (IPv4)
  178. DEPENDS:=kmod-ipsec +kmod-iptunnel4
  179. KCONFIG:= \
  180. CONFIG_INET_AH \
  181. CONFIG_INET_ESP \
  182. CONFIG_INET_IPCOMP \
  183. CONFIG_INET_XFRM_MODE_BEET \
  184. CONFIG_INET_XFRM_MODE_TRANSPORT \
  185. CONFIG_INET_XFRM_MODE_TUNNEL \
  186. CONFIG_INET_XFRM_TUNNEL
  187. FILES:=$(foreach mod,$(IPSEC4-m),$(LINUX_DIR)/net/$(mod).ko)
  188. AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC4-m)))
  189. endef
  190. define KernelPackage/ipsec4/description
  191. Kernel modules for IPsec support in IPv4.
  192. Includes:
  193. - ah4
  194. - esp4
  195. - ipcomp
  196. - xfrm4_mode_beet
  197. - xfrm4_mode_transport
  198. - xfrm4_mode_tunnel
  199. - xfrm4_tunnel
  200. endef
  201. $(eval $(call KernelPackage,ipsec4))
  202. IPSEC6-m:= \
  203. ipv6/ah6 \
  204. ipv6/esp6 \
  205. ipv6/xfrm6_mode_beet \
  206. ipv6/xfrm6_mode_transport \
  207. ipv6/xfrm6_mode_tunnel \
  208. ipv6/xfrm6_tunnel \
  209. ipv6/ipcomp6 \
  210. define KernelPackage/ipsec6
  211. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  212. TITLE:=IPsec related modules (IPv6)
  213. DEPENDS:=kmod-ipsec +kmod-iptunnel6
  214. KCONFIG:= \
  215. CONFIG_INET6_AH \
  216. CONFIG_INET6_ESP \
  217. CONFIG_INET6_IPCOMP \
  218. CONFIG_INET6_XFRM_MODE_BEET \
  219. CONFIG_INET6_XFRM_MODE_TRANSPORT \
  220. CONFIG_INET6_XFRM_MODE_TUNNEL \
  221. CONFIG_INET6_XFRM_TUNNEL
  222. FILES:=$(foreach mod,$(IPSEC6-m),$(LINUX_DIR)/net/$(mod).ko)
  223. AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC6-m)))
  224. endef
  225. define KernelPackage/ipsec6/description
  226. Kernel modules for IPsec support in IPv6.
  227. Includes:
  228. - ah6
  229. - esp6
  230. - ipcomp6
  231. - xfrm6_mode_beet
  232. - xfrm6_mode_transport
  233. - xfrm6_mode_tunnel
  234. - xfrm6_tunnel
  235. endef
  236. $(eval $(call KernelPackage,ipsec6))
  237. # NOTE: tunnel4 is not selectable by itself, so enable ipip for that
  238. define KernelPackage/iptunnel4
  239. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  240. TITLE:=IPv4 tunneling
  241. KCONFIG:= \
  242. CONFIG_NET_IPIP \
  243. CONFIG_INET_TUNNEL
  244. FILES:=$(LINUX_DIR)/net/ipv4/tunnel4.ko
  245. AUTOLOAD:=$(call AutoLoad,31,tunnel4)
  246. endef
  247. define KernelPackage/iptunnel4/description
  248. Kernel modules for IPv4 tunneling
  249. endef
  250. $(eval $(call KernelPackage,iptunnel4))
  251. define KernelPackage/iptunnel6
  252. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  253. TITLE:=IPv6 tunneling
  254. DEPENDS:= +kmod-ipv6
  255. KCONFIG:= \
  256. CONFIG_INET6_TUNNEL
  257. FILES:=$(LINUX_DIR)/net/ipv6/tunnel6.ko
  258. AUTOLOAD:=$(call AutoLoad,31,tunnel6)
  259. endef
  260. define KernelPackage/iptunnel6/description
  261. Kernel modules for IPv6 tunneling
  262. endef
  263. $(eval $(call KernelPackage,iptunnel6))
  264. define KernelPackage/ipv6
  265. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  266. TITLE:=IPv6 support
  267. KCONFIG:= \
  268. CONFIG_IPV6 \
  269. CONFIG_IPV6_PRIVACY=y \
  270. CONFIG_IPV6_MULTIPLE_TABLES=y \
  271. CONFIG_IPV6_MROUTE=y \
  272. CONFIG_IPV6_PIMSM_V2=n \
  273. CONFIG_IPV6_SUBTREES=y
  274. FILES:=$(LINUX_DIR)/net/ipv6/ipv6.ko
  275. AUTOLOAD:=$(call AutoLoad,20,ipv6)
  276. endef
  277. define KernelPackage/ipv6/description
  278. Kernel modules for IPv6 support
  279. endef
  280. $(eval $(call KernelPackage,ipv6))
  281. define KernelPackage/sit
  282. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  283. DEPENDS:=+kmod-ipv6 +kmod-iptunnel4
  284. TITLE:=IPv6-in-IPv4 tunnel
  285. KCONFIG:=CONFIG_IPV6_SIT \
  286. CONFIG_IPV6_SIT_6RD=y
  287. FILES:=$(LINUX_DIR)/net/ipv6/sit.ko
  288. AUTOLOAD:=$(call AutoLoad,32,sit)
  289. endef
  290. define KernelPackage/sit/description
  291. Kernel modules for IPv6-in-IPv4 tunnelling
  292. endef
  293. $(eval $(call KernelPackage,sit))
  294. define KernelPackage/ip6-tunnel
  295. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  296. TITLE:=IP-in-IPv6 tunnelling
  297. DEPENDS:= +kmod-ipv6 +kmod-iptunnel6
  298. KCONFIG:= CONFIG_IPV6_TUNNEL
  299. FILES:=$(LINUX_DIR)/net/ipv6/ip6_tunnel.ko
  300. AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
  301. endef
  302. define KernelPackage/ip6-tunnel/description
  303. Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
  304. endef
  305. $(eval $(call KernelPackage,ip6-tunnel))
  306. define KernelPackage/gre
  307. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  308. TITLE:=GRE support
  309. DEPENDS:=+PACKAGE_kmod-ipv6:kmod-ipv6
  310. KCONFIG:=CONFIG_NET_IPGRE CONFIG_NET_IPGRE_DEMUX
  311. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.37)),1)
  312. FILES:=$(LINUX_DIR)/net/ipv4/ip_gre.ko $(LINUX_DIR)/net/ipv4/gre.ko
  313. AUTOLOAD:=$(call AutoLoad,39,gre ip_gre)
  314. else
  315. FILES:=$(LINUX_DIR)/net/ipv4/ip_gre.ko
  316. AUTOLOAD:=$(call AutoLoad,39,ip_gre)
  317. endif
  318. endef
  319. define KernelPackage/gre/description
  320. Generic Routing Encapsulation support
  321. endef
  322. $(eval $(call KernelPackage,gre))
  323. define KernelPackage/tun
  324. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  325. TITLE:=Universal TUN/TAP driver
  326. KCONFIG:=CONFIG_TUN
  327. FILES:=$(LINUX_DIR)/drivers/net/tun.ko
  328. AUTOLOAD:=$(call AutoLoad,30,tun)
  329. endef
  330. define KernelPackage/tun/description
  331. Kernel support for the TUN/TAP tunneling device
  332. endef
  333. $(eval $(call KernelPackage,tun))
  334. define KernelPackage/ppp
  335. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  336. TITLE:=PPP modules
  337. DEPENDS:=+kmod-lib-crc-ccitt
  338. KCONFIG:= \
  339. CONFIG_PPP \
  340. CONFIG_PPP_ASYNC \
  341. CONFIG_SLHC
  342. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
  343. FILES:= \
  344. $(LINUX_DIR)/drivers/net/ppp/ppp_async.ko \
  345. $(LINUX_DIR)/drivers/net/ppp/ppp_generic.ko \
  346. $(LINUX_DIR)/drivers/net/slip/slhc.ko
  347. else
  348. FILES:= \
  349. $(LINUX_DIR)/drivers/net/ppp_async.ko \
  350. $(LINUX_DIR)/drivers/net/ppp_generic.ko \
  351. $(LINUX_DIR)/drivers/net/slhc.ko
  352. endif
  353. AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
  354. endef
  355. define KernelPackage/ppp/description
  356. Kernel modules for PPP support
  357. endef
  358. $(eval $(call KernelPackage,ppp))
  359. define KernelPackage/ppp-synctty
  360. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  361. TITLE:=PPP sync tty support
  362. DEPENDS:=kmod-ppp
  363. KCONFIG:=CONFIG_PPP_SYNC_TTY
  364. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
  365. FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_synctty.ko
  366. else
  367. FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.ko
  368. endif
  369. AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
  370. endef
  371. define KernelPackage/ppp-synctty/description
  372. Kernel modules for PPP sync tty support
  373. endef
  374. $(eval $(call KernelPackage,ppp-synctty))
  375. define KernelPackage/pppoe
  376. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  377. TITLE:=PPPoE support
  378. DEPENDS:=kmod-ppp
  379. KCONFIG:=CONFIG_PPPOE
  380. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
  381. FILES:= \
  382. $(LINUX_DIR)/drivers/net/ppp/pppoe.ko \
  383. $(LINUX_DIR)/drivers/net/ppp/pppox.ko
  384. else
  385. FILES:= \
  386. $(LINUX_DIR)/drivers/net/pppoe.ko \
  387. $(LINUX_DIR)/drivers/net/pppox.ko
  388. endif
  389. AUTOLOAD:=$(call AutoLoad,40,pppox pppoe)
  390. endef
  391. define KernelPackage/pppoe/description
  392. Kernel modules for PPPoE (PPP over Ethernet) support
  393. endef
  394. $(eval $(call KernelPackage,pppoe))
  395. define KernelPackage/pppoa
  396. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  397. TITLE:=PPPoA support
  398. DEPENDS:=kmod-ppp +kmod-atm
  399. KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
  400. FILES:=$(LINUX_DIR)/net/atm/pppoatm.ko
  401. AUTOLOAD:=$(call AutoLoad,40,pppoatm)
  402. endef
  403. define KernelPackage/pppoa/description
  404. Kernel modules for PPPoA (PPP over ATM) support
  405. endef
  406. $(eval $(call KernelPackage,pppoa))
  407. define KernelPackage/pptp
  408. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  409. TITLE:=PPtP support
  410. DEPENDS:=kmod-ppp +kmod-gre @!LINUX_2_6_30&&!LINUX_2_6_31&&!LINUX_2_6_32&&!LINUX_2_6_36
  411. KCONFIG:=CONFIG_PPTP
  412. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
  413. FILES:=$(LINUX_DIR)/drivers/net/ppp/pptp.ko
  414. else
  415. FILES:=$(LINUX_DIR)/drivers/net/pptp.ko
  416. endif
  417. AUTOLOAD:=$(call AutoLoad,41,pptp)
  418. endef
  419. $(eval $(call KernelPackage,pptp))
  420. define KernelPackage/pppol2tp
  421. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  422. TITLE:=PPPoL2TP support
  423. DEPENDS:=kmod-ppp +kmod-pppoe +!LINUX_2_6_30&&!LINUX_2_6_31&&!LINUX_2_6_32:kmod-l2tp
  424. KCONFIG:=CONFIG_PPPOL2TP
  425. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.35)),1)
  426. FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.ko
  427. AUTOLOAD:=$(call AutoLoad,40,l2tp_ppp)
  428. else
  429. FILES:=$(LINUX_DIR)/drivers/net/pppol2tp.ko
  430. AUTOLOAD:=$(call AutoLoad,40,pppol2tp)
  431. endif
  432. endef
  433. define KernelPackage/pppol2tp/description
  434. Kernel modules for PPPoL2TP (PPP over L2TP) support
  435. endef
  436. $(eval $(call KernelPackage,pppol2tp))
  437. define KernelPackage/ipoa
  438. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  439. TITLE:=IPoA support
  440. DEPENDS:=kmod-atm
  441. KCONFIG:=CONFIG_ATM_CLIP
  442. FILES:=$(LINUX_DIR)/net/atm/clip.ko
  443. AUTOLOAD:=$(call AutoLoad,40,clip)
  444. endef
  445. define KernelPackage/ipoa/description
  446. Kernel modules for IPoA (IP over ATM) support
  447. endef
  448. $(eval $(call KernelPackage,ipoa))
  449. define KernelPackage/mppe
  450. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  451. TITLE:=Microsoft PPP compression/encryption
  452. DEPENDS:=kmod-ppp +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-sha1 +kmod-crypto-ecb
  453. KCONFIG:= \
  454. CONFIG_PPP_MPPE_MPPC \
  455. CONFIG_PPP_MPPE
  456. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
  457. FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_mppe.ko
  458. else
  459. FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.ko
  460. endif
  461. AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
  462. endef
  463. define KernelPackage/mppe/description
  464. Kernel modules for Microsoft PPP compression/encryption
  465. endef
  466. $(eval $(call KernelPackage,mppe))
  467. define KernelPackage/sched
  468. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  469. TITLE:=Traffic schedulers
  470. KCONFIG:= \
  471. CONFIG_NET_SCHED=y \
  472. CONFIG_NET_SCH_DSMARK \
  473. CONFIG_NET_SCH_ESFQ \
  474. CONFIG_NET_SCH_ESFQ_NFCT=y \
  475. CONFIG_NET_SCH_FIFO \
  476. CONFIG_NET_SCH_GRED \
  477. CONFIG_NET_SCH_HFSC \
  478. CONFIG_NET_SCH_HTB \
  479. CONFIG_NET_SCH_INGRESS \
  480. CONFIG_NET_SCH_PRIO \
  481. CONFIG_NET_SCH_RED \
  482. CONFIG_NET_SCH_TBF \
  483. CONFIG_NET_SCH_SFQ \
  484. CONFIG_NET_SCH_TEQL \
  485. CONFIG_NET_CLS=y \
  486. CONFIG_NET_CLS_ACT=y \
  487. CONFIG_NET_CLS_BASIC \
  488. CONFIG_NET_CLS_FLOW \
  489. CONFIG_NET_CLS_FW \
  490. CONFIG_NET_CLS_ROUTE4 \
  491. CONFIG_NET_CLS_TCINDEX \
  492. CONFIG_NET_CLS_U32 \
  493. CONFIG_NET_ACT_MIRRED \
  494. CONFIG_NET_ACT_IPT \
  495. CONFIG_NET_ACT_POLICE \
  496. CONFIG_NET_ACT_CONNMARK \
  497. CONFIG_NET_ACT_SKBEDIT \
  498. CONFIG_NET_EMATCH=y \
  499. CONFIG_NET_EMATCH_CMP \
  500. CONFIG_NET_EMATCH_NBYTE \
  501. CONFIG_NET_EMATCH_U32 \
  502. CONFIG_NET_EMATCH_META \
  503. CONFIG_NET_EMATCH_TEXT
  504. FILES:=$(LINUX_DIR)/net/sched/*.ko
  505. endef
  506. define KernelPackage/sched/description
  507. Kernel schedulers for IP traffic
  508. endef
  509. $(eval $(call KernelPackage,sched))
  510. define KernelPackage/ax25
  511. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  512. TITLE:=AX25 support
  513. KCONFIG:= \
  514. CONFIG_AX25 \
  515. CONFIG_MKISS
  516. FILES:= \
  517. $(LINUX_DIR)/net/ax25/ax25.ko \
  518. $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
  519. AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
  520. $(call AddDepends/crc16)
  521. endef
  522. define KernelPackage/ax25/description
  523. Kernel modules for AX25 support
  524. endef
  525. $(eval $(call KernelPackage,ax25))
  526. define KernelPackage/mp-alg
  527. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  528. TITLE:=ECMP caching algorithms
  529. KCONFIG:= \
  530. CONFIG_IP_ROUTE_MULTIPATH_RR \
  531. CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
  532. CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
  533. CONFIG_IP_ROUTE_MULTIPATH_DRR
  534. FILES:= \
  535. $(LINUX_DIR)/net/ipv4/multipath_rr.ko \
  536. $(LINUX_DIR)/net/ipv4/multipath_random.ko \
  537. $(LINUX_DIR)/net/ipv4/multipath_wrandom.ko \
  538. $(LINUX_DIR)/net/ipv4/multipath_drr.ko
  539. AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
  540. endef
  541. define KernelPackage/mp-alg/description
  542. Kernel modules that provide several different algorithms for multipath
  543. route selection from the route cache. The iproute "mpath" argument allows
  544. specifying which algorithm to use for routes.
  545. quagga (at least <=0.99.6) requires a multipath patch to support this
  546. cached mp route feature.
  547. endef
  548. $(eval $(call KernelPackage,mp-alg))
  549. define KernelPackage/pktgen
  550. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  551. DEPENDS:=@!TARGET_uml
  552. TITLE:=Network packet generator
  553. KCONFIG:=CONFIG_NET_PKTGEN
  554. FILES:=$(LINUX_DIR)/net/core/pktgen.ko
  555. AUTOLOAD:=$(call AutoLoad,99,pktgen)
  556. endef
  557. define KernelPackage/pktgen/description
  558. Kernel modules for the Network Packet Generator
  559. endef
  560. $(eval $(call KernelPackage,pktgen))
  561. define KernelPackage/l2tp
  562. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  563. DEPENDS:=@!LINUX_2_6_30&&!LINUX_2_6_31&&!LINUX_2_6_32
  564. TITLE:=Layer Two Tunneling Protocol (L2TP)
  565. KCONFIG:=CONFIG_L2TP \
  566. CONFIG_L2TP_V3=y \
  567. CONFIG_L2TP_DEBUGFS=n
  568. FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.ko \
  569. $(LINUX_DIR)/net/l2tp/l2tp_netlink.ko
  570. AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink)
  571. endef
  572. define KernelPackage/l2tp/description
  573. Kernel modules for L2TP V3 Support
  574. endef
  575. $(eval $(call KernelPackage,l2tp))
  576. define KernelPackage/l2tp-eth
  577. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  578. TITLE:=L2TP ethernet pseudowire support for L2TPv3
  579. DEPENDS:=+kmod-l2tp
  580. KCONFIG:=CONFIG_L2TP_ETH
  581. FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.ko
  582. AUTOLOAD:=$(call AutoLoad,33,l2tp_eth)
  583. endef
  584. define KernelPackage/l2tp-eth/description
  585. Kernel modules for L2TP ethernet pseudowire support for L2TPv3
  586. endef
  587. $(eval $(call KernelPackage,l2tp-eth))
  588. define KernelPackage/l2tp-ip
  589. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  590. TITLE:=L2TP IP encapsulation for L2TPv3
  591. DEPENDS:=+kmod-l2tp
  592. KCONFIG:=CONFIG_L2TP_IP
  593. FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ip.ko
  594. AUTOLOAD:=$(call AutoLoad,33,l2tp_ip)
  595. endef
  596. define KernelPackage/l2tp-ip/description
  597. Kernel modules for L2TP IP encapsulation for L2TPv3
  598. endef
  599. $(eval $(call KernelPackage,l2tp-ip))
  600. define KernelPackage/sctp
  601. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  602. TITLE:=SCTP protocol kernel support
  603. KCONFIG:=\
  604. CONFIG_IP_SCTP \
  605. CONFIG_SCTP_DBG_MSG=n \
  606. CONFIG_SCTP_DBG_OBJCNT=n \
  607. CONFIG_SCTP_HMAC_NONE=n \
  608. CONFIG_SCTP_HMAC_SHA1=n \
  609. CONFIG_SCTP_HMAC_MD5=y
  610. FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
  611. AUTOLOAD:= $(call AutoLoad,32,sctp)
  612. DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac
  613. endef
  614. define KernelPackage/sctp/description
  615. Kernel modules for SCTP protocol support
  616. endef
  617. $(eval $(call KernelPackage,sctp))
  618. define KernelPackage/netem
  619. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  620. TITLE:=Network emulation functionality
  621. DEPENDS:=+kmod-sched
  622. KCONFIG:=CONFIG_NET_SCH_NETEM
  623. FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko
  624. AUTOLOAD:=$(call AutoLoad,99,netem)
  625. endef
  626. define KernelPackage/netem/description
  627. Kernel modules for emulating the properties of wide area networks
  628. endef
  629. $(eval $(call KernelPackage,netem))