netsupport.mk 24 KB

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