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
152 CONFIG_NET_UDP_TUNNEL \
155 FILES:=$(LINUX_DIR)/net/ipv4/udp_tunnel.ko
156 AUTOLOAD:=$(call AutoLoad,32,udp_tunnel)
160 $(eval $(call KernelPackage,udptunnel4))
162 define KernelPackage/udptunnel6
163 SUBMENU:=$(NETWORK_SUPPORT_MENU)
164 TITLE:=IPv6 UDP tunneling support
167 CONFIG_NET_UDP_TUNNEL \
170 FILES:=$(LINUX_DIR)/net/ipv6/ip6_udp_tunnel.ko
171 AUTOLOAD:=$(call AutoLoad,32,ip6_udp_tunnel)
174 $(eval $(call KernelPackage,udptunnel6))
177 define KernelPackage/vxlan
178 SUBMENU:=$(NETWORK_SUPPORT_MENU)
179 TITLE:=Native VXLAN Kernel support
183 +IPV6:kmod-udptunnel6
184 KCONFIG:=CONFIG_VXLAN
185 FILES:=$(LINUX_DIR)/drivers/net/vxlan.ko
186 AUTOLOAD:=$(call AutoLoad,13,vxlan)
189 define KernelPackage/vxlan/description
190 Kernel module for supporting VXLAN in the Kernel.
191 Requires Kernel 3.12 or newer.
194 $(eval $(call KernelPackage,vxlan))
196 define KernelPackage/capi
197 SUBMENU:=$(NETWORK_SUPPORT_MENU)
198 TITLE:=CAPI (ISDN) Support
201 CONFIG_ISDN_CAPI_CAPI20 \
203 CONFIG_ISDN_CAPI_CAPIFS
205 $(LINUX_DIR)/drivers/isdn/capi/kernelcapi.ko \
206 $(LINUX_DIR)/drivers/isdn/capi/capi.ko
207 AUTOLOAD:=$(call AutoLoad,30,kernelcapi capi)
210 define KernelPackage/capi/description
211 Kernel module for basic CAPI (ISDN) support
214 $(eval $(call KernelPackage,capi))
216 define KernelPackage/misdn
217 SUBMENU:=$(NETWORK_SUPPORT_MENU)
218 TITLE:=mISDN (ISDN) Support
225 $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_core.ko \
226 $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_dsp.ko \
227 $(LINUX_DIR)/drivers/isdn/mISDN/l1oip.ko
228 AUTOLOAD:=$(call AutoLoad,30,mISDN_core mISDN_dsp l1oip)
231 define KernelPackage/misdn/description
232 Modular ISDN driver support
235 $(eval $(call KernelPackage,misdn))
238 define KernelPackage/isdn4linux
239 SUBMENU:=$(NETWORK_SUPPORT_MENU)
240 TITLE:=Old ISDN4Linux (deprecated)
246 CONFIG_ISDN_PPP_VJ=y \
248 CONFIG_IPPP_FILTER=y \
249 CONFIG_ISDN_PPP_BSDCOMP \
250 CONFIG_ISDN_CAPI_MIDDLEWARE=y \
251 CONFIG_ISDN_CAPI_CAPIFS_BOOL=y \
252 CONFIG_ISDN_AUDIO=y \
253 CONFIG_ISDN_TTY_FAX=y \
255 CONFIG_ISDN_DIVERSION
257 $(LINUX_DIR)/drivers/isdn/divert/dss1_divert.ko \
258 $(LINUX_DIR)/drivers/isdn/i4l/isdn.ko \
259 $(LINUX_DIR)/drivers/isdn/i4l/isdn_bsdcomp.ko
260 AUTOLOAD:=$(call AutoLoad,40,isdn isdn_bsdcomp dss1_divert)
263 define KernelPackage/isdn4linux/description
264 This driver allows you to use an ISDN adapter for networking
267 $(eval $(call KernelPackage,isdn4linux))
270 define KernelPackage/ipip
271 SUBMENU:=$(NETWORK_SUPPORT_MENU)
272 TITLE:=IP-in-IP encapsulation
273 DEPENDS:=+kmod-iptunnel +kmod-iptunnel4
274 KCONFIG:=CONFIG_NET_IPIP
275 FILES:=$(LINUX_DIR)/net/ipv4/ipip.ko
276 AUTOLOAD:=$(call AutoLoad,32,ipip)
279 define KernelPackage/ipip/description
280 Kernel modules for IP-in-IP encapsulation
283 $(eval $(call KernelPackage,ipip))
292 define KernelPackage/ipsec
293 SUBMENU:=$(NETWORK_SUPPORT_MENU)
294 TITLE:=IPsec related modules (IPv4 and IPv6)
295 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
301 FILES:=$(foreach mod,$(IPSEC-m),$(LINUX_DIR)/net/$(mod).ko)
302 AUTOLOAD:=$(call AutoLoad,30,$(notdir $(IPSEC-m)))
305 define KernelPackage/ipsec/description
306 Kernel modules for IPsec support in both IPv4 and IPv6.
314 $(eval $(call KernelPackage,ipsec))
320 ipv4/xfrm4_mode_beet \
321 ipv4/xfrm4_mode_transport \
322 ipv4/xfrm4_mode_tunnel \
326 define KernelPackage/ipsec4
327 SUBMENU:=$(NETWORK_SUPPORT_MENU)
328 TITLE:=IPsec related modules (IPv4)
329 DEPENDS:=kmod-ipsec +kmod-iptunnel4
334 CONFIG_INET_XFRM_MODE_BEET \
335 CONFIG_INET_XFRM_MODE_TRANSPORT \
336 CONFIG_INET_XFRM_MODE_TUNNEL \
337 CONFIG_INET_XFRM_TUNNEL
338 FILES:=$(foreach mod,$(IPSEC4-m),$(LINUX_DIR)/net/$(mod).ko)
339 AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC4-m)))
342 define KernelPackage/ipsec4/description
343 Kernel modules for IPsec support in IPv4.
349 - xfrm4_mode_transport
354 $(eval $(call KernelPackage,ipsec4))
360 ipv6/xfrm6_mode_beet \
361 ipv6/xfrm6_mode_transport \
362 ipv6/xfrm6_mode_tunnel \
366 define KernelPackage/ipsec6
367 SUBMENU:=$(NETWORK_SUPPORT_MENU)
368 TITLE:=IPsec related modules (IPv6)
369 DEPENDS:=kmod-ipsec +kmod-iptunnel6
373 CONFIG_INET6_IPCOMP \
374 CONFIG_INET6_XFRM_MODE_BEET \
375 CONFIG_INET6_XFRM_MODE_TRANSPORT \
376 CONFIG_INET6_XFRM_MODE_TUNNEL \
377 CONFIG_INET6_XFRM_TUNNEL
378 FILES:=$(foreach mod,$(IPSEC6-m),$(LINUX_DIR)/net/$(mod).ko)
379 AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC6-m)))
382 define KernelPackage/ipsec6/description
383 Kernel modules for IPsec support in IPv6.
389 - xfrm6_mode_transport
394 $(eval $(call KernelPackage,ipsec6))
397 define KernelPackage/iptunnel
398 SUBMENU:=$(NETWORK_SUPPORT_MENU)
399 TITLE:=IP tunnel support
403 FILES:=$(LINUX_DIR)/net/ipv4/ip_tunnel.ko
404 AUTOLOAD:=$(call AutoLoad,31,ip_tunnel)
407 define KernelPackage/iptunnel/description
408 Kernel module for generic IP tunnel support
411 $(eval $(call KernelPackage,iptunnel))
414 define KernelPackage/ip-vti
415 SUBMENU:=$(NETWORK_SUPPORT_MENU)
416 TITLE:=IP VTI (Virtual Tunnel Interface)
417 DEPENDS:=+kmod-iptunnel +kmod-iptunnel4 +kmod-ipsec4
418 KCONFIG:=CONFIG_NET_IPVTI
419 FILES:=$(LINUX_DIR)/net/ipv4/ip_vti.ko
420 AUTOLOAD:=$(call AutoLoad,33,ip_vti)
423 define KernelPackage/ip-vti/description
424 Kernel modules for IP VTI (Virtual Tunnel Interface)
427 $(eval $(call KernelPackage,ip-vti))
430 define KernelPackage/ip6-vti
431 SUBMENU:=$(NETWORK_SUPPORT_MENU)
432 TITLE:=IPv6 VTI (Virtual Tunnel Interface)
433 DEPENDS:=+kmod-iptunnel +kmod-ip6-tunnel +kmod-ipsec6
434 KCONFIG:=CONFIG_IPV6_VTI
435 FILES:=$(LINUX_DIR)/net/ipv6/ip6_vti.ko
436 AUTOLOAD:=$(call AutoLoad,33,ip6_vti)
439 define KernelPackage/ip6-vti/description
440 Kernel modules for IPv6 VTI (Virtual Tunnel Interface)
443 $(eval $(call KernelPackage,ip6-vti))
446 define KernelPackage/iptunnel4
447 SUBMENU:=$(NETWORK_SUPPORT_MENU)
448 TITLE:=IPv4 tunneling
453 FILES:=$(LINUX_DIR)/net/ipv4/tunnel4.ko
454 AUTOLOAD:=$(call AutoLoad,31,tunnel4)
457 define KernelPackage/iptunnel4/description
458 Kernel modules for IPv4 tunneling
461 $(eval $(call KernelPackage,iptunnel4))
464 define KernelPackage/iptunnel6
465 SUBMENU:=$(NETWORK_SUPPORT_MENU)
466 TITLE:=IPv6 tunneling
470 FILES:=$(LINUX_DIR)/net/ipv6/tunnel6.ko
471 AUTOLOAD:=$(call AutoLoad,31,tunnel6)
474 define KernelPackage/iptunnel6/description
475 Kernel modules for IPv6 tunneling
478 $(eval $(call KernelPackage,iptunnel6))
481 define KernelPackage/sit
482 SUBMENU:=$(NETWORK_SUPPORT_MENU)
483 DEPENDS:=@IPV6 +kmod-iptunnel +kmod-iptunnel4
484 TITLE:=IPv6-in-IPv4 tunnel
485 KCONFIG:=CONFIG_IPV6_SIT \
486 CONFIG_IPV6_SIT_6RD=y
487 FILES:=$(LINUX_DIR)/net/ipv6/sit.ko
488 AUTOLOAD:=$(call AutoLoad,32,sit)
491 define KernelPackage/sit/description
492 Kernel modules for IPv6-in-IPv4 tunnelling
495 $(eval $(call KernelPackage,sit))
498 define KernelPackage/ip6-tunnel
499 SUBMENU:=$(NETWORK_SUPPORT_MENU)
500 TITLE:=IP-in-IPv6 tunnelling
501 DEPENDS:=@IPV6 +kmod-iptunnel6
502 KCONFIG:= CONFIG_IPV6_TUNNEL
503 FILES:=$(LINUX_DIR)/net/ipv6/ip6_tunnel.ko
504 AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
507 define KernelPackage/ip6-tunnel/description
508 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
511 $(eval $(call KernelPackage,ip6-tunnel))
514 define KernelPackage/gre
515 SUBMENU:=$(NETWORK_SUPPORT_MENU)
517 DEPENDS:=+kmod-iptunnel
518 KCONFIG:=CONFIG_NET_IPGRE CONFIG_NET_IPGRE_DEMUX
519 FILES:=$(LINUX_DIR)/net/ipv4/ip_gre.ko $(LINUX_DIR)/net/ipv4/gre.ko
520 AUTOLOAD:=$(call AutoLoad,39,gre ip_gre)
523 define KernelPackage/gre/description
524 Generic Routing Encapsulation support
527 $(eval $(call KernelPackage,gre))
530 define KernelPackage/gre6
531 SUBMENU:=$(NETWORK_SUPPORT_MENU)
532 TITLE:=GRE support over IPV6
533 DEPENDS:=@IPV6 +kmod-iptunnel +kmod-ip6-tunnel
534 KCONFIG:=CONFIG_IPV6_GRE
535 FILES:=$(LINUX_DIR)/net/ipv6/ip6_gre.ko
536 AUTOLOAD:=$(call AutoLoad,39,ip6_gre)
539 define KernelPackage/gre6/description
540 Generic Routing Encapsulation support over IPv6
543 $(eval $(call KernelPackage,gre6))
546 define KernelPackage/tun
547 SUBMENU:=$(NETWORK_SUPPORT_MENU)
548 TITLE:=Universal TUN/TAP driver
550 FILES:=$(LINUX_DIR)/drivers/net/tun.ko
551 AUTOLOAD:=$(call AutoLoad,30,tun)
554 define KernelPackage/tun/description
555 Kernel support for the TUN/TAP tunneling device
558 $(eval $(call KernelPackage,tun))
561 define KernelPackage/veth
562 SUBMENU:=$(NETWORK_SUPPORT_MENU)
563 TITLE:=Virtual ethernet pair device
565 FILES:=$(LINUX_DIR)/drivers/net/veth.ko
566 AUTOLOAD:=$(call AutoLoad,30,veth)
569 define KernelPackage/veth/description
570 This device is a local ethernet tunnel. Devices are created in pairs.
571 When one end receives the packet it appears on its pair and vice
575 $(eval $(call KernelPackage,veth))
578 define KernelPackage/slhc
579 SUBMENU:=$(NETWORK_SUPPORT_MENU)
581 TITLE:=Serial Line Header Compression
582 DEPENDS:=+kmod-lib-crc-ccitt
584 FILES:=$(LINUX_DIR)/drivers/net/slip/slhc.ko
587 $(eval $(call KernelPackage,slhc))
590 define KernelPackage/ppp
591 SUBMENU:=$(NETWORK_SUPPORT_MENU)
593 DEPENDS:=+kmod-lib-crc-ccitt +kmod-slhc
598 $(LINUX_DIR)/drivers/net/ppp/ppp_async.ko \
599 $(LINUX_DIR)/drivers/net/ppp/ppp_generic.ko
600 AUTOLOAD:=$(call AutoProbe,ppp_async)
603 define KernelPackage/ppp/description
604 Kernel modules for PPP support
607 $(eval $(call KernelPackage,ppp))
610 define KernelPackage/ppp-synctty
611 SUBMENU:=$(NETWORK_SUPPORT_MENU)
612 TITLE:=PPP sync tty support
614 KCONFIG:=CONFIG_PPP_SYNC_TTY
615 FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_synctty.ko
616 AUTOLOAD:=$(call AutoProbe,ppp_synctty)
619 define KernelPackage/ppp-synctty/description
620 Kernel modules for PPP sync tty support
623 $(eval $(call KernelPackage,ppp-synctty))
626 define KernelPackage/pppox
627 SUBMENU:=$(NETWORK_SUPPORT_MENU)
630 KCONFIG:=CONFIG_PPPOE
631 FILES:=$(LINUX_DIR)/drivers/net/ppp/pppox.ko
634 define KernelPackage/pppox/description
635 Kernel helper module for PPPoE and PPTP support
638 $(eval $(call KernelPackage,pppox))
641 define KernelPackage/pppoe
642 SUBMENU:=$(NETWORK_SUPPORT_MENU)
644 DEPENDS:=kmod-ppp +kmod-pppox
645 KCONFIG:=CONFIG_PPPOE
646 FILES:=$(LINUX_DIR)/drivers/net/ppp/pppoe.ko
647 AUTOLOAD:=$(call AutoProbe,pppoe)
650 define KernelPackage/pppoe/description
651 Kernel module for PPPoE (PPP over Ethernet) support
654 $(eval $(call KernelPackage,pppoe))
657 define KernelPackage/pppoa
658 SUBMENU:=$(NETWORK_SUPPORT_MENU)
660 DEPENDS:=kmod-ppp +kmod-atm
661 KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
662 FILES:=$(LINUX_DIR)/net/atm/pppoatm.ko
663 AUTOLOAD:=$(call AutoLoad,40,pppoatm)
666 define KernelPackage/pppoa/description
667 Kernel modules for PPPoA (PPP over ATM) support
670 $(eval $(call KernelPackage,pppoa))
673 define KernelPackage/pptp
674 SUBMENU:=$(NETWORK_SUPPORT_MENU)
676 DEPENDS:=kmod-ppp +kmod-gre +kmod-pppox
678 FILES:=$(LINUX_DIR)/drivers/net/ppp/pptp.ko
679 AUTOLOAD:=$(call AutoProbe,pptp)
682 $(eval $(call KernelPackage,pptp))
685 define KernelPackage/pppol2tp
686 SUBMENU:=$(NETWORK_SUPPORT_MENU)
687 TITLE:=PPPoL2TP support
688 DEPENDS:=kmod-ppp +kmod-pppox +kmod-l2tp
689 KCONFIG:=CONFIG_PPPOL2TP
690 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.ko
691 AUTOLOAD:=$(call AutoProbe,l2tp_ppp)
694 define KernelPackage/pppol2tp/description
695 Kernel modules for PPPoL2TP (PPP over L2TP) support
698 $(eval $(call KernelPackage,pppol2tp))
701 define KernelPackage/ipoa
702 SUBMENU:=$(NETWORK_SUPPORT_MENU)
705 KCONFIG:=CONFIG_ATM_CLIP
706 FILES:=$(LINUX_DIR)/net/atm/clip.ko
707 AUTOLOAD:=$(call AutoProbe,clip)
710 define KernelPackage/ipoa/description
711 Kernel modules for IPoA (IP over ATM) support
714 $(eval $(call KernelPackage,ipoa))
717 define KernelPackage/mppe
718 SUBMENU:=$(NETWORK_SUPPORT_MENU)
719 TITLE:=Microsoft PPP compression/encryption
720 DEPENDS:=kmod-ppp +kmod-crypto-sha1 +kmod-crypto-ecb
722 CONFIG_PPP_MPPE_MPPC \
724 FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_mppe.ko
725 AUTOLOAD:=$(call AutoProbe,ppp_mppe)
728 define KernelPackage/mppe/description
729 Kernel modules for Microsoft PPP compression/encryption
732 $(eval $(call KernelPackage,mppe))
735 SCHED_MODULES = $(patsubst $(LINUX_DIR)/net/sched/%.ko,%,$(wildcard $(LINUX_DIR)/net/sched/*.ko))
736 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
737 SCHED_MODULES_FILTER = $(SCHED_MODULES_CORE) act_connmark sch_netem
738 SCHED_MODULES_EXTRA = $(filter-out $(SCHED_MODULES_FILTER),$(SCHED_MODULES))
739 SCHED_FILES = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(filter $(SCHED_MODULES_CORE),$(SCHED_MODULES)))
740 SCHED_FILES_EXTRA = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(SCHED_MODULES_EXTRA))
742 define KernelPackage/sched-core
743 SUBMENU:=$(NETWORK_SUPPORT_MENU)
744 TITLE:=Traffic schedulers
747 CONFIG_NET_SCH_HFSC \
748 CONFIG_NET_SCH_INGRESS \
749 CONFIG_NET_SCH_FQ_CODEL \
751 CONFIG_NET_CLS_ACT=y \
752 CONFIG_NET_CLS_FLOW \
754 CONFIG_NET_CLS_ROUTE4 \
755 CONFIG_NET_CLS_TCINDEX \
757 CONFIG_NET_ACT_MIRRED \
758 CONFIG_NET_ACT_SKBEDIT \
759 CONFIG_NET_EMATCH=y \
760 CONFIG_NET_EMATCH_U32
761 FILES:=$(SCHED_FILES)
762 AUTOLOAD:=$(call AutoLoad,70, $(SCHED_MODULES_CORE))
765 define KernelPackage/sched-core/description
766 Core kernel scheduler support for IP traffic
769 $(eval $(call KernelPackage,sched-core))
772 define KernelPackage/sched-connmark
773 SUBMENU:=$(NETWORK_SUPPORT_MENU)
774 TITLE:=Traffic shaper conntrack mark support
775 DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
776 KCONFIG:=CONFIG_NET_ACT_CONNMARK
777 FILES:=$(LINUX_DIR)/net/sched/act_connmark.ko
778 AUTOLOAD:=$(call AutoLoad,71, act_connmark)
780 $(eval $(call KernelPackage,sched-connmark))
782 define KernelPackage/sched
783 SUBMENU:=$(NETWORK_SUPPORT_MENU)
784 TITLE:=Extra traffic schedulers
785 DEPENDS:=+kmod-sched-core +kmod-ipt-core
787 CONFIG_NET_SCH_CODEL \
788 CONFIG_NET_SCH_DSMARK \
790 CONFIG_NET_SCH_FIFO \
791 CONFIG_NET_SCH_GRED \
792 CONFIG_NET_SCH_PRIO \
796 CONFIG_NET_SCH_TEQL \
799 CONFIG_NET_CLS_BASIC \
800 CONFIG_NET_ACT_POLICE \
802 CONFIG_NET_EMATCH_CMP \
803 CONFIG_NET_EMATCH_NBYTE \
804 CONFIG_NET_EMATCH_META \
805 CONFIG_NET_EMATCH_TEXT
806 FILES:=$(SCHED_FILES_EXTRA)
807 AUTOLOAD:=$(call AutoLoad,73, $(SCHED_MODULES_EXTRA))
810 define KernelPackage/sched/description
811 Extra kernel schedulers modules for IP traffic
814 $(eval $(call KernelPackage,sched))
817 define KernelPackage/ax25
818 SUBMENU:=$(NETWORK_SUPPORT_MENU)
820 DEPENDS:=+kmod-lib-crc16
826 $(LINUX_DIR)/net/ax25/ax25.ko \
827 $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
828 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
831 define KernelPackage/ax25/description
832 Kernel modules for AX25 support
835 $(eval $(call KernelPackage,ax25))
838 define KernelPackage/pktgen
839 SUBMENU:=$(NETWORK_SUPPORT_MENU)
840 DEPENDS:=@!TARGET_uml
841 TITLE:=Network packet generator
842 KCONFIG:=CONFIG_NET_PKTGEN
843 FILES:=$(LINUX_DIR)/net/core/pktgen.ko
844 AUTOLOAD:=$(call AutoLoad,99,pktgen)
847 define KernelPackage/pktgen/description
848 Kernel modules for the Network Packet Generator
851 $(eval $(call KernelPackage,pktgen))
853 define KernelPackage/l2tp
854 SUBMENU:=$(NETWORK_SUPPORT_MENU)
855 TITLE:=Layer Two Tunneling Protocol (L2TP)
858 +IPV6:kmod-udptunnel6
859 KCONFIG:=CONFIG_L2TP \
861 CONFIG_L2TP_DEBUGFS=n
862 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.ko \
863 $(LINUX_DIR)/net/l2tp/l2tp_netlink.ko
864 AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink)
867 define KernelPackage/l2tp/description
868 Kernel modules for L2TP V3 Support
871 $(eval $(call KernelPackage,l2tp))
874 define KernelPackage/l2tp-eth
875 SUBMENU:=$(NETWORK_SUPPORT_MENU)
876 TITLE:=L2TP ethernet pseudowire support for L2TPv3
878 KCONFIG:=CONFIG_L2TP_ETH
879 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.ko
880 AUTOLOAD:=$(call AutoLoad,33,l2tp_eth)
883 define KernelPackage/l2tp-eth/description
884 Kernel modules for L2TP ethernet pseudowire support for L2TPv3
887 $(eval $(call KernelPackage,l2tp-eth))
889 define KernelPackage/l2tp-ip
890 SUBMENU:=$(NETWORK_SUPPORT_MENU)
891 TITLE:=L2TP IP encapsulation for L2TPv3
893 KCONFIG:=CONFIG_L2TP_IP
895 $(LINUX_DIR)/net/l2tp/l2tp_ip.ko \
896 $(if $(CONFIG_IPV6),$(LINUX_DIR)/net/l2tp/l2tp_ip6.ko)
897 AUTOLOAD:=$(call AutoLoad,33,l2tp_ip $(if $(CONFIG_IPV6),l2tp_ip6))
900 define KernelPackage/l2tp-ip/description
901 Kernel modules for L2TP IP encapsulation for L2TPv3
904 $(eval $(call KernelPackage,l2tp-ip))
907 define KernelPackage/sctp
908 SUBMENU:=$(NETWORK_SUPPORT_MENU)
909 TITLE:=SCTP protocol kernel support
912 CONFIG_SCTP_DBG_MSG=n \
913 CONFIG_SCTP_DBG_OBJCNT=n \
914 CONFIG_SCTP_HMAC_NONE=n \
915 CONFIG_SCTP_HMAC_SHA1=n \
916 CONFIG_SCTP_HMAC_MD5=y \
917 CONFIG_SCTP_COOKIE_HMAC_SHA1=n \
918 CONFIG_SCTP_COOKIE_HMAC_MD5=y \
919 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE=n \
920 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=n \
921 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
922 FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
923 AUTOLOAD:= $(call AutoLoad,32,sctp)
924 DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac
927 define KernelPackage/sctp/description
928 Kernel modules for SCTP protocol support
931 $(eval $(call KernelPackage,sctp))
934 define KernelPackage/netem
935 SUBMENU:=$(NETWORK_SUPPORT_MENU)
936 TITLE:=Network emulation functionality
938 KCONFIG:=CONFIG_NET_SCH_NETEM
939 FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko
940 AUTOLOAD:=$(call AutoLoad,99,netem)
943 define KernelPackage/netem/description
944 Kernel modules for emulating the properties of wide area networks
947 $(eval $(call KernelPackage,netem))
949 define KernelPackage/slip
950 SUBMENU:=$(NETWORK_SUPPORT_MENU)
955 CONFIG_SLIP_COMPRESSED=y \
956 CONFIG_SLIP_SMART=y \
957 CONFIG_SLIP_MODE_SLIP6=y
960 $(LINUX_DIR)/drivers/net/slip/slip.ko
961 AUTOLOAD:=$(call AutoLoad,30,slip)
964 define KernelPackage/slip/description
965 Kernel modules for SLIP support
968 $(eval $(call KernelPackage,slip))
970 define KernelPackage/dnsresolver
971 SUBMENU:=$(NETWORK_SUPPORT_MENU)
972 TITLE:=In-kernel DNS Resolver
973 KCONFIG:= CONFIG_DNS_RESOLVER
974 FILES:=$(LINUX_DIR)/net/dns_resolver/dns_resolver.ko
975 AUTOLOAD:=$(call AutoLoad,30,dns_resolver)
978 $(eval $(call KernelPackage,dnsresolver))
980 define KernelPackage/rxrpc
981 SUBMENU:=$(NETWORK_SUPPORT_MENU)
982 TITLE:=AF_RXRPC support
987 CONFIG_AF_RXRPC_DEBUG=n
989 $(LINUX_DIR)/net/rxrpc/af-rxrpc.ko \
990 $(LINUX_DIR)/net/rxrpc/rxkad.ko
991 AUTOLOAD:=$(call AutoLoad,30,rxkad af-rxrpc)
992 DEPENDS:= +kmod-crypto-manager +kmod-crypto-pcbc +kmod-crypto-fcrypt
995 define KernelPackage/rxrpc/description
996 Kernel support for AF_RXRPC; required for AFS client
999 $(eval $(call KernelPackage,rxrpc))
1001 define KernelPackage/mpls
1002 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1004 DEPENDS:=@!(LINUX_3_18||LINUX_4_1)
1008 CONFIG_NET_MPLS_GSO=m \
1009 CONFIG_MPLS_ROUTING=m \
1010 CONFIG_MPLS_IPTUNNEL=m
1012 $(LINUX_DIR)/net/mpls/mpls_gso.ko \
1013 $(LINUX_DIR)/net/mpls/mpls_iptunnel.ko \
1014 $(LINUX_DIR)/net/mpls/mpls_router.ko
1015 AUTOLOAD:=$(call AutoLoad,30,mpls_router mpls_iptunnel mpls_gso)
1018 define KernelPackage/mpls/description
1019 Kernel support for MPLS
1022 $(eval $(call KernelPackage,mpls))
1024 define KernelPackage/9pnet
1025 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1026 TITLE:=Plan 9 Resource Sharing Support (9P2000)
1027 DEPENDS:=@VIRTIO_SUPPORT
1030 CONFIG_NET_9P_DEBUG=n \
1031 CONFIG_NET_9P_VIRTIO
1033 $(LINUX_DIR)/net/9p/9pnet.ko \
1034 $(LINUX_DIR)/net/9p/9pnet_virtio.ko
1035 AUTOLOAD:=$(call AutoLoad,29,9pnet 9pnet_virtio)
1038 define KernelPackage/9pnet/description
1039 Kernel support support for
1040 Plan 9 resource sharing via the 9P2000 protocol.
1043 $(eval $(call KernelPackage,9pnet))
1046 define KernelPackage/nlmon
1047 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1048 TITLE:=Virtual netlink monitoring device
1049 KCONFIG:=CONFIG_NLMON
1050 FILES:=$(LINUX_DIR)/drivers/net/nlmon.ko
1051 AUTOLOAD:=$(call AutoProbe,nlmon)
1054 define KernelPackage/nlmon/description
1055 Kernel module which adds a monitoring device for netlink.
1058 $(eval $(call KernelPackage,nlmon))