2
0

netsupport.mk 22 KB

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