netsupport.mk 25 KB

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