netsupport.mk 24 KB

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