2 # Copyright (C) 2006-2011 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 NETWORK_SUPPORT_MENU:=Network Support
10 define KernelPackage/atm
11 SUBMENU:=$(NETWORK_SUPPORT_MENU)
17 $(LINUX_DIR)/net/atm/atm.ko \
18 $(LINUX_DIR)/net/atm/br2684.ko
19 AUTOLOAD:=$(call AutoLoad,30,atm br2684)
22 define KernelPackage/atm/description
23 Kernel modules for ATM support
26 $(eval $(call KernelPackage,atm))
29 define KernelPackage/atmtcp
30 SUBMENU:=$(NETWORK_SUPPORT_MENU)
33 KCONFIG:=CONFIG_ATM_TCP CONFIG_ATM_DRIVERS=y
34 FILES:=$(LINUX_DIR)/drivers/atm/atmtcp.ko
35 AUTOLOAD:=$(call AutoLoad,40,atmtcp)
38 define KernelPackage/atmtcp/description
39 Kernel module for ATM over TCP support
42 $(eval $(call KernelPackage,atmtcp))
45 define KernelPackage/appletalk
46 SUBMENU:=$(NETWORK_SUPPORT_MENU)
47 TITLE:=Appletalk protocol support
48 DEPENDS:=+PACKAGE_kmod-llc:kmod-llc
51 CONFIG_DEV_APPLETALK \
53 CONFIG_IPDDP_ENCAP=y \
56 $(LINUX_DIR)/net/appletalk/appletalk.ko \
57 $(LINUX_DIR)/drivers/net/appletalk/ipddp.ko
58 AUTOLOAD:=$(call AutoLoad,40,appletalk ipddp)
61 define KernelPackage/appletalk/description
62 Kernel module for AppleTalk protocol.
65 $(eval $(call KernelPackage,appletalk))
68 define KernelPackage/bonding
69 SUBMENU:=$(NETWORK_SUPPORT_MENU)
70 TITLE:=Ethernet bonding driver
71 KCONFIG:=CONFIG_BONDING
72 FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.ko
73 AUTOLOAD:=$(call AutoLoad,40,bonding)
76 define KernelPackage/bonding/description
77 Kernel module for NIC bonding.
80 $(eval $(call KernelPackage,bonding))
83 define KernelPackage/bridge
84 SUBMENU:=$(NETWORK_SUPPORT_MENU)
85 TITLE:=Ethernet bridging support
89 CONFIG_BRIDGE_IGMP_SNOOPING=y
90 FILES:=$(LINUX_DIR)/net/bridge/bridge.ko
91 AUTOLOAD:=$(call AutoLoad,11,bridge)
94 define KernelPackage/bridge/description
95 Kernel module for Ethernet bridging.
98 $(eval $(call KernelPackage,bridge))
100 define KernelPackage/llc
101 SUBMENU:=$(NETWORK_SUPPORT_MENU)
102 TITLE:=ANSI/IEEE 802.2 LLC support
105 $(LINUX_DIR)/net/llc/llc.ko \
106 $(LINUX_DIR)/net/802/p8022.ko \
107 $(LINUX_DIR)/net/802/psnap.ko
108 AUTOLOAD:=$(call AutoLoad,09,llc p8022 psnap)
111 define KernelPackage/llc/description
112 Kernel module for ANSI/IEEE 802.2 LLC support.
115 $(eval $(call KernelPackage,llc))
117 define KernelPackage/stp
118 SUBMENU:=$(NETWORK_SUPPORT_MENU)
119 TITLE:=Ethernet Spanning Tree Protocol support
122 FILES:=$(LINUX_DIR)/net/802/stp.ko
123 AUTOLOAD:=$(call AutoLoad,10,stp)
126 define KernelPackage/stp/description
127 Kernel module for Ethernet Spanning Tree Protocol support.
130 $(eval $(call KernelPackage,stp))
132 define KernelPackage/8021q
133 SUBMENU:=$(NETWORK_SUPPORT_MENU)
134 TITLE:=802.1Q VLAN support
135 KCONFIG:=CONFIG_VLAN_8021Q \
136 CONFIG_VLAN_8021Q_GVRP=n
137 FILES:=$(LINUX_DIR)/net/8021q/8021q.ko
138 AUTOLOAD:=$(call AutoLoad,12,8021q)
141 define KernelPackage/8021q/description
142 Kernel module for 802.1Q VLAN support
145 $(eval $(call KernelPackage,8021q))
148 define KernelPackage/udptunnel4
149 SUBMENU:=$(NETWORK_SUPPORT_MENU)
150 TITLE:=IPv4 UDP tunneling support
151 DEPENDS:=@(!LINUX_3_8&&!LINUX_3_10&&!LINUX_3_13&&!LINUX_3_14)
152 KCONFIG:=CONFIG_NET_UDP_TUNNEL
153 FILES:=$(LINUX_DIR)/net/ipv4/udp_tunnel.ko
154 AUTOLOAD:=$(call AutoLoad,32,udp_tunnel)
158 $(eval $(call KernelPackage,udptunnel4))
160 define KernelPackage/udptunnel6
161 SUBMENU:=$(NETWORK_SUPPORT_MENU)
162 TITLE:=IPv6 UDP tunneling support
163 DEPENDS:=@(!LINUX_3_8&&!LINUX_3_10&&!LINUX_3_13&&!LINUX_3_14) +kmod-ipv6
164 KCONFIG:=CONFIG_NET_UDP_TUNNEL
165 FILES:=$(LINUX_DIR)/net/ipv6/ip6_udp_tunnel.ko
166 AUTOLOAD:=$(call AutoLoad,32,ip6_udp_tunnel)
169 $(eval $(call KernelPackage,udptunnel6))
172 define KernelPackage/vxlan
173 SUBMENU:=$(NETWORK_SUPPORT_MENU)
174 TITLE:=Native VXLAN Kernel support
177 +(!LINUX_3_8&&!LINUX_3_10&&!LINUX_3_13&&!LINUX_3_14):kmod-udptunnel4 \
178 +(!LINUX_3_8&&!LINUX_3_10&&!LINUX_3_13&&!LINUX_3_14&&IPV6):kmod-udptunnel6
179 KCONFIG:=CONFIG_VXLAN
180 FILES:=$(LINUX_DIR)/drivers/net/vxlan.ko
181 AUTOLOAD:=$(call AutoLoad,13,vxlan)
184 define KernelPackage/vxlan/description
185 Kernel module for supporting VXLAN in the Kernel.
186 Requires Kernel 3.12 or newer.
189 $(eval $(call KernelPackage,vxlan))
191 define KernelPackage/capi
192 SUBMENU:=$(NETWORK_SUPPORT_MENU)
193 TITLE:=CAPI (ISDN) Support
196 CONFIG_ISDN_CAPI_CAPI20 \
198 CONFIG_ISDN_CAPI_CAPIFS
200 $(LINUX_DIR)/drivers/isdn/capi/kernelcapi.ko \
201 $(LINUX_DIR)/drivers/isdn/capi/capi.ko
202 AUTOLOAD:=$(call AutoLoad,30,kernelcapi capi)
205 define KernelPackage/capi/description
206 Kernel module for basic CAPI (ISDN) support
209 $(eval $(call KernelPackage,capi))
211 define KernelPackage/misdn
212 SUBMENU:=$(NETWORK_SUPPORT_MENU)
213 TITLE:=mISDN (ISDN) Support
220 $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_core.ko \
221 $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_dsp.ko \
222 $(LINUX_DIR)/drivers/isdn/mISDN/l1oip.ko
223 AUTOLOAD:=$(call AutoLoad,30,mISDN_core mISDN_dsp l1oip)
226 define KernelPackage/misdn/description
227 Modular ISDN driver support
230 $(eval $(call KernelPackage,misdn))
233 define KernelPackage/isdn4linux
234 SUBMENU:=$(NETWORK_SUPPORT_MENU)
235 TITLE:=Old ISDN4Linux (deprecated)
241 CONFIG_ISDN_PPP_VJ=y \
243 CONFIG_IPPP_FILTER=y \
244 CONFIG_ISDN_PPP_BSDCOMP \
245 CONFIG_ISDN_CAPI_MIDDLEWARE=y \
246 CONFIG_ISDN_CAPI_CAPIFS_BOOL=y \
247 CONFIG_ISDN_AUDIO=y \
248 CONFIG_ISDN_TTY_FAX=y \
250 CONFIG_ISDN_DIVERSION
252 $(LINUX_DIR)/drivers/isdn/divert/dss1_divert.ko \
253 $(LINUX_DIR)/drivers/isdn/i4l/isdn.ko \
254 $(LINUX_DIR)/drivers/isdn/i4l/isdn_bsdcomp.ko
255 AUTOLOAD:=$(call AutoLoad,40,isdn isdn_bsdcomp dss1_divert)
258 define KernelPackage/isdn4linux/description
259 This driver allows you to use an ISDN adapter for networking
262 $(eval $(call KernelPackage,isdn4linux))
265 define KernelPackage/ipip
266 SUBMENU:=$(NETWORK_SUPPORT_MENU)
267 TITLE:=IP-in-IP encapsulation
268 DEPENDS:=+kmod-iptunnel +kmod-iptunnel4
269 KCONFIG:=CONFIG_NET_IPIP
270 FILES:=$(LINUX_DIR)/net/ipv4/ipip.ko
271 AUTOLOAD:=$(call AutoLoad,32,ipip)
274 define KernelPackage/ipip/description
275 Kernel modules for IP-in-IP encapsulation
278 $(eval $(call KernelPackage,ipip))
287 define KernelPackage/ipsec
288 SUBMENU:=$(NETWORK_SUPPORT_MENU)
289 TITLE:=IPsec related modules (IPv4 and IPv6)
290 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
296 FILES:=$(foreach mod,$(IPSEC-m),$(LINUX_DIR)/net/$(mod).ko)
297 AUTOLOAD:=$(call AutoLoad,30,$(notdir $(IPSEC-m)))
300 define KernelPackage/ipsec/description
301 Kernel modules for IPsec support in both IPv4 and IPv6.
308 $(eval $(call KernelPackage,ipsec))
314 ipv4/xfrm4_mode_beet \
315 ipv4/xfrm4_mode_transport \
316 ipv4/xfrm4_mode_tunnel \
320 define KernelPackage/ipsec4
321 SUBMENU:=$(NETWORK_SUPPORT_MENU)
322 TITLE:=IPsec related modules (IPv4)
323 DEPENDS:=kmod-ipsec +kmod-iptunnel4
328 CONFIG_INET_XFRM_MODE_BEET \
329 CONFIG_INET_XFRM_MODE_TRANSPORT \
330 CONFIG_INET_XFRM_MODE_TUNNEL \
331 CONFIG_INET_XFRM_TUNNEL
332 FILES:=$(foreach mod,$(IPSEC4-m),$(LINUX_DIR)/net/$(mod).ko)
333 AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC4-m)))
336 define KernelPackage/ipsec4/description
337 Kernel modules for IPsec support in IPv4.
343 - xfrm4_mode_transport
348 $(eval $(call KernelPackage,ipsec4))
354 ipv6/xfrm6_mode_beet \
355 ipv6/xfrm6_mode_transport \
356 ipv6/xfrm6_mode_tunnel \
360 define KernelPackage/ipsec6
361 SUBMENU:=$(NETWORK_SUPPORT_MENU)
362 TITLE:=IPsec related modules (IPv6)
363 DEPENDS:=kmod-ipsec +kmod-iptunnel6
367 CONFIG_INET6_IPCOMP \
368 CONFIG_INET6_XFRM_MODE_BEET \
369 CONFIG_INET6_XFRM_MODE_TRANSPORT \
370 CONFIG_INET6_XFRM_MODE_TUNNEL \
371 CONFIG_INET6_XFRM_TUNNEL
372 FILES:=$(foreach mod,$(IPSEC6-m),$(LINUX_DIR)/net/$(mod).ko)
373 AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC6-m)))
376 define KernelPackage/ipsec6/description
377 Kernel modules for IPsec support in IPv6.
383 - xfrm6_mode_transport
388 $(eval $(call KernelPackage,ipsec6))
391 define KernelPackage/iptunnel
392 SUBMENU:=$(NETWORK_SUPPORT_MENU)
393 TITLE:=IP tunnel support
397 FILES:=$(LINUX_DIR)/net/ipv4/ip_tunnel.ko
398 AUTOLOAD:=$(call AutoLoad,31,ip_tunnel)
401 define KernelPackage/iptunnel/description
402 Kernel module for generic IP tunnel support
405 $(eval $(call KernelPackage,iptunnel))
408 define KernelPackage/ipvti
409 SUBMENU:=$(NETWORK_SUPPORT_MENU)
410 TITLE:=IP VTI (Virtual Tunnel Interface)
411 DEPENDS:=+kmod-iptunnel +kmod-iptunnel4 +kmod-ipsec4
412 KCONFIG:=CONFIG_NET_IPVTI
413 FILES:=$(LINUX_DIR)/net/ipv4/ip_vti.ko
414 AUTOLOAD:=$(call AutoLoad,33,ip_vti)
417 define KernelPackage/ipvti/description
418 Kernel modules for IP VTI (Virtual Tunnel Interface)
421 $(eval $(call KernelPackage,ipvti))
424 define KernelPackage/iptunnel4
425 SUBMENU:=$(NETWORK_SUPPORT_MENU)
426 TITLE:=IPv4 tunneling
430 FILES:=$(LINUX_DIR)/net/ipv4/tunnel4.ko
431 AUTOLOAD:=$(call AutoLoad,31,tunnel4)
434 define KernelPackage/iptunnel4/description
435 Kernel modules for IPv4 tunneling
438 $(eval $(call KernelPackage,iptunnel4))
441 define KernelPackage/iptunnel6
442 SUBMENU:=$(NETWORK_SUPPORT_MENU)
443 TITLE:=IPv6 tunneling
447 FILES:=$(LINUX_DIR)/net/ipv6/tunnel6.ko
448 AUTOLOAD:=$(call AutoLoad,31,tunnel6)
451 define KernelPackage/iptunnel6/description
452 Kernel modules for IPv6 tunneling
455 $(eval $(call KernelPackage,iptunnel6))
458 define KernelPackage/ipv6
459 SUBMENU:=$(NETWORK_SUPPORT_MENU)
463 CONFIG_IPV6_PRIVACY=y \
464 CONFIG_IPV6_MULTIPLE_TABLES=y \
465 CONFIG_IPV6_MROUTE=y \
466 CONFIG_IPV6_PIMSM_V2=n \
467 CONFIG_IPV6_SUBTREES=y
468 FILES:=$(LINUX_DIR)/net/ipv6/ipv6.ko
469 AUTOLOAD:=$(call AutoLoad,20,ipv6)
472 define KernelPackage/ipv6/description
473 Kernel modules for IPv6 support
476 $(eval $(call KernelPackage,ipv6))
479 define KernelPackage/sit
480 SUBMENU:=$(NETWORK_SUPPORT_MENU)
481 DEPENDS:=+kmod-ipv6 +kmod-iptunnel +kmod-iptunnel4
482 TITLE:=IPv6-in-IPv4 tunnel
483 KCONFIG:=CONFIG_IPV6_SIT \
484 CONFIG_IPV6_SIT_6RD=y
485 FILES:=$(LINUX_DIR)/net/ipv6/sit.ko
486 AUTOLOAD:=$(call AutoLoad,32,sit)
489 define KernelPackage/sit/description
490 Kernel modules for IPv6-in-IPv4 tunnelling
493 $(eval $(call KernelPackage,sit))
496 define KernelPackage/ip6-tunnel
497 SUBMENU:=$(NETWORK_SUPPORT_MENU)
498 TITLE:=IP-in-IPv6 tunnelling
499 DEPENDS:= +kmod-ipv6 +kmod-iptunnel6
500 KCONFIG:= CONFIG_IPV6_TUNNEL
501 FILES:=$(LINUX_DIR)/net/ipv6/ip6_tunnel.ko
502 AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
505 define KernelPackage/ip6-tunnel/description
506 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
509 $(eval $(call KernelPackage,ip6-tunnel))
512 define KernelPackage/gre
513 SUBMENU:=$(NETWORK_SUPPORT_MENU)
515 DEPENDS:=+PACKAGE_kmod-ipv6:kmod-ipv6 +kmod-iptunnel
516 KCONFIG:=CONFIG_NET_IPGRE CONFIG_NET_IPGRE_DEMUX
517 FILES:=$(LINUX_DIR)/net/ipv4/ip_gre.ko $(LINUX_DIR)/net/ipv4/gre.ko
518 AUTOLOAD:=$(call AutoLoad,39,gre ip_gre)
521 define KernelPackage/gre/description
522 Generic Routing Encapsulation support
525 $(eval $(call KernelPackage,gre))
528 define KernelPackage/gre6
529 SUBMENU:=$(NETWORK_SUPPORT_MENU)
530 TITLE:=GRE support over IPV6
531 DEPENDS:=+kmod-ipv6 +kmod-iptunnel +kmod-ip6-tunnel
532 KCONFIG:=CONFIG_IPV6_GRE
533 FILES:=$(LINUX_DIR)/net/ipv6/ip6_gre.ko
534 AUTOLOAD:=$(call AutoLoad,39,ip6_gre)
537 define KernelPackage/gre6/description
538 Generic Routing Encapsulation support over IPv6
541 $(eval $(call KernelPackage,gre6))
544 define KernelPackage/tun
545 SUBMENU:=$(NETWORK_SUPPORT_MENU)
546 TITLE:=Universal TUN/TAP driver
548 FILES:=$(LINUX_DIR)/drivers/net/tun.ko
549 AUTOLOAD:=$(call AutoLoad,30,tun)
552 define KernelPackage/tun/description
553 Kernel support for the TUN/TAP tunneling device
556 $(eval $(call KernelPackage,tun))
559 define KernelPackage/veth
560 SUBMENU:=$(NETWORK_SUPPORT_MENU)
561 TITLE:=Virtual ethernet pair device
563 FILES:=$(LINUX_DIR)/drivers/net/veth.ko
564 AUTOLOAD:=$(call AutoLoad,30,veth)
567 define KernelPackage/veth/description
568 This device is a local ethernet tunnel. Devices are created in pairs.
569 When one end receives the packet it appears on its pair and vice
573 $(eval $(call KernelPackage,veth))
576 define KernelPackage/slhc
577 SUBMENU:=$(NETWORK_SUPPORT_MENU)
579 TITLE:=Serial Line Header Compression
580 DEPENDS:=+kmod-lib-crc-ccitt
582 FILES:=$(LINUX_DIR)/drivers/net/slip/slhc.ko
585 $(eval $(call KernelPackage,slhc))
588 define KernelPackage/ppp
589 SUBMENU:=$(NETWORK_SUPPORT_MENU)
591 DEPENDS:=+kmod-lib-crc-ccitt +kmod-slhc
596 $(LINUX_DIR)/drivers/net/ppp/ppp_async.ko \
597 $(LINUX_DIR)/drivers/net/ppp/ppp_generic.ko
598 AUTOLOAD:=$(call AutoProbe,ppp_async)
601 define KernelPackage/ppp/description
602 Kernel modules for PPP support
605 $(eval $(call KernelPackage,ppp))
608 define KernelPackage/ppp-synctty
609 SUBMENU:=$(NETWORK_SUPPORT_MENU)
610 TITLE:=PPP sync tty support
612 KCONFIG:=CONFIG_PPP_SYNC_TTY
613 FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_synctty.ko
614 AUTOLOAD:=$(call AutoProbe,ppp_synctty)
617 define KernelPackage/ppp-synctty/description
618 Kernel modules for PPP sync tty support
621 $(eval $(call KernelPackage,ppp-synctty))
624 define KernelPackage/pppox
625 SUBMENU:=$(NETWORK_SUPPORT_MENU)
628 KCONFIG:=CONFIG_PPPOE
629 FILES:=$(LINUX_DIR)/drivers/net/ppp/pppox.ko
632 define KernelPackage/pppox/description
633 Kernel helper module for PPPoE and PPTP support
636 $(eval $(call KernelPackage,pppox))
639 define KernelPackage/pppoe
640 SUBMENU:=$(NETWORK_SUPPORT_MENU)
642 DEPENDS:=kmod-ppp +kmod-pppox
643 KCONFIG:=CONFIG_PPPOE
644 FILES:=$(LINUX_DIR)/drivers/net/ppp/pppoe.ko
645 AUTOLOAD:=$(call AutoProbe,pppoe)
648 define KernelPackage/pppoe/description
649 Kernel module for PPPoE (PPP over Ethernet) support
652 $(eval $(call KernelPackage,pppoe))
655 define KernelPackage/pppoa
656 SUBMENU:=$(NETWORK_SUPPORT_MENU)
658 DEPENDS:=kmod-ppp +kmod-atm
659 KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
660 FILES:=$(LINUX_DIR)/net/atm/pppoatm.ko
661 AUTOLOAD:=$(call AutoLoad,40,pppoatm)
664 define KernelPackage/pppoa/description
665 Kernel modules for PPPoA (PPP over ATM) support
668 $(eval $(call KernelPackage,pppoa))
671 define KernelPackage/pptp
672 SUBMENU:=$(NETWORK_SUPPORT_MENU)
674 DEPENDS:=kmod-ppp +kmod-gre +kmod-pppox
676 FILES:=$(LINUX_DIR)/drivers/net/ppp/pptp.ko
677 AUTOLOAD:=$(call AutoProbe,pptp)
680 $(eval $(call KernelPackage,pptp))
683 define KernelPackage/pppol2tp
684 SUBMENU:=$(NETWORK_SUPPORT_MENU)
685 TITLE:=PPPoL2TP support
686 DEPENDS:=kmod-ppp +kmod-pppox +kmod-l2tp
687 KCONFIG:=CONFIG_PPPOL2TP
688 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.ko
689 AUTOLOAD:=$(call AutoProbe,l2tp_ppp)
692 define KernelPackage/pppol2tp/description
693 Kernel modules for PPPoL2TP (PPP over L2TP) support
696 $(eval $(call KernelPackage,pppol2tp))
699 define KernelPackage/ipoa
700 SUBMENU:=$(NETWORK_SUPPORT_MENU)
703 KCONFIG:=CONFIG_ATM_CLIP
704 FILES:=$(LINUX_DIR)/net/atm/clip.ko
705 AUTOLOAD:=$(call AutoProbe,clip)
708 define KernelPackage/ipoa/description
709 Kernel modules for IPoA (IP over ATM) support
712 $(eval $(call KernelPackage,ipoa))
715 define KernelPackage/mppe
716 SUBMENU:=$(NETWORK_SUPPORT_MENU)
717 TITLE:=Microsoft PPP compression/encryption
718 DEPENDS:=kmod-ppp +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-sha1 +kmod-crypto-ecb
720 CONFIG_PPP_MPPE_MPPC \
722 FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_mppe.ko
723 AUTOLOAD:=$(call AutoProbe,ppp_mppe)
726 define KernelPackage/mppe/description
727 Kernel modules for Microsoft PPP compression/encryption
730 $(eval $(call KernelPackage,mppe))
733 SCHED_MODULES = $(patsubst $(LINUX_DIR)/net/sched/%.ko,%,$(wildcard $(LINUX_DIR)/net/sched/*.ko))
734 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
735 SCHED_MODULES_FILTER = $(SCHED_MODULES_CORE) act_connmark sch_esfq
736 SCHED_MODULES_EXTRA = $(filter-out $(SCHED_MODULES_FILTER),$(SCHED_MODULES))
737 SCHED_FILES = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(filter $(SCHED_MODULES_CORE),$(SCHED_MODULES)))
738 SCHED_FILES_EXTRA = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(SCHED_MODULES_EXTRA))
740 define KernelPackage/sched-core
741 SUBMENU:=$(NETWORK_SUPPORT_MENU)
742 TITLE:=Traffic schedulers
745 CONFIG_NET_SCH_HFSC \
746 CONFIG_NET_SCH_INGRESS \
747 CONFIG_NET_SCH_FQ_CODEL \
749 CONFIG_NET_CLS_ACT=y \
750 CONFIG_NET_CLS_FLOW \
752 CONFIG_NET_CLS_ROUTE4 \
753 CONFIG_NET_CLS_TCINDEX \
755 CONFIG_NET_ACT_MIRRED \
756 CONFIG_NET_ACT_SKBEDIT \
757 CONFIG_NET_EMATCH=y \
758 CONFIG_NET_EMATCH_U32
759 FILES:=$(SCHED_FILES)
760 AUTOLOAD:=$(call AutoLoad,70, $(SCHED_MODULES_CORE))
763 define KernelPackage/sched-core/description
764 Core kernel scheduler support for IP traffic
767 $(eval $(call KernelPackage,sched-core))
770 define KernelPackage/sched-connmark
771 SUBMENU:=$(NETWORK_SUPPORT_MENU)
772 TITLE:=Traffic shaper conntrack mark support
773 DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
774 KCONFIG:=CONFIG_NET_ACT_CONNMARK
775 FILES:=$(LINUX_DIR)/net/sched/act_connmark.ko
776 AUTOLOAD:=$(call AutoLoad,71, act_connmark)
778 $(eval $(call KernelPackage,sched-connmark))
780 define KernelPackage/sched-esfq
781 SUBMENU:=$(NETWORK_SUPPORT_MENU)
782 TITLE:=Traffic shaper ESFQ support
783 DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack
785 CONFIG_NET_SCH_ESFQ \
786 CONFIG_NET_SCH_ESFQ_NFCT=y
787 FILES:=$(LINUX_DIR)/net/sched/sch_esfq.ko
788 AUTOLOAD:=$(call AutoLoad,72, sch_esfq)
790 $(eval $(call KernelPackage,sched-esfq))
792 define KernelPackage/sched
793 SUBMENU:=$(NETWORK_SUPPORT_MENU)
794 TITLE:=Extra traffic schedulers
795 DEPENDS:=+kmod-sched-core +kmod-ipt-core
797 CONFIG_NET_SCH_CODEL \
798 CONFIG_NET_SCH_DSMARK \
800 CONFIG_NET_SCH_FIFO \
801 CONFIG_NET_SCH_GRED \
802 CONFIG_NET_SCH_PRIO \
806 CONFIG_NET_SCH_TEQL \
807 CONFIG_NET_CLS_BASIC \
808 CONFIG_NET_ACT_POLICE \
810 CONFIG_NET_EMATCH_CMP \
811 CONFIG_NET_EMATCH_NBYTE \
812 CONFIG_NET_EMATCH_META \
813 CONFIG_NET_EMATCH_TEXT
814 FILES:=$(SCHED_FILES_EXTRA)
815 AUTOLOAD:=$(call AutoLoad,73, $(SCHED_MODULES_EXTRA))
818 define KernelPackage/sched/description
819 Extra kernel schedulers modules for IP traffic
822 $(eval $(call KernelPackage,sched))
825 define KernelPackage/ax25
826 SUBMENU:=$(NETWORK_SUPPORT_MENU)
833 $(LINUX_DIR)/net/ax25/ax25.ko \
834 $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
835 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
836 $(call AddDepends/crc16)
839 define KernelPackage/ax25/description
840 Kernel modules for AX25 support
843 $(eval $(call KernelPackage,ax25))
846 define KernelPackage/mp-alg
847 SUBMENU:=$(NETWORK_SUPPORT_MENU)
848 TITLE:=ECMP caching algorithms
850 CONFIG_IP_ROUTE_MULTIPATH_RR \
851 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
852 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
853 CONFIG_IP_ROUTE_MULTIPATH_DRR
855 $(LINUX_DIR)/net/ipv4/multipath_rr.ko \
856 $(LINUX_DIR)/net/ipv4/multipath_random.ko \
857 $(LINUX_DIR)/net/ipv4/multipath_wrandom.ko \
858 $(LINUX_DIR)/net/ipv4/multipath_drr.ko
859 AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
862 define KernelPackage/mp-alg/description
863 Kernel modules that provide several different algorithms for multipath
864 route selection from the route cache. The iproute "mpath" argument allows
865 specifying which algorithm to use for routes.
866 quagga (at least <=0.99.6) requires a multipath patch to support this
867 cached mp route feature.
870 $(eval $(call KernelPackage,mp-alg))
873 define KernelPackage/pktgen
874 SUBMENU:=$(NETWORK_SUPPORT_MENU)
875 DEPENDS:=@!TARGET_uml
876 TITLE:=Network packet generator
877 KCONFIG:=CONFIG_NET_PKTGEN
878 FILES:=$(LINUX_DIR)/net/core/pktgen.ko
879 AUTOLOAD:=$(call AutoLoad,99,pktgen)
882 define KernelPackage/pktgen/description
883 Kernel modules for the Network Packet Generator
886 $(eval $(call KernelPackage,pktgen))
888 define KernelPackage/l2tp
889 SUBMENU:=$(NETWORK_SUPPORT_MENU)
890 TITLE:=Layer Two Tunneling Protocol (L2TP)
893 +(!LINUX_3_8&&!LINUX_3_10&&!LINUX_3_13&&!LINUX_3_14):kmod-udptunnel4 \
894 +(!LINUX_3_8&&!LINUX_3_10&&!LINUX_3_13&&!LINUX_3_14&&IPV6):kmod-udptunnel6
895 KCONFIG:=CONFIG_L2TP \
897 CONFIG_L2TP_DEBUGFS=n
898 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.ko \
899 $(LINUX_DIR)/net/l2tp/l2tp_netlink.ko
900 AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink)
903 define KernelPackage/l2tp/description
904 Kernel modules for L2TP V3 Support
907 $(eval $(call KernelPackage,l2tp))
910 define KernelPackage/l2tp-eth
911 SUBMENU:=$(NETWORK_SUPPORT_MENU)
912 TITLE:=L2TP ethernet pseudowire support for L2TPv3
914 KCONFIG:=CONFIG_L2TP_ETH
915 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.ko
916 AUTOLOAD:=$(call AutoLoad,33,l2tp_eth)
919 define KernelPackage/l2tp-eth/description
920 Kernel modules for L2TP ethernet pseudowire support for L2TPv3
923 $(eval $(call KernelPackage,l2tp-eth))
925 define KernelPackage/l2tp-ip
926 SUBMENU:=$(NETWORK_SUPPORT_MENU)
927 TITLE:=L2TP IP encapsulation for L2TPv3
929 KCONFIG:=CONFIG_L2TP_IP
930 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ip.ko
931 AUTOLOAD:=$(call AutoLoad,33,l2tp_ip)
934 define KernelPackage/l2tp-ip/description
935 Kernel modules for L2TP IP encapsulation for L2TPv3
938 $(eval $(call KernelPackage,l2tp-ip))
941 define KernelPackage/sctp
942 SUBMENU:=$(NETWORK_SUPPORT_MENU)
943 TITLE:=SCTP protocol kernel support
946 CONFIG_SCTP_DBG_MSG=n \
947 CONFIG_SCTP_DBG_OBJCNT=n \
948 CONFIG_SCTP_HMAC_NONE=n \
949 CONFIG_SCTP_HMAC_SHA1=n \
950 CONFIG_SCTP_HMAC_MD5=y \
951 CONFIG_SCTP_COOKIE_HMAC_SHA1=n \
952 CONFIG_SCTP_COOKIE_HMAC_MD5=y \
953 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE=n \
954 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=n \
955 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
956 FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
957 AUTOLOAD:= $(call AutoLoad,32,sctp)
958 DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac +IPV6:kmod-ipv6
961 define KernelPackage/sctp/description
962 Kernel modules for SCTP protocol support
965 $(eval $(call KernelPackage,sctp))
968 define KernelPackage/netem
969 SUBMENU:=$(NETWORK_SUPPORT_MENU)
970 TITLE:=Network emulation functionality
972 KCONFIG:=CONFIG_NET_SCH_NETEM
973 FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko
974 AUTOLOAD:=$(call AutoLoad,99,netem)
977 define KernelPackage/netem/description
978 Kernel modules for emulating the properties of wide area networks
981 $(eval $(call KernelPackage,netem))
983 define KernelPackage/slip
984 SUBMENU:=$(NETWORK_SUPPORT_MENU)
989 CONFIG_SLIP_COMPRESSED=y \
990 CONFIG_SLIP_SMART=y \
991 CONFIG_SLIP_MODE_SLIP6=y
994 $(LINUX_DIR)/drivers/net/slip/slip.ko
995 AUTOLOAD:=$(call AutoLoad,30,slip)
998 define KernelPackage/slip/description
999 Kernel modules for SLIP support
1002 $(eval $(call KernelPackage,slip))
1004 define KernelPackage/dnsresolver
1005 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1006 TITLE:=In-kernel DNS Resolver
1007 KCONFIG:= CONFIG_DNS_RESOLVER
1008 FILES:=$(LINUX_DIR)/net/dns_resolver/dns_resolver.ko
1009 AUTOLOAD:=$(call AutoLoad,30,dns_resolver)
1012 $(eval $(call KernelPackage,dnsresolver))
1014 define KernelPackage/rxrpc
1015 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1016 TITLE:=AF_RXRPC support
1020 CONFIG_AF_RXRPC_DEBUG=n
1022 $(LINUX_DIR)/net/rxrpc/af-rxrpc.ko \
1023 $(LINUX_DIR)/net/rxrpc/rxkad.ko
1024 AUTOLOAD:=$(call AutoLoad,30,rxkad af-rxrpc)
1025 DEPENDS:=+kmod-crypto-core +kmod-crypto-manager +kmod-crypto-pcbc +kmod-crypto-fcrypt
1028 define KernelPackage/rxrpc/description
1029 Kernel support for AF_RXRPC; required for AFS client
1032 $(eval $(call KernelPackage,rxrpc))