netsupport: add kmod-nsh
[oweals/openwrt.git] / package / kernel / linux / modules / netsupport.mk
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
8 NETWORK_SUPPORT_MENU:=Network Support
9
10 define 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)
20 endef
21
22 define KernelPackage/atm/description
23  Kernel modules for ATM support
24 endef
25
26 $(eval $(call KernelPackage,atm))
27
28
29 define 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)
36 endef
37
38 define KernelPackage/atmtcp/description
39  Kernel module for ATM over TCP support
40 endef
41
42 $(eval $(call KernelPackage,atmtcp))
43
44
45 define KernelPackage/bonding
46   SUBMENU:=$(NETWORK_SUPPORT_MENU)
47   TITLE:=Ethernet bonding driver
48   KCONFIG:=CONFIG_BONDING
49   FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.ko
50   AUTOLOAD:=$(call AutoLoad,40,bonding)
51 endef
52
53 define KernelPackage/bonding/description
54  Kernel module for NIC bonding.
55 endef
56
57 $(eval $(call KernelPackage,bonding))
58
59
60 define KernelPackage/udptunnel4
61   SUBMENU:=$(NETWORK_SUPPORT_MENU)
62   TITLE:=IPv4 UDP tunneling support
63   KCONFIG:= \
64         CONFIG_NET_UDP_TUNNEL \
65         CONFIG_VXLAN=m
66   HIDDEN:=1
67   FILES:=$(LINUX_DIR)/net/ipv4/udp_tunnel.ko
68   AUTOLOAD:=$(call AutoLoad,32,udp_tunnel)
69 endef
70
71
72 $(eval $(call KernelPackage,udptunnel4))
73
74 define KernelPackage/udptunnel6
75   SUBMENU:=$(NETWORK_SUPPORT_MENU)
76   TITLE:=IPv6 UDP tunneling support
77   DEPENDS:=@IPV6
78   KCONFIG:= \
79         CONFIG_NET_UDP_TUNNEL \
80         CONFIG_VXLAN=m
81   HIDDEN:=1
82   FILES:=$(LINUX_DIR)/net/ipv6/ip6_udp_tunnel.ko
83   AUTOLOAD:=$(call AutoLoad,32,ip6_udp_tunnel)
84 endef
85
86 $(eval $(call KernelPackage,udptunnel6))
87
88
89 define KernelPackage/vxlan
90   SUBMENU:=$(NETWORK_SUPPORT_MENU)
91   TITLE:=Native VXLAN Kernel support
92   DEPENDS:= \
93         +kmod-iptunnel \
94         +kmod-udptunnel4 \
95         +IPV6:kmod-udptunnel6
96   KCONFIG:=CONFIG_VXLAN
97   FILES:=$(LINUX_DIR)/drivers/net/vxlan.ko
98   AUTOLOAD:=$(call AutoLoad,13,vxlan)
99 endef
100
101 define KernelPackage/vxlan/description
102  Kernel module for supporting VXLAN in the Kernel.
103  Requires Kernel 3.12 or newer.
104 endef
105
106 $(eval $(call KernelPackage,vxlan))
107
108
109 define KernelPackage/geneve
110   SUBMENU:=$(NETWORK_SUPPORT_MENU)
111   TITLE:=Generic Network Virtualization Encapsulation (Geneve) support
112   DEPENDS:= \
113         +kmod-iptunnel \
114         +kmod-udptunnel4 \
115         +IPV6:kmod-udptunnel6
116   KCONFIG:=CONFIG_GENEVE
117   FILES:= \
118         $(LINUX_DIR)/net/ipv4/geneve.ko@le4.1 \
119         $(LINUX_DIR)/drivers/net/geneve.ko@ge4.2
120   AUTOLOAD:=$(call AutoLoad,13,geneve)
121 endef
122
123 define KernelPackage/geneve/description
124  Kernel module for supporting Geneve in the Kernel.
125  Requires Kernel 3.18 or newer.
126 endef
127
128 $(eval $(call KernelPackage,geneve))
129
130
131 define KernelPackage/nsh
132   SUBMENU:=$(NETWORK_SUPPORT_MENU)
133   TITLE:=Network Service Header (NSH) protocol
134   DEPENDS:=
135   KCONFIG:=CONFIG_NET_NSH
136   FILES:=$(LINUX_DIR)/net/nsh/nsh.ko@ge4.14
137   AUTOLOAD:=$(call AutoLoad,13,nsh)
138 endef
139
140 define KernelPackage/nsh/description
141   Network Service Header is an implementation of Service Function
142   Chaining (RFC 7665).  Requires kernel 4.14 or newer
143 endef
144
145 $(eval $(call KernelPackage,nsh))
146
147
148 define KernelPackage/capi
149   SUBMENU:=$(NETWORK_SUPPORT_MENU)
150   TITLE:=CAPI (ISDN) Support
151   KCONFIG:= \
152         CONFIG_ISDN_CAPI \
153         CONFIG_ISDN_CAPI_CAPI20 \
154         CONFIG_ISDN_CAPIFS \
155         CONFIG_ISDN_CAPI_CAPIFS
156   FILES:= \
157         $(LINUX_DIR)/drivers/isdn/capi/kernelcapi.ko \
158         $(LINUX_DIR)/drivers/isdn/capi/capi.ko
159   AUTOLOAD:=$(call AutoLoad,30,kernelcapi capi)
160 endef
161
162 define KernelPackage/capi/description
163  Kernel module for basic CAPI (ISDN) support
164 endef
165
166 $(eval $(call KernelPackage,capi))
167
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
183 define KernelPackage/misdn/description
184   Modular ISDN driver support
185 endef
186
187 $(eval $(call KernelPackage,misdn))
188
189
190 define KernelPackage/isdn4linux
191   SUBMENU:=$(NETWORK_SUPPORT_MENU)
192   TITLE:=Old ISDN4Linux (deprecated)
193   DEPENDS:=+kmod-ppp
194   KCONFIG:= \
195         CONFIG_ISDN=y \
196     CONFIG_ISDN_I4L \
197     CONFIG_ISDN_PPP=y \
198     CONFIG_ISDN_PPP_VJ=y \
199     CONFIG_ISDN_MPP=y \
200     CONFIG_IPPP_FILTER=y \
201     CONFIG_ISDN_PPP_BSDCOMP \
202     CONFIG_ISDN_CAPI_MIDDLEWARE=y \
203     CONFIG_ISDN_CAPI_CAPIFS_BOOL=y \
204     CONFIG_ISDN_AUDIO=y \
205     CONFIG_ISDN_TTY_FAX=y \
206     CONFIG_ISDN_X25=y \
207     CONFIG_ISDN_DIVERSION
208   FILES:= \
209     $(LINUX_DIR)/drivers/isdn/divert/dss1_divert.ko \
210         $(LINUX_DIR)/drivers/isdn/i4l/isdn.ko \
211         $(LINUX_DIR)/drivers/isdn/i4l/isdn_bsdcomp.ko
212   AUTOLOAD:=$(call AutoLoad,40,isdn isdn_bsdcomp dss1_divert)
213 endef
214
215 define KernelPackage/isdn4linux/description
216   This driver allows you to use an ISDN adapter for networking
217 endef
218
219 $(eval $(call KernelPackage,isdn4linux))
220
221
222 define KernelPackage/ipip
223   SUBMENU:=$(NETWORK_SUPPORT_MENU)
224   TITLE:=IP-in-IP encapsulation
225   DEPENDS:=+kmod-iptunnel +kmod-iptunnel4
226   KCONFIG:=CONFIG_NET_IPIP
227   FILES:=$(LINUX_DIR)/net/ipv4/ipip.ko
228   AUTOLOAD:=$(call AutoLoad,32,ipip)
229 endef
230
231 define KernelPackage/ipip/description
232  Kernel modules for IP-in-IP encapsulation
233 endef
234
235 $(eval $(call KernelPackage,ipip))
236
237
238 IPSEC-m:= \
239         xfrm/xfrm_algo \
240         xfrm/xfrm_ipcomp \
241         xfrm/xfrm_user \
242         key/af_key \
243
244 define KernelPackage/ipsec
245   SUBMENU:=$(NETWORK_SUPPORT_MENU)
246   TITLE:=IPsec related modules (IPv4 and IPv6)
247   DEPENDS:= \
248         +kmod-crypto-authenc +kmod-crypto-cbc +kmod-crypto-deflate \
249         +kmod-crypto-des +kmod-crypto-echainiv +kmod-crypto-hmac \
250         +kmod-crypto-iv +kmod-crypto-md5 +kmod-crypto-sha1
251   KCONFIG:= \
252         CONFIG_NET_KEY \
253         CONFIG_XFRM_USER \
254         CONFIG_INET_IPCOMP \
255         CONFIG_XFRM_IPCOMP
256   FILES:=$(foreach mod,$(IPSEC-m),$(LINUX_DIR)/net/$(mod).ko)
257   AUTOLOAD:=$(call AutoLoad,30,$(notdir $(IPSEC-m)))
258 endef
259
260 define KernelPackage/ipsec/description
261  Kernel modules for IPsec support in both IPv4 and IPv6.
262  Includes:
263  - af_key
264  - xfrm_algo
265  - xfrm_ipcomp
266  - xfrm_user
267 endef
268
269 $(eval $(call KernelPackage,ipsec))
270
271
272 IPSEC4-m:= \
273         ipv4/ah4 \
274         ipv4/esp4 \
275         ipv4/xfrm4_mode_beet \
276         ipv4/xfrm4_mode_transport \
277         ipv4/xfrm4_mode_tunnel \
278         ipv4/xfrm4_tunnel \
279         ipv4/ipcomp \
280
281 define KernelPackage/ipsec4
282   SUBMENU:=$(NETWORK_SUPPORT_MENU)
283   TITLE:=IPsec related modules (IPv4)
284   DEPENDS:=kmod-ipsec +kmod-iptunnel4
285   KCONFIG:= \
286         CONFIG_INET_AH \
287         CONFIG_INET_ESP \
288         CONFIG_INET_IPCOMP \
289         CONFIG_INET_XFRM_MODE_BEET \
290         CONFIG_INET_XFRM_MODE_TRANSPORT \
291         CONFIG_INET_XFRM_MODE_TUNNEL \
292         CONFIG_INET_XFRM_TUNNEL \
293         CONFIG_INET_ESP_OFFLOAD=n
294   FILES:=$(foreach mod,$(IPSEC4-m),$(LINUX_DIR)/net/$(mod).ko)
295   AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC4-m)))
296 endef
297
298 define KernelPackage/ipsec4/description
299  Kernel modules for IPsec support in IPv4.
300  Includes:
301  - ah4
302  - esp4
303  - ipcomp4
304  - xfrm4_mode_beet
305  - xfrm4_mode_transport
306  - xfrm4_mode_tunnel
307  - xfrm4_tunnel
308 endef
309
310 $(eval $(call KernelPackage,ipsec4))
311
312
313 IPSEC6-m:= \
314         ipv6/ah6 \
315         ipv6/esp6 \
316         ipv6/xfrm6_mode_beet \
317         ipv6/xfrm6_mode_transport \
318         ipv6/xfrm6_mode_tunnel \
319         ipv6/xfrm6_tunnel \
320         ipv6/ipcomp6 \
321
322 define KernelPackage/ipsec6
323   SUBMENU:=$(NETWORK_SUPPORT_MENU)
324   TITLE:=IPsec related modules (IPv6)
325   DEPENDS:=kmod-ipsec +kmod-iptunnel6
326   KCONFIG:= \
327         CONFIG_INET6_AH \
328         CONFIG_INET6_ESP \
329         CONFIG_INET6_IPCOMP \
330         CONFIG_INET6_XFRM_MODE_BEET \
331         CONFIG_INET6_XFRM_MODE_TRANSPORT \
332         CONFIG_INET6_XFRM_MODE_TUNNEL \
333         CONFIG_INET6_XFRM_TUNNEL \
334         CONFIG_INET6_ESP_OFFLOAD=n
335   FILES:=$(foreach mod,$(IPSEC6-m),$(LINUX_DIR)/net/$(mod).ko)
336   AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC6-m)))
337 endef
338
339 define KernelPackage/ipsec6/description
340  Kernel modules for IPsec support in IPv6.
341  Includes:
342  - ah6
343  - esp6
344  - ipcomp6
345  - xfrm6_mode_beet
346  - xfrm6_mode_transport
347  - xfrm6_mode_tunnel
348  - xfrm6_tunnel
349 endef
350
351 $(eval $(call KernelPackage,ipsec6))
352
353
354 define KernelPackage/iptunnel
355   SUBMENU:=$(NETWORK_SUPPORT_MENU)
356   TITLE:=IP tunnel support
357   HIDDEN:=1
358   KCONFIG:= \
359         CONFIG_NET_IP_TUNNEL
360   FILES:=$(LINUX_DIR)/net/ipv4/ip_tunnel.ko
361   AUTOLOAD:=$(call AutoLoad,31,ip_tunnel)
362 endef
363
364 define KernelPackage/iptunnel/description
365  Kernel module for generic IP tunnel support
366 endef
367
368 $(eval $(call KernelPackage,iptunnel))
369
370
371 define KernelPackage/ip-vti
372   SUBMENU:=$(NETWORK_SUPPORT_MENU)
373   TITLE:=IP VTI (Virtual Tunnel Interface)
374   DEPENDS:=+kmod-iptunnel +kmod-iptunnel4 +kmod-ipsec4
375   KCONFIG:=CONFIG_NET_IPVTI
376   FILES:=$(LINUX_DIR)/net/ipv4/ip_vti.ko
377   AUTOLOAD:=$(call AutoLoad,33,ip_vti)
378 endef
379
380 define KernelPackage/ip-vti/description
381  Kernel modules for IP VTI (Virtual Tunnel Interface)
382 endef
383
384 $(eval $(call KernelPackage,ip-vti))
385
386
387 define KernelPackage/ip6-vti
388   SUBMENU:=$(NETWORK_SUPPORT_MENU)
389   TITLE:=IPv6 VTI (Virtual Tunnel Interface)
390   DEPENDS:=+kmod-iptunnel +kmod-ip6-tunnel +kmod-ipsec6
391   KCONFIG:=CONFIG_IPV6_VTI
392   FILES:=$(LINUX_DIR)/net/ipv6/ip6_vti.ko
393   AUTOLOAD:=$(call AutoLoad,33,ip6_vti)
394 endef
395
396 define KernelPackage/ip6-vti/description
397  Kernel modules for IPv6 VTI (Virtual Tunnel Interface)
398 endef
399
400 $(eval $(call KernelPackage,ip6-vti))
401
402
403 define KernelPackage/xfrm-interface
404   SUBMENU:=$(NETWORK_SUPPORT_MENU)
405   TITLE:=IPsec XFRM Interface
406   DEPENDS:=+kmod-ipsec4 +kmod-ipsec6 @!LINUX_4_14 @!LINUX_4_9
407   KCONFIG:=CONFIG_XFRM_INTERFACE
408   FILES:=$(LINUX_DIR)/net/xfrm/xfrm_interface.ko
409   AUTOLOAD:=$(call AutoProbe,xfrm_interface)
410 endef
411
412 define KernelPackage/xfrm-interface/description
413  Kernel module for XFRM interface support
414 endef
415
416 $(eval $(call KernelPackage,xfrm-interface))
417
418
419 define KernelPackage/iptunnel4
420   SUBMENU:=$(NETWORK_SUPPORT_MENU)
421   TITLE:=IPv4 tunneling
422   HIDDEN:=1
423   KCONFIG:= \
424         CONFIG_INET_TUNNEL \
425         CONFIG_NET_IPIP=m
426   FILES:=$(LINUX_DIR)/net/ipv4/tunnel4.ko
427   AUTOLOAD:=$(call AutoLoad,31,tunnel4)
428 endef
429
430 define KernelPackage/iptunnel4/description
431  Kernel modules for IPv4 tunneling
432 endef
433
434 $(eval $(call KernelPackage,iptunnel4))
435
436
437 define KernelPackage/iptunnel6
438   SUBMENU:=$(NETWORK_SUPPORT_MENU)
439   TITLE:=IPv6 tunneling
440   DEPENDS:=@IPV6
441   KCONFIG:= \
442         CONFIG_INET6_TUNNEL
443   FILES:=$(LINUX_DIR)/net/ipv6/tunnel6.ko
444   AUTOLOAD:=$(call AutoLoad,31,tunnel6)
445 endef
446
447 define KernelPackage/iptunnel6/description
448  Kernel modules for IPv6 tunneling
449 endef
450
451 $(eval $(call KernelPackage,iptunnel6))
452
453
454 define KernelPackage/sit
455   SUBMENU:=$(NETWORK_SUPPORT_MENU)
456   DEPENDS:=@IPV6 +kmod-iptunnel +kmod-iptunnel4
457   TITLE:=IPv6-in-IPv4 tunnel
458   KCONFIG:=CONFIG_IPV6_SIT \
459         CONFIG_IPV6_SIT_6RD=y
460   FILES:=$(LINUX_DIR)/net/ipv6/sit.ko
461   AUTOLOAD:=$(call AutoLoad,32,sit)
462 endef
463
464 define KernelPackage/sit/description
465  Kernel modules for IPv6-in-IPv4 tunnelling
466 endef
467
468 $(eval $(call KernelPackage,sit))
469
470
471 define KernelPackage/fou
472   SUBMENU:=$(NETWORK_SUPPORT_MENU)
473   TITLE:=FOU and GUE decapsulation
474   DEPENDS:= \
475         +kmod-iptunnel \
476         +kmod-udptunnel4 \
477         +IPV6:kmod-udptunnel6
478   KCONFIG:= \
479         CONFIG_NET_FOU \
480         CONFIG_NET_FOU_IP_TUNNELS=y
481   FILES:=$(LINUX_DIR)/net/ipv4/fou.ko
482   AUTOLOAD:=$(call AutoProbe,fou)
483 endef
484
485 define KernelPackage/fou/description
486  Kernel module for FOU (Foo over UDP) and GUE (Generic UDP Encapsulation) tunnelling.
487  Requires Kernel 3.18 or newer.
488 endef
489
490 $(eval $(call KernelPackage,fou))
491
492
493 define KernelPackage/fou6
494   SUBMENU:=$(NETWORK_SUPPORT_MENU)
495   TITLE:=FOU and GUE decapsulation over IPv6
496   DEPENDS:= @IPV6 \
497         +kmod-fou \
498         +kmod-ip6-tunnel
499   KCONFIG:= \
500         CONFIG_IPV6_FOU \
501         CONFIG_IPV6_FOU_TUNNEL
502   FILES:=$(LINUX_DIR)/net/ipv6/fou6.ko
503   AUTOLOAD:=$(call AutoProbe,fou6)
504 endef
505
506 define KernelPackage/fou6/description
507  Kernel module for FOU (Foo over UDP) and GUE (Generic UDP Encapsulation) tunnelling over IPv6.
508  Requires Kernel 3.18 or newer.
509 endef
510
511 $(eval $(call KernelPackage,fou6))
512
513
514 define KernelPackage/ip6-tunnel
515   SUBMENU:=$(NETWORK_SUPPORT_MENU)
516   TITLE:=IP-in-IPv6 tunnelling
517   DEPENDS:=@IPV6 +kmod-iptunnel6
518   KCONFIG:= CONFIG_IPV6_TUNNEL
519   FILES:=$(LINUX_DIR)/net/ipv6/ip6_tunnel.ko
520   AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
521 endef
522
523 define KernelPackage/ip6-tunnel/description
524  Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
525 endef
526
527 $(eval $(call KernelPackage,ip6-tunnel))
528
529
530 define KernelPackage/gre
531   SUBMENU:=$(NETWORK_SUPPORT_MENU)
532   TITLE:=GRE support
533   DEPENDS:=+kmod-iptunnel
534   KCONFIG:=CONFIG_NET_IPGRE CONFIG_NET_IPGRE_DEMUX
535   FILES:=$(LINUX_DIR)/net/ipv4/ip_gre.ko $(LINUX_DIR)/net/ipv4/gre.ko
536   AUTOLOAD:=$(call AutoLoad,39,gre ip_gre)
537 endef
538
539 define KernelPackage/gre/description
540  Generic Routing Encapsulation support
541 endef
542
543 $(eval $(call KernelPackage,gre))
544
545
546 define KernelPackage/gre6
547   SUBMENU:=$(NETWORK_SUPPORT_MENU)
548   TITLE:=GRE support over IPV6
549   DEPENDS:=@IPV6 +kmod-iptunnel +kmod-ip6-tunnel +kmod-gre
550   KCONFIG:=CONFIG_IPV6_GRE
551   FILES:=$(LINUX_DIR)/net/ipv6/ip6_gre.ko
552   AUTOLOAD:=$(call AutoLoad,39,ip6_gre)
553 endef
554
555 define KernelPackage/gre6/description
556  Generic Routing Encapsulation support over IPv6
557 endef
558
559 $(eval $(call KernelPackage,gre6))
560
561
562 define KernelPackage/tun
563   SUBMENU:=$(NETWORK_SUPPORT_MENU)
564   TITLE:=Universal TUN/TAP driver
565   KCONFIG:=CONFIG_TUN
566   FILES:=$(LINUX_DIR)/drivers/net/tun.ko
567   AUTOLOAD:=$(call AutoLoad,30,tun)
568 endef
569
570 define KernelPackage/tun/description
571  Kernel support for the TUN/TAP tunneling device
572 endef
573
574 $(eval $(call KernelPackage,tun))
575
576
577 define KernelPackage/veth
578   SUBMENU:=$(NETWORK_SUPPORT_MENU)
579   TITLE:=Virtual ethernet pair device
580   KCONFIG:=CONFIG_VETH
581   FILES:=$(LINUX_DIR)/drivers/net/veth.ko
582   AUTOLOAD:=$(call AutoLoad,30,veth)
583 endef
584
585 define KernelPackage/veth/description
586  This device is a local ethernet tunnel. Devices are created in pairs.
587  When one end receives the packet it appears on its pair and vice
588  versa.
589 endef
590
591 $(eval $(call KernelPackage,veth))
592
593
594 define KernelPackage/slhc
595   SUBMENU:=$(NETWORK_SUPPORT_MENU)
596   HIDDEN:=1
597   TITLE:=Serial Line Header Compression
598   DEPENDS:=+kmod-lib-crc-ccitt
599   KCONFIG:=CONFIG_SLHC
600   FILES:=$(LINUX_DIR)/drivers/net/slip/slhc.ko
601 endef
602
603 $(eval $(call KernelPackage,slhc))
604
605
606 define KernelPackage/ppp
607   SUBMENU:=$(NETWORK_SUPPORT_MENU)
608   TITLE:=PPP modules
609   DEPENDS:=+kmod-lib-crc-ccitt +kmod-slhc
610   KCONFIG:= \
611         CONFIG_PPP \
612         CONFIG_PPP_ASYNC
613   FILES:= \
614         $(LINUX_DIR)/drivers/net/ppp/ppp_async.ko \
615         $(LINUX_DIR)/drivers/net/ppp/ppp_generic.ko
616   AUTOLOAD:=$(call AutoProbe,ppp_async)
617 endef
618
619 define KernelPackage/ppp/description
620  Kernel modules for PPP support
621 endef
622
623 $(eval $(call KernelPackage,ppp))
624
625
626 define KernelPackage/ppp-synctty
627   SUBMENU:=$(NETWORK_SUPPORT_MENU)
628   TITLE:=PPP sync tty support
629   DEPENDS:=kmod-ppp
630   KCONFIG:=CONFIG_PPP_SYNC_TTY
631   FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_synctty.ko
632   AUTOLOAD:=$(call AutoProbe,ppp_synctty)
633 endef
634
635 define KernelPackage/ppp-synctty/description
636  Kernel modules for PPP sync tty support
637 endef
638
639 $(eval $(call KernelPackage,ppp-synctty))
640
641
642 define KernelPackage/pppox
643   SUBMENU:=$(NETWORK_SUPPORT_MENU)
644   TITLE:=PPPoX helper
645   DEPENDS:=kmod-ppp
646   KCONFIG:=CONFIG_PPPOE
647   FILES:=$(LINUX_DIR)/drivers/net/ppp/pppox.ko
648 endef
649
650 define KernelPackage/pppox/description
651  Kernel helper module for PPPoE and PPTP support
652 endef
653
654 $(eval $(call KernelPackage,pppox))
655
656
657 define KernelPackage/pppoe
658   SUBMENU:=$(NETWORK_SUPPORT_MENU)
659   TITLE:=PPPoE support
660   DEPENDS:=kmod-ppp +kmod-pppox
661   KCONFIG:=CONFIG_PPPOE
662   FILES:=$(LINUX_DIR)/drivers/net/ppp/pppoe.ko
663   AUTOLOAD:=$(call AutoProbe,pppoe)
664 endef
665
666 define KernelPackage/pppoe/description
667  Kernel module for PPPoE (PPP over Ethernet) support
668 endef
669
670 $(eval $(call KernelPackage,pppoe))
671
672
673 define KernelPackage/pppoa
674   SUBMENU:=$(NETWORK_SUPPORT_MENU)
675   TITLE:=PPPoA support
676   DEPENDS:=kmod-ppp +kmod-atm
677   KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
678   FILES:=$(LINUX_DIR)/net/atm/pppoatm.ko
679   AUTOLOAD:=$(call AutoLoad,40,pppoatm)
680 endef
681
682 define KernelPackage/pppoa/description
683  Kernel modules for PPPoA (PPP over ATM) support
684 endef
685
686 $(eval $(call KernelPackage,pppoa))
687
688
689 define KernelPackage/pptp
690   SUBMENU:=$(NETWORK_SUPPORT_MENU)
691   TITLE:=PPtP support
692   DEPENDS:=kmod-ppp +kmod-gre +kmod-pppox
693   KCONFIG:=CONFIG_PPTP
694   FILES:=$(LINUX_DIR)/drivers/net/ppp/pptp.ko
695   AUTOLOAD:=$(call AutoProbe,pptp)
696 endef
697
698 $(eval $(call KernelPackage,pptp))
699
700
701 define KernelPackage/pppol2tp
702   SUBMENU:=$(NETWORK_SUPPORT_MENU)
703   TITLE:=PPPoL2TP support
704   DEPENDS:=kmod-ppp +kmod-pppox +kmod-l2tp
705   KCONFIG:=CONFIG_PPPOL2TP
706   FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.ko
707   AUTOLOAD:=$(call AutoProbe,l2tp_ppp)
708 endef
709
710 define KernelPackage/pppol2tp/description
711   Kernel modules for PPPoL2TP (PPP over L2TP) support
712 endef
713
714 $(eval $(call KernelPackage,pppol2tp))
715
716
717 define KernelPackage/ipoa
718   SUBMENU:=$(NETWORK_SUPPORT_MENU)
719   TITLE:=IPoA support
720   DEPENDS:=kmod-atm
721   KCONFIG:=CONFIG_ATM_CLIP
722   FILES:=$(LINUX_DIR)/net/atm/clip.ko
723   AUTOLOAD:=$(call AutoProbe,clip)
724 endef
725
726 define KernelPackage/ipoa/description
727   Kernel modules for IPoA (IP over ATM) support
728 endef
729
730 $(eval $(call KernelPackage,ipoa))
731
732
733 define KernelPackage/mppe
734   SUBMENU:=$(NETWORK_SUPPORT_MENU)
735   TITLE:=Microsoft PPP compression/encryption
736   DEPENDS:=kmod-ppp +kmod-crypto-sha1 +kmod-crypto-ecb
737   KCONFIG:= \
738         CONFIG_PPP_MPPE_MPPC \
739         CONFIG_PPP_MPPE
740   FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_mppe.ko
741   AUTOLOAD:=$(call AutoProbe,ppp_mppe)
742 endef
743
744 define KernelPackage/mppe/description
745  Kernel modules for Microsoft PPP compression/encryption
746 endef
747
748 $(eval $(call KernelPackage,mppe))
749
750
751 SCHED_MODULES = $(patsubst $(LINUX_DIR)/net/sched/%.ko,%,$(wildcard $(LINUX_DIR)/net/sched/*.ko))
752 SCHED_MODULES_CORE = sch_ingress sch_fq_codel sch_hfsc sch_htb sch_tbf cls_basic cls_fw cls_route cls_flow cls_tcindex cls_u32 em_u32 act_mirred act_skbedit cls_matchall
753 SCHED_MODULES_FILTER = $(SCHED_MODULES_CORE) act_connmark act_ctinfo sch_netem em_ipset cls_bpf act_bpf
754 SCHED_MODULES_EXTRA = $(filter-out $(SCHED_MODULES_FILTER),$(SCHED_MODULES))
755 SCHED_FILES = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(filter $(SCHED_MODULES_CORE),$(SCHED_MODULES)))
756 SCHED_FILES_EXTRA = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(SCHED_MODULES_EXTRA))
757
758 define KernelPackage/sched-core
759   SUBMENU:=$(NETWORK_SUPPORT_MENU)
760   TITLE:=Traffic schedulers
761   KCONFIG:= \
762         CONFIG_NET_SCHED=y \
763         CONFIG_NET_SCH_HFSC \
764         CONFIG_NET_SCH_HTB \
765         CONFIG_NET_SCH_TBF \
766         CONFIG_NET_SCH_INGRESS \
767         CONFIG_NET_SCH_FQ_CODEL \
768         CONFIG_NET_CLS=y \
769         CONFIG_NET_CLS_ACT=y \
770         CONFIG_NET_CLS_BASIC \
771         CONFIG_NET_CLS_FLOW \
772         CONFIG_NET_CLS_FW \
773         CONFIG_NET_CLS_ROUTE4 \
774         CONFIG_NET_CLS_TCINDEX \
775         CONFIG_NET_CLS_U32 \
776         CONFIG_NET_ACT_MIRRED \
777         CONFIG_NET_ACT_SKBEDIT \
778         CONFIG_NET_CLS_MATCHALL \
779         CONFIG_NET_EMATCH=y \
780         CONFIG_NET_EMATCH_U32
781   FILES:=$(SCHED_FILES)
782   AUTOLOAD:=$(call AutoLoad,70, $(SCHED_MODULES_CORE))
783 endef
784
785 define KernelPackage/sched-core/description
786  Core kernel scheduler support for IP traffic
787 endef
788
789 $(eval $(call KernelPackage,sched-core))
790
791
792 define KernelPackage/sched-flower
793   SUBMENU:=$(NETWORK_SUPPORT_MENU)
794   TITLE:=Flower traffic classifier
795   DEPENDS:=+kmod-sched-core
796   KCONFIG:=CONFIG_NET_CLS_FLOWER
797   FILES:=$(LINUX_DIR)/net/sched/cls_flower.ko
798   AUTOLOAD:=$(call AutoProbe, cls_flower)
799 endef
800
801 define KernelPackage/sched-flower/description
802  Allows to classify packets based on a configurable combination of packet keys and masks.
803 endef
804
805 $(eval $(call KernelPackage,sched-flower))
806
807
808 define KernelPackage/sched-act-vlan
809   SUBMENU:=$(NETWORK_SUPPORT_MENU)
810   TITLE:=Traffic VLAN manipulation
811   DEPENDS:=+kmod-sched-core
812   KCONFIG:=CONFIG_NET_ACT_VLAN
813   FILES:=$(LINUX_DIR)/net/sched/act_vlan.ko
814   AUTOLOAD:=$(call AutoProbe, act_vlan)
815 endef
816
817 define KernelPackage/sched-act-vlan/description
818  Allows to configure rules to push or pop vlan headers.
819 endef
820
821 $(eval $(call KernelPackage,sched-act-vlan))
822
823
824 define KernelPackage/sched-mqprio
825   SUBMENU:=$(NETWORK_SUPPORT_MENU)
826   TITLE:=Multi-queue priority scheduler (MQPRIO)
827   DEPENDS:=+kmod-sched-core
828   KCONFIG:=CONFIG_NET_SCH_MQPRIO
829   FILES:=$(LINUX_DIR)/net/sched/sch_mqprio.ko
830   AUTOLOAD:=$(call AutoProbe, sch_mqprio)
831 endef
832
833 define KernelPackage/sched-mqprio/description
834   This scheduler allows QOS to be offloaded on NICs that have support for offloading QOS schedulers.
835 endef
836
837 $(eval $(call KernelPackage,sched-mqprio))
838
839 define KernelPackage/sched-connmark
840   SUBMENU:=$(NETWORK_SUPPORT_MENU)
841   TITLE:=Traffic shaper conntrack mark support
842   DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
843   KCONFIG:=CONFIG_NET_ACT_CONNMARK
844   FILES:=$(LINUX_DIR)/net/sched/act_connmark.ko
845   AUTOLOAD:=$(call AutoLoad,71, act_connmark)
846 endef
847 $(eval $(call KernelPackage,sched-connmark))
848
849 define KernelPackage/sched-ctinfo
850   SUBMENU:=$(NETWORK_SUPPORT_MENU)
851   TITLE:=Traffic shaper ctinfo support
852   DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
853   KCONFIG:=CONFIG_NET_ACT_CTINFO
854   FILES:=$(LINUX_DIR)/net/sched/act_ctinfo.ko
855   AUTOLOAD:=$(call AutoLoad,71, act_ctinfo)
856 endef
857 $(eval $(call KernelPackage,sched-ctinfo))
858
859 define KernelPackage/sched-ipset
860   SUBMENU:=$(NETWORK_SUPPORT_MENU)
861   TITLE:=Traffic shaper ipset support
862   DEPENDS:=+kmod-sched-core +kmod-ipt-ipset
863   KCONFIG:= \
864         CONFIG_NET_EMATCH_IPSET
865   FILES:= \
866         $(LINUX_DIR)/net/sched/em_ipset.ko
867   AUTOLOAD:=$(call AutoLoad,72,em_ipset)
868 endef
869
870 $(eval $(call KernelPackage,sched-ipset))
871
872
873 define KernelPackage/sched-bpf
874   SUBMENU:=$(NETWORK_SUPPORT_MENU)
875   TITLE:=Traffic shaper support for Berkeley Packet Filter
876   KCONFIG:= \
877         CONFIG_NET_CLS_BPF \
878         CONFIG_NET_ACT_BPF
879   FILES:= \
880         $(LINUX_DIR)/net/sched/cls_bpf.ko \
881         $(LINUX_DIR)/net/sched/act_bpf.ko
882   AUTOLOAD:=$(call AutoLoad,72,cls_bpf act_bpf)
883 endef
884
885 $(eval $(call KernelPackage,sched-bpf))
886
887
888 define KernelPackage/bpf-test
889   SUBMENU:=$(NETWORK_SUPPORT_MENU)
890   TITLE:=Test Berkeley Packet Filter functionality
891   KCONFIG:=CONFIG_TEST_BPF
892   FILES:=$(LINUX_DIR)/lib/test_bpf.ko
893 endef
894
895 $(eval $(call KernelPackage,bpf-test))
896
897
898 define KernelPackage/sched
899   SUBMENU:=$(NETWORK_SUPPORT_MENU)
900   TITLE:=Extra traffic schedulers
901   DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-lib-crc32c
902   KCONFIG:= \
903         CONFIG_NET_SCH_CODEL \
904         CONFIG_NET_SCH_DSMARK \
905         CONFIG_NET_SCH_FIFO \
906         CONFIG_NET_SCH_GRED \
907         CONFIG_NET_SCH_MULTIQ \
908         CONFIG_NET_SCH_PRIO \
909         CONFIG_NET_SCH_RED \
910         CONFIG_NET_SCH_SFQ \
911         CONFIG_NET_SCH_TEQL \
912         CONFIG_NET_SCH_FQ \
913         CONFIG_NET_SCH_PIE \
914         CONFIG_NET_ACT_POLICE \
915         CONFIG_NET_ACT_GACT \
916         CONFIG_NET_ACT_IPT \
917         CONFIG_NET_ACT_PEDIT \
918         CONFIG_NET_ACT_SIMP \
919         CONFIG_NET_ACT_CSUM \
920         CONFIG_NET_EMATCH_CMP \
921         CONFIG_NET_EMATCH_NBYTE \
922         CONFIG_NET_EMATCH_META \
923         CONFIG_NET_EMATCH_TEXT
924   FILES:=$(SCHED_FILES_EXTRA)
925   AUTOLOAD:=$(call AutoLoad,73, $(SCHED_MODULES_EXTRA))
926 endef
927
928 define KernelPackage/sched/description
929  Extra kernel schedulers modules for IP traffic
930 endef
931
932 $(eval $(call KernelPackage,sched))
933
934
935 define KernelPackage/tcp-bbr
936   SUBMENU:=$(NETWORK_SUPPORT_MENU)
937   TITLE:=BBR TCP congestion control
938   DEPENDS:=+LINUX_4_9:kmod-sched
939   KCONFIG:= \
940         CONFIG_TCP_CONG_ADVANCED=y \
941         CONFIG_TCP_CONG_BBR
942   FILES:=$(LINUX_DIR)/net/ipv4/tcp_bbr.ko
943   AUTOLOAD:=$(call AutoLoad,74,tcp_bbr)
944 endef
945
946 define KernelPackage/tcp-bbr/description
947  Kernel module for BBR (Bottleneck Bandwidth and RTT) TCP congestion
948  control. It requires the fq ("Fair Queue") pacing packet scheduler.
949  For kernel 4.13+, TCP internal pacing is implemented as fallback.
950 endef
951
952 ifdef CONFIG_LINUX_4_9
953   TCP_BBR_SYSCTL_CONF:=sysctl-tcp-bbr-k4_9.conf
954 else
955   TCP_BBR_SYSCTL_CONF:=sysctl-tcp-bbr.conf
956 endif
957
958 define KernelPackage/tcp-bbr/install
959         $(INSTALL_DIR) $(1)/etc/sysctl.d
960         $(INSTALL_DATA) ./files/$(TCP_BBR_SYSCTL_CONF) $(1)/etc/sysctl.d/12-tcp-bbr.conf
961 endef
962
963 $(eval $(call KernelPackage,tcp-bbr))
964
965
966 define KernelPackage/ax25
967   SUBMENU:=$(NETWORK_SUPPORT_MENU)
968   TITLE:=AX25 support
969   DEPENDS:=+kmod-lib-crc16
970   KCONFIG:= \
971         CONFIG_HAMRADIO=y \
972         CONFIG_AX25 \
973         CONFIG_MKISS
974   FILES:= \
975         $(LINUX_DIR)/net/ax25/ax25.ko \
976         $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
977   AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
978 endef
979
980 define KernelPackage/ax25/description
981  Kernel modules for AX25 support
982 endef
983
984 $(eval $(call KernelPackage,ax25))
985
986
987 define KernelPackage/pktgen
988   SUBMENU:=$(NETWORK_SUPPORT_MENU)
989   DEPENDS:=@!TARGET_uml
990   TITLE:=Network packet generator
991   KCONFIG:=CONFIG_NET_PKTGEN
992   FILES:=$(LINUX_DIR)/net/core/pktgen.ko
993   AUTOLOAD:=$(call AutoLoad,99,pktgen)
994 endef
995
996 define KernelPackage/pktgen/description
997   Kernel modules for the Network Packet Generator
998 endef
999
1000 $(eval $(call KernelPackage,pktgen))
1001
1002 define KernelPackage/l2tp
1003   SUBMENU:=$(NETWORK_SUPPORT_MENU)
1004   TITLE:=Layer Two Tunneling Protocol (L2TP)
1005   DEPENDS:= \
1006         +kmod-udptunnel4 \
1007         +IPV6:kmod-udptunnel6
1008   KCONFIG:=CONFIG_L2TP \
1009         CONFIG_L2TP_V3=y \
1010         CONFIG_L2TP_DEBUGFS=n
1011   FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.ko \
1012         $(LINUX_DIR)/net/l2tp/l2tp_netlink.ko
1013   AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink)
1014 endef
1015
1016 define KernelPackage/l2tp/description
1017  Kernel modules for L2TP V3 Support
1018 endef
1019
1020 $(eval $(call KernelPackage,l2tp))
1021
1022
1023 define KernelPackage/l2tp-eth
1024   SUBMENU:=$(NETWORK_SUPPORT_MENU)
1025   TITLE:=L2TP ethernet pseudowire support for L2TPv3
1026   DEPENDS:=+kmod-l2tp
1027   KCONFIG:=CONFIG_L2TP_ETH
1028   FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.ko
1029   AUTOLOAD:=$(call AutoLoad,33,l2tp_eth)
1030 endef
1031
1032 define KernelPackage/l2tp-eth/description
1033  Kernel modules for L2TP ethernet pseudowire support for L2TPv3
1034 endef
1035
1036 $(eval $(call KernelPackage,l2tp-eth))
1037
1038 define KernelPackage/l2tp-ip
1039   SUBMENU:=$(NETWORK_SUPPORT_MENU)
1040   TITLE:=L2TP IP encapsulation for L2TPv3
1041   DEPENDS:=+kmod-l2tp
1042   KCONFIG:=CONFIG_L2TP_IP
1043   FILES:= \
1044         $(LINUX_DIR)/net/l2tp/l2tp_ip.ko \
1045         $(if $(CONFIG_IPV6),$(LINUX_DIR)/net/l2tp/l2tp_ip6.ko)
1046   AUTOLOAD:=$(call AutoLoad,33,l2tp_ip $(if $(CONFIG_IPV6),l2tp_ip6))
1047 endef
1048
1049 define KernelPackage/l2tp-ip/description
1050  Kernel modules for L2TP IP encapsulation for L2TPv3
1051 endef
1052
1053 $(eval $(call KernelPackage,l2tp-ip))
1054
1055
1056 define KernelPackage/sctp
1057   SUBMENU:=$(NETWORK_SUPPORT_MENU)
1058   TITLE:=SCTP protocol kernel support
1059   KCONFIG:=\
1060      CONFIG_IP_SCTP \
1061      CONFIG_SCTP_DBG_MSG=n \
1062      CONFIG_SCTP_DBG_OBJCNT=n \
1063      CONFIG_SCTP_HMAC_NONE=n \
1064      CONFIG_SCTP_HMAC_SHA1=n \
1065      CONFIG_SCTP_HMAC_MD5=y \
1066      CONFIG_SCTP_COOKIE_HMAC_SHA1=n \
1067      CONFIG_SCTP_COOKIE_HMAC_MD5=y \
1068      CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE=n \
1069      CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=n \
1070      CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
1071   FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
1072   AUTOLOAD:= $(call AutoLoad,32,sctp)
1073   DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac
1074 endef
1075
1076 define KernelPackage/sctp/description
1077  Kernel modules for SCTP protocol support
1078 endef
1079
1080 $(eval $(call KernelPackage,sctp))
1081
1082
1083 define KernelPackage/netem
1084   SUBMENU:=$(NETWORK_SUPPORT_MENU)
1085   TITLE:=Network emulation functionality
1086   DEPENDS:=+kmod-sched
1087   KCONFIG:=CONFIG_NET_SCH_NETEM
1088   FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko
1089   AUTOLOAD:=$(call AutoLoad,99,netem)
1090 endef
1091
1092 define KernelPackage/netem/description
1093   Kernel modules for emulating the properties of wide area networks
1094 endef
1095
1096 $(eval $(call KernelPackage,netem))
1097
1098 define KernelPackage/slip
1099   SUBMENU:=$(NETWORK_SUPPORT_MENU)
1100   DEPENDS:=+kmod-slhc
1101   TITLE:=SLIP modules
1102   KCONFIG:= \
1103        CONFIG_SLIP \
1104        CONFIG_SLIP_COMPRESSED=y \
1105        CONFIG_SLIP_SMART=y \
1106        CONFIG_SLIP_MODE_SLIP6=y
1107
1108   FILES:= \
1109        $(LINUX_DIR)/drivers/net/slip/slip.ko
1110   AUTOLOAD:=$(call AutoLoad,30,slip)
1111 endef
1112
1113 define KernelPackage/slip/description
1114  Kernel modules for SLIP support
1115 endef
1116
1117 $(eval $(call KernelPackage,slip))
1118
1119 define KernelPackage/dnsresolver
1120   SUBMENU:=$(NETWORK_SUPPORT_MENU)
1121   TITLE:=In-kernel DNS Resolver
1122   KCONFIG:= CONFIG_DNS_RESOLVER
1123   FILES:=$(LINUX_DIR)/net/dns_resolver/dns_resolver.ko
1124   AUTOLOAD:=$(call AutoLoad,30,dns_resolver)
1125 endef
1126
1127 $(eval $(call KernelPackage,dnsresolver))
1128
1129 define KernelPackage/rxrpc
1130   SUBMENU:=$(NETWORK_SUPPORT_MENU)
1131   TITLE:=AF_RXRPC support
1132   HIDDEN:=1
1133   KCONFIG:= \
1134         CONFIG_AF_RXRPC \
1135         CONFIG_RXKAD=m \
1136         CONFIG_AF_RXRPC_DEBUG=n
1137   FILES:= \
1138         $(LINUX_DIR)/net/rxrpc/af-rxrpc.ko@lt4.11 \
1139         $(LINUX_DIR)/net/rxrpc/rxrpc.ko@ge4.11 \
1140         $(LINUX_DIR)/net/rxrpc/rxkad.ko@lt4.7
1141   AUTOLOAD:=$(call AutoLoad,30,rxkad@lt4.7 af-rxrpc.ko@lt4.11 rxrpc.ko@ge4.11)
1142   DEPENDS:= +kmod-crypto-manager +kmod-crypto-pcbc +kmod-crypto-fcrypt
1143 endef
1144
1145 define KernelPackage/rxrpc/description
1146   Kernel support for AF_RXRPC; required for AFS client
1147 endef
1148
1149 $(eval $(call KernelPackage,rxrpc))
1150
1151 define KernelPackage/mpls
1152   SUBMENU:=$(NETWORK_SUPPORT_MENU)
1153   TITLE:=MPLS support
1154   DEPENDS:=+LINUX_4_19:kmod-iptunnel
1155   KCONFIG:= \
1156         CONFIG_MPLS=y \
1157         CONFIG_LWTUNNEL=y \
1158         CONFIG_LWTUNNEL_BPF=n \
1159         CONFIG_NET_MPLS_GSO=m \
1160         CONFIG_MPLS_ROUTING=m \
1161         CONFIG_MPLS_IPTUNNEL=m
1162   FILES:= \
1163         $(LINUX_DIR)/net/mpls/mpls_gso.ko \
1164         $(LINUX_DIR)/net/mpls/mpls_iptunnel.ko \
1165         $(LINUX_DIR)/net/mpls/mpls_router.ko
1166   AUTOLOAD:=$(call AutoLoad,30,mpls_router mpls_iptunnel mpls_gso)
1167 endef
1168
1169 define KernelPackage/mpls/description
1170   Kernel support for MPLS
1171 endef
1172
1173 $(eval $(call KernelPackage,mpls))
1174
1175 define KernelPackage/9pnet
1176   SUBMENU:=$(NETWORK_SUPPORT_MENU)
1177   TITLE:=Plan 9 Resource Sharing Support (9P2000)
1178   DEPENDS:=@VIRTIO_SUPPORT
1179   KCONFIG:= \
1180         CONFIG_NET_9P \
1181         CONFIG_NET_9P_DEBUG=n \
1182         CONFIG_NET_9P_XEN=n \
1183         CONFIG_NET_9P_VIRTIO
1184   FILES:= \
1185         $(LINUX_DIR)/net/9p/9pnet.ko \
1186         $(LINUX_DIR)/net/9p/9pnet_virtio.ko
1187   AUTOLOAD:=$(call AutoLoad,29,9pnet 9pnet_virtio)
1188 endef
1189
1190 define KernelPackage/9pnet/description
1191   Kernel support support for
1192   Plan 9 resource sharing via the 9P2000 protocol.
1193 endef
1194
1195 $(eval $(call KernelPackage,9pnet))
1196
1197
1198 define KernelPackage/nlmon
1199   SUBMENU:=$(NETWORK_SUPPORT_MENU)
1200   TITLE:=Virtual netlink monitoring device
1201   KCONFIG:=CONFIG_NLMON
1202   FILES:=$(LINUX_DIR)/drivers/net/nlmon.ko
1203   AUTOLOAD:=$(call AutoProbe,nlmon)
1204 endef
1205
1206 define KernelPackage/nlmon/description
1207   Kernel module which adds a monitoring device for netlink.
1208 endef
1209
1210 $(eval $(call KernelPackage,nlmon))
1211
1212
1213 define KernelPackage/mdio
1214   SUBMENU:=$(NETWORK_SUPPORT_MENU)
1215   TITLE:=MDIO (clause 45) PHY support
1216   KCONFIG:=CONFIG_MDIO
1217   HIDDEN:=1
1218   FILES:=$(LINUX_DIR)/drivers/net/mdio.ko
1219   AUTOLOAD:=$(call AutoLoad,32,mdio)
1220 endef
1221
1222 define KernelPackage/mdio/description
1223  Kernel modules for MDIO (clause 45) PHY support
1224 endef
1225
1226 $(eval $(call KernelPackage,mdio))
1227
1228 define KernelPackage/macsec
1229   SUBMENU:=$(NETWORK_SUPPORT_MENU)
1230   TITLE:=IEEE 802.1AE MAC-level encryption (MAC)
1231   DEPENDS:=+kmod-crypto-gcm
1232   KCONFIG:=CONFIG_MACSEC
1233   FILES:=$(LINUX_DIR)/drivers/net/macsec.ko
1234   AUTOLOAD:=$(call AutoLoad,13,macsec)
1235 endef
1236
1237 define KernelPackage/macsec/description
1238  MACsec is an encryption standard for Ethernet.
1239 endef
1240
1241 $(eval $(call KernelPackage,macsec))