2
0

netsupport.mk 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875
  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. FILES:=$(LINUX_DIR)/net/ipv4/ip_gre.ko $(LINUX_DIR)/net/ipv4/gre.ko
  361. AUTOLOAD:=$(call AutoLoad,39,gre ip_gre)
  362. endef
  363. define KernelPackage/gre/description
  364. Generic Routing Encapsulation support
  365. endef
  366. $(eval $(call KernelPackage,gre))
  367. define KernelPackage/tun
  368. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  369. TITLE:=Universal TUN/TAP driver
  370. KCONFIG:=CONFIG_TUN
  371. FILES:=$(LINUX_DIR)/drivers/net/tun.ko
  372. AUTOLOAD:=$(call AutoLoad,30,tun)
  373. endef
  374. define KernelPackage/tun/description
  375. Kernel support for the TUN/TAP tunneling device
  376. endef
  377. $(eval $(call KernelPackage,tun))
  378. define KernelPackage/ppp
  379. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  380. TITLE:=PPP modules
  381. DEPENDS:=+kmod-lib-crc-ccitt
  382. KCONFIG:= \
  383. CONFIG_PPP \
  384. CONFIG_PPP_ASYNC \
  385. CONFIG_SLHC
  386. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
  387. FILES:= \
  388. $(LINUX_DIR)/drivers/net/ppp/ppp_async.ko \
  389. $(LINUX_DIR)/drivers/net/ppp/ppp_generic.ko \
  390. $(LINUX_DIR)/drivers/net/slip/slhc.ko
  391. else
  392. FILES:= \
  393. $(LINUX_DIR)/drivers/net/ppp_async.ko \
  394. $(LINUX_DIR)/drivers/net/ppp_generic.ko \
  395. $(LINUX_DIR)/drivers/net/slhc.ko
  396. endif
  397. AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
  398. endef
  399. define KernelPackage/ppp/description
  400. Kernel modules for PPP support
  401. endef
  402. $(eval $(call KernelPackage,ppp))
  403. define KernelPackage/ppp-synctty
  404. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  405. TITLE:=PPP sync tty support
  406. DEPENDS:=kmod-ppp
  407. KCONFIG:=CONFIG_PPP_SYNC_TTY
  408. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
  409. FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_synctty.ko
  410. else
  411. FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.ko
  412. endif
  413. AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
  414. endef
  415. define KernelPackage/ppp-synctty/description
  416. Kernel modules for PPP sync tty support
  417. endef
  418. $(eval $(call KernelPackage,ppp-synctty))
  419. define KernelPackage/pppoe
  420. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  421. TITLE:=PPPoE support
  422. DEPENDS:=kmod-ppp
  423. KCONFIG:=CONFIG_PPPOE
  424. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
  425. FILES:= \
  426. $(LINUX_DIR)/drivers/net/ppp/pppoe.ko \
  427. $(LINUX_DIR)/drivers/net/ppp/pppox.ko
  428. else
  429. FILES:= \
  430. $(LINUX_DIR)/drivers/net/pppoe.ko \
  431. $(LINUX_DIR)/drivers/net/pppox.ko
  432. endif
  433. AUTOLOAD:=$(call AutoLoad,40,pppox pppoe)
  434. endef
  435. define KernelPackage/pppoe/description
  436. Kernel modules for PPPoE (PPP over Ethernet) support
  437. endef
  438. $(eval $(call KernelPackage,pppoe))
  439. define KernelPackage/pppoa
  440. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  441. TITLE:=PPPoA support
  442. DEPENDS:=kmod-ppp +kmod-atm
  443. KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
  444. FILES:=$(LINUX_DIR)/net/atm/pppoatm.ko
  445. AUTOLOAD:=$(call AutoLoad,40,pppoatm)
  446. endef
  447. define KernelPackage/pppoa/description
  448. Kernel modules for PPPoA (PPP over ATM) support
  449. endef
  450. $(eval $(call KernelPackage,pppoa))
  451. define KernelPackage/pptp
  452. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  453. TITLE:=PPtP support
  454. DEPENDS:=kmod-ppp +kmod-gre
  455. KCONFIG:=CONFIG_PPTP
  456. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
  457. FILES:=$(LINUX_DIR)/drivers/net/ppp/pptp.ko
  458. else
  459. FILES:=$(LINUX_DIR)/drivers/net/pptp.ko
  460. endif
  461. AUTOLOAD:=$(call AutoLoad,41,pptp)
  462. endef
  463. $(eval $(call KernelPackage,pptp))
  464. define KernelPackage/pppol2tp
  465. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  466. TITLE:=PPPoL2TP support
  467. DEPENDS:=kmod-ppp +kmod-pppoe +kmod-l2tp
  468. KCONFIG:=CONFIG_PPPOL2TP
  469. FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.ko
  470. AUTOLOAD:=$(call AutoLoad,40,l2tp_ppp)
  471. endef
  472. define KernelPackage/pppol2tp/description
  473. Kernel modules for PPPoL2TP (PPP over L2TP) support
  474. endef
  475. $(eval $(call KernelPackage,pppol2tp))
  476. define KernelPackage/ipoa
  477. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  478. TITLE:=IPoA support
  479. DEPENDS:=kmod-atm
  480. KCONFIG:=CONFIG_ATM_CLIP
  481. FILES:=$(LINUX_DIR)/net/atm/clip.ko
  482. AUTOLOAD:=$(call AutoLoad,40,clip)
  483. endef
  484. define KernelPackage/ipoa/description
  485. Kernel modules for IPoA (IP over ATM) support
  486. endef
  487. $(eval $(call KernelPackage,ipoa))
  488. define KernelPackage/mppe
  489. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  490. TITLE:=Microsoft PPP compression/encryption
  491. DEPENDS:=kmod-ppp +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-sha1 +kmod-crypto-ecb
  492. KCONFIG:= \
  493. CONFIG_PPP_MPPE_MPPC \
  494. CONFIG_PPP_MPPE
  495. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
  496. FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_mppe.ko
  497. else
  498. FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.ko
  499. endif
  500. AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
  501. endef
  502. define KernelPackage/mppe/description
  503. Kernel modules for Microsoft PPP compression/encryption
  504. endef
  505. $(eval $(call KernelPackage,mppe))
  506. SCHED_MODULES = $(patsubst $(LINUX_DIR)/net/sched/%.ko,%,$(wildcard $(LINUX_DIR)/net/sched/*.ko))
  507. SCHED_MODULES_CORE = sch_ingress sch_codel sch_fq_codel sch_hfsc cls_fw cls_route cls_flow cls_tcindex cls_u32 em_u32 act_mirred act_skbedit
  508. SCHED_MODULES_EXTRA = $(filter-out $(SCHED_MODULES_CORE) act_connmark,$(SCHED_MODULES))
  509. SCHED_FILES = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(SCHED_MODULES_CORE))
  510. SCHED_FILES_EXTRA = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(SCHED_MODULES_EXTRA))
  511. define KernelPackage/sched-core
  512. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  513. TITLE:=Traffic schedulers
  514. KCONFIG:= \
  515. CONFIG_NET_SCHED=y \
  516. CONFIG_NET_SCH_HFSC \
  517. CONFIG_NET_SCH_INGRESS \
  518. CONFIG_NET_SCH_CODEL \
  519. CONFIG_NET_SCH_FQ_CODEL \
  520. CONFIG_NET_CLS=y \
  521. CONFIG_NET_CLS_ACT=y \
  522. CONFIG_NET_CLS_FLOW \
  523. CONFIG_NET_CLS_FW \
  524. CONFIG_NET_CLS_ROUTE4 \
  525. CONFIG_NET_CLS_TCINDEX \
  526. CONFIG_NET_CLS_U32 \
  527. CONFIG_NET_ACT_MIRRED \
  528. CONFIG_NET_ACT_SKBEDIT \
  529. CONFIG_NET_EMATCH=y \
  530. CONFIG_NET_EMATCH_U32
  531. FILES:=$(SCHED_FILES)
  532. endef
  533. define KernelPackage/sched-core/description
  534. Core kernel scheduler support for IP traffic
  535. endef
  536. $(eval $(call KernelPackage,sched-core))
  537. define KernelPackage/sched-connmark
  538. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  539. TITLE:=Traffic shaper conntrack mark support
  540. DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
  541. KCONFIG:=CONFIG_NET_ACT_CONNMARK
  542. endef
  543. $(eval $(call KernelPackage,sched-connmark))
  544. define KernelPackage/sched
  545. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  546. TITLE:=Extra traffic schedulers
  547. DEPENDS:=+kmod-sched-core
  548. KCONFIG:= \
  549. CONFIG_NET_SCH_DSMARK \
  550. CONFIG_NET_SCH_HTB \
  551. CONFIG_NET_SCH_ESFQ \
  552. CONFIG_NET_SCH_ESFQ_NFCT=y \
  553. CONFIG_NET_SCH_FIFO \
  554. CONFIG_NET_SCH_GRED \
  555. CONFIG_NET_SCH_PRIO \
  556. CONFIG_NET_SCH_RED \
  557. CONFIG_NET_SCH_TBF \
  558. CONFIG_NET_SCH_SFQ \
  559. CONFIG_NET_SCH_TEQL \
  560. CONFIG_NET_CLS_BASIC \
  561. CONFIG_NET_ACT_POLICE \
  562. CONFIG_NET_ACT_IPT \
  563. CONFIG_NET_EMATCH_CMP \
  564. CONFIG_NET_EMATCH_NBYTE \
  565. CONFIG_NET_EMATCH_META \
  566. CONFIG_NET_EMATCH_TEXT
  567. FILES:=$(SCHED_FILES_EXTRA)
  568. endef
  569. define KernelPackage/sched/description
  570. Extra kernel schedulers modules for IP traffic
  571. endef
  572. $(eval $(call KernelPackage,sched))
  573. define KernelPackage/ax25
  574. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  575. TITLE:=AX25 support
  576. KCONFIG:= \
  577. CONFIG_AX25 \
  578. CONFIG_MKISS
  579. FILES:= \
  580. $(LINUX_DIR)/net/ax25/ax25.ko \
  581. $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
  582. AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
  583. $(call AddDepends/crc16)
  584. endef
  585. define KernelPackage/ax25/description
  586. Kernel modules for AX25 support
  587. endef
  588. $(eval $(call KernelPackage,ax25))
  589. define KernelPackage/mp-alg
  590. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  591. TITLE:=ECMP caching algorithms
  592. KCONFIG:= \
  593. CONFIG_IP_ROUTE_MULTIPATH_RR \
  594. CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
  595. CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
  596. CONFIG_IP_ROUTE_MULTIPATH_DRR
  597. FILES:= \
  598. $(LINUX_DIR)/net/ipv4/multipath_rr.ko \
  599. $(LINUX_DIR)/net/ipv4/multipath_random.ko \
  600. $(LINUX_DIR)/net/ipv4/multipath_wrandom.ko \
  601. $(LINUX_DIR)/net/ipv4/multipath_drr.ko
  602. AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
  603. endef
  604. define KernelPackage/mp-alg/description
  605. Kernel modules that provide several different algorithms for multipath
  606. route selection from the route cache. The iproute "mpath" argument allows
  607. specifying which algorithm to use for routes.
  608. quagga (at least <=0.99.6) requires a multipath patch to support this
  609. cached mp route feature.
  610. endef
  611. $(eval $(call KernelPackage,mp-alg))
  612. define KernelPackage/pktgen
  613. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  614. DEPENDS:=@!TARGET_uml
  615. TITLE:=Network packet generator
  616. KCONFIG:=CONFIG_NET_PKTGEN
  617. FILES:=$(LINUX_DIR)/net/core/pktgen.ko
  618. AUTOLOAD:=$(call AutoLoad,99,pktgen)
  619. endef
  620. define KernelPackage/pktgen/description
  621. Kernel modules for the Network Packet Generator
  622. endef
  623. $(eval $(call KernelPackage,pktgen))
  624. define KernelPackage/l2tp
  625. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  626. TITLE:=Layer Two Tunneling Protocol (L2TP)
  627. KCONFIG:=CONFIG_L2TP \
  628. CONFIG_L2TP_V3=y \
  629. CONFIG_L2TP_DEBUGFS=n
  630. FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.ko \
  631. $(LINUX_DIR)/net/l2tp/l2tp_netlink.ko
  632. AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink)
  633. endef
  634. define KernelPackage/l2tp/description
  635. Kernel modules for L2TP V3 Support
  636. endef
  637. $(eval $(call KernelPackage,l2tp))
  638. define KernelPackage/l2tp-eth
  639. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  640. TITLE:=L2TP ethernet pseudowire support for L2TPv3
  641. DEPENDS:=+kmod-l2tp
  642. KCONFIG:=CONFIG_L2TP_ETH
  643. FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.ko
  644. AUTOLOAD:=$(call AutoLoad,33,l2tp_eth)
  645. endef
  646. define KernelPackage/l2tp-eth/description
  647. Kernel modules for L2TP ethernet pseudowire support for L2TPv3
  648. endef
  649. $(eval $(call KernelPackage,l2tp-eth))
  650. define KernelPackage/l2tp-ip
  651. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  652. TITLE:=L2TP IP encapsulation for L2TPv3
  653. DEPENDS:=+kmod-l2tp
  654. KCONFIG:=CONFIG_L2TP_IP
  655. FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ip.ko
  656. AUTOLOAD:=$(call AutoLoad,33,l2tp_ip)
  657. endef
  658. define KernelPackage/l2tp-ip/description
  659. Kernel modules for L2TP IP encapsulation for L2TPv3
  660. endef
  661. $(eval $(call KernelPackage,l2tp-ip))
  662. define KernelPackage/sctp
  663. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  664. TITLE:=SCTP protocol kernel support
  665. KCONFIG:=\
  666. CONFIG_IP_SCTP \
  667. CONFIG_SCTP_DBG_MSG=n \
  668. CONFIG_SCTP_DBG_OBJCNT=n \
  669. CONFIG_SCTP_HMAC_NONE=n \
  670. CONFIG_SCTP_HMAC_SHA1=n \
  671. CONFIG_SCTP_HMAC_MD5=y
  672. FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
  673. AUTOLOAD:= $(call AutoLoad,32,sctp)
  674. DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac
  675. endef
  676. define KernelPackage/sctp/description
  677. Kernel modules for SCTP protocol support
  678. endef
  679. $(eval $(call KernelPackage,sctp))
  680. define KernelPackage/netem
  681. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  682. TITLE:=Network emulation functionality
  683. DEPENDS:=+kmod-sched
  684. KCONFIG:=CONFIG_NET_SCH_NETEM
  685. FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko
  686. AUTOLOAD:=$(call AutoLoad,99,netem)
  687. endef
  688. define KernelPackage/netem/description
  689. Kernel modules for emulating the properties of wide area networks
  690. endef
  691. $(eval $(call KernelPackage,netem))
  692. define KernelPackage/slip
  693. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  694. TITLE:=SLIP modules
  695. KCONFIG:= \
  696. CONFIG_SLIP \
  697. CONFIG_SLIP_COMPRESSED=y \
  698. CONFIG_SLIP_SMART=y \
  699. CONFIG_SLIP_MODE_SLIP6=y
  700. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
  701. FILES:= \
  702. $(LINUX_DIR)/drivers/net/slip/slip.ko
  703. else
  704. FILES:= \
  705. $(LINUX_DIR)/drivers/net/slip.ko
  706. endif
  707. AUTOLOAD:=$(call AutoLoad,30,slip)
  708. endef
  709. define KernelPackage/slip/description
  710. Kernel modules for SLIP support
  711. endef
  712. $(eval $(call KernelPackage,slip))