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