netsupport.mk 20 KB

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