Module Name: src Committed By: ozaki-r Date: Wed Jul 14 03:19:24 UTC 2021
Modified Files: src/distrib/sets/lists/base: shl.mi src/distrib/sets/lists/comp: mi shl.mi src/distrib/sets/lists/debug: mi shl.mi src/sys/rump/include/opt: opt_rumpkernel.h src/sys/rump/librump/rumpnet: net_stub.c src/sys/rump/net: Makefile.rumpnetcomp Added Files: src/sys/rump/net/lib/libaltq: Makefile altq_component.c Log Message: Rump-ify ALTQ (librumpnet_altq.so) To generate a diff of this commit: cvs rdiff -u -r1.921 -r1.922 src/distrib/sets/lists/base/shl.mi cvs rdiff -u -r1.2389 -r1.2390 src/distrib/sets/lists/comp/mi cvs rdiff -u -r1.346 -r1.347 src/distrib/sets/lists/comp/shl.mi cvs rdiff -u -r1.355 -r1.356 src/distrib/sets/lists/debug/mi cvs rdiff -u -r1.278 -r1.279 src/distrib/sets/lists/debug/shl.mi cvs rdiff -u -r1.6 -r1.7 src/sys/rump/include/opt/opt_rumpkernel.h cvs rdiff -u -r1.42 -r1.43 src/sys/rump/librump/rumpnet/net_stub.c cvs rdiff -u -r1.24 -r1.25 src/sys/rump/net/Makefile.rumpnetcomp cvs rdiff -u -r0 -r1.1 src/sys/rump/net/lib/libaltq/Makefile \ src/sys/rump/net/lib/libaltq/altq_component.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/distrib/sets/lists/base/shl.mi diff -u src/distrib/sets/lists/base/shl.mi:1.921 src/distrib/sets/lists/base/shl.mi:1.922 --- src/distrib/sets/lists/base/shl.mi:1.921 Thu Jun 17 01:17:27 2021 +++ src/distrib/sets/lists/base/shl.mi Wed Jul 14 03:19:23 2021 @@ -1,4 +1,4 @@ -# $NetBSD: shl.mi,v 1.921 2021/06/17 01:17:27 christos Exp $ +# $NetBSD: shl.mi,v 1.922 2021/07/14 03:19:23 ozaki-r Exp $ # # Note: Don't delete entries from here - mark them as "obsolete" instead, # unless otherwise stated below. @@ -765,6 +765,9 @@ ./usr/lib/librumpnet_agr.so base-rump-shlib rump ./usr/lib/librumpnet_agr.so.0 base-rump-shlib rump ./usr/lib/librumpnet_agr.so.0.0 base-rump-shlib rump +./usr/lib/librumpnet_altq.so base-rump-shlib rump +./usr/lib/librumpnet_altq.so.0 base-rump-shlib rump +./usr/lib/librumpnet_altq.so.0.0 base-rump-shlib rump ./usr/lib/librumpnet_bpfjit.so base-rump-shlib rump,sljit ./usr/lib/librumpnet_bpfjit.so.0 base-rump-shlib rump,sljit ./usr/lib/librumpnet_bpfjit.so.0.0 base-rump-shlib rump,sljit Index: src/distrib/sets/lists/comp/mi diff -u src/distrib/sets/lists/comp/mi:1.2389 src/distrib/sets/lists/comp/mi:1.2390 --- src/distrib/sets/lists/comp/mi:1.2389 Thu Jun 17 01:17:28 2021 +++ src/distrib/sets/lists/comp/mi Wed Jul 14 03:19:24 2021 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.2389 2021/06/17 01:17:28 christos Exp $ +# $NetBSD: mi,v 1.2390 2021/07/14 03:19:24 ozaki-r Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. ./etc/mtree/set.comp comp-sys-root @@ -4011,8 +4011,12 @@ ./usr/lib/librumpkern_z.a comp-c-lib rump ./usr/lib/librumpkern_z_p.a comp-c-proflib rump,profile ./usr/lib/librumpnet.a comp-c-lib compatfile,rump +./usr/lib/librumpnet_altq.a comp-c-lib rump +./usr/lib/librumpnet_altq_p.a comp-c-proflib rump,profile ./usr/lib/librumpnet_agr.a comp-c-lib rump ./usr/lib/librumpnet_agr_p.a comp-c-proflib rump,profile +./usr/lib/librumpnet_altq.a comp-c-lib rump +./usr/lib/librumpnet_altq_p.a comp-c-proflib rump,profile ./usr/lib/librumpnet_bpfjit.a comp-c-lib rump,sljit ./usr/lib/librumpnet_bpfjit_p.a comp-c-proflib rump,sljit,profile ./usr/lib/librumpnet_bridge.a comp-c-lib rump Index: src/distrib/sets/lists/comp/shl.mi diff -u src/distrib/sets/lists/comp/shl.mi:1.346 src/distrib/sets/lists/comp/shl.mi:1.347 --- src/distrib/sets/lists/comp/shl.mi:1.346 Mon May 17 04:07:41 2021 +++ src/distrib/sets/lists/comp/shl.mi Wed Jul 14 03:19:24 2021 @@ -1,4 +1,4 @@ -# $NetBSD: shl.mi,v 1.346 2021/05/17 04:07:41 yamaguchi Exp $ +# $NetBSD: shl.mi,v 1.347 2021/07/14 03:19:24 ozaki-r Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -225,6 +225,7 @@ ./usr/lib/librumpkern_tty_pic.a comp-c-piclib picinstall,rump ./usr/lib/librumpkern_z_pic.a comp-c-piclib picinstall,rump ./usr/lib/librumpnet_agr_pic.a comp-c-piclib picinstall,rump +./usr/lib/librumpnet_altq_pic.a comp-c-piclib picinstall,rump ./usr/lib/librumpnet_bpfjit_pic.a comp-c-piclib picinstall,rump,sljit ./usr/lib/librumpnet_bridge_pic.a comp-c-piclib picinstall,rump ./usr/lib/librumpnet_gif_pic.a comp-c-piclib picinstall,rump Index: src/distrib/sets/lists/debug/mi diff -u src/distrib/sets/lists/debug/mi:1.355 src/distrib/sets/lists/debug/mi:1.356 --- src/distrib/sets/lists/debug/mi:1.355 Fri Jul 9 05:54:11 2021 +++ src/distrib/sets/lists/debug/mi Wed Jul 14 03:19:24 2021 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.355 2021/07/09 05:54:11 yamaguchi Exp $ +# $NetBSD: mi,v 1.356 2021/07/14 03:19:24 ozaki-r Exp $ ./etc/mtree/set.debug comp-sys-root ./usr/lib comp-sys-usr compatdir ./usr/lib/i18n/libBIG5_g.a comp-c-debuglib debuglib,compatfile @@ -215,6 +215,7 @@ ./usr/lib/librumpkern_tty_g.a comp-c-debuglib debuglib,rump ./usr/lib/librumpkern_z_g.a comp-c-debuglib debuglib,rump ./usr/lib/librumpnet_agr_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpnet_altq_g.a comp-c-debuglib debuglib,rump ./usr/lib/librumpnet_bpfjit_g.a comp-c-debuglib debuglib,rump,sljit ./usr/lib/librumpnet_bridge_g.a comp-c-debuglib debuglib,rump ./usr/lib/librumpnet_g.a comp-c-debuglib debuglib,compatfile,rump Index: src/distrib/sets/lists/debug/shl.mi diff -u src/distrib/sets/lists/debug/shl.mi:1.278 src/distrib/sets/lists/debug/shl.mi:1.279 --- src/distrib/sets/lists/debug/shl.mi:1.278 Thu Jun 17 01:17:28 2021 +++ src/distrib/sets/lists/debug/shl.mi Wed Jul 14 03:19:24 2021 @@ -1,4 +1,4 @@ -# $NetBSD: shl.mi,v 1.278 2021/06/17 01:17:28 christos Exp $ +# $NetBSD: shl.mi,v 1.279 2021/07/14 03:19:24 ozaki-r Exp $ ./usr/lib/libbfd_g.a comp-c-debuglib debuglib,compatfile,binutils ./usr/libdata/debug/lib base-sys-usr debug,dynamicroot,compatdir ./usr/libdata/debug/lib/libavl.so.0.0.debug comp-zfs-debug debug,dynamicroot,zfs @@ -269,6 +269,7 @@ ./usr/libdata/debug/usr/lib/librumpkern_z.so.0.0.debug comp-rump-debug debug,rump ./usr/libdata/debug/usr/lib/librumpnet.so.0.0.debug comp-rump-debug debug,compatfile,rump ./usr/libdata/debug/usr/lib/librumpnet_agr.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpnet_altq.so.0.0.debug comp-rump-debug debug,rump ./usr/libdata/debug/usr/lib/librumpnet_bpfjit.so.0.0.debug comp-rump-debug debug,rump,sljit ./usr/libdata/debug/usr/lib/librumpnet_bridge.so.0.0.debug comp-rump-debug debug,rump ./usr/libdata/debug/usr/lib/librumpnet_gif.so.0.0.debug comp-rump-debug debug,rump Index: src/sys/rump/include/opt/opt_rumpkernel.h diff -u src/sys/rump/include/opt/opt_rumpkernel.h:1.6 src/sys/rump/include/opt/opt_rumpkernel.h:1.7 --- src/sys/rump/include/opt/opt_rumpkernel.h:1.6 Sat May 27 21:02:56 2017 +++ src/sys/rump/include/opt/opt_rumpkernel.h Wed Jul 14 03:19:24 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: opt_rumpkernel.h,v 1.6 2017/05/27 21:02:56 bouyer Exp $ */ +/* $NetBSD: opt_rumpkernel.h,v 1.7 2021/07/14 03:19:24 ozaki-r Exp $ */ #ifndef __NetBSD__ #define __NetBSD__ @@ -33,3 +33,6 @@ #define WSEMUL_VT100 #define PPPOE_SERVER + +#define ALTQ +#define ALTQ_CBQ Index: src/sys/rump/librump/rumpnet/net_stub.c diff -u src/sys/rump/librump/rumpnet/net_stub.c:1.42 src/sys/rump/librump/rumpnet/net_stub.c:1.43 --- src/sys/rump/librump/rumpnet/net_stub.c:1.42 Mon May 17 04:07:44 2021 +++ src/sys/rump/librump/rumpnet/net_stub.c Wed Jul 14 03:19:24 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: net_stub.c,v 1.42 2021/05/17 04:07:44 yamaguchi Exp $ */ +/* $NetBSD: net_stub.c,v 1.43 2021/07/14 03:19:24 ozaki-r Exp $ */ /* * Copyright (c) 2008 Antti Kantee. All Rights Reserved. @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: net_stub.c,v 1.42 2021/05/17 04:07:44 yamaguchi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: net_stub.c,v 1.43 2021/07/14 03:19:24 ozaki-r Exp $"); #include <sys/mutex.h> #include <sys/param.h> @@ -113,6 +113,14 @@ __weak_alias(lagg_ifdetach,rumpnet_stub) __weak_alias(lagg_input_ethernet,rumpnet_stub); __weak_alias(lagg_linkstate_changed,rumpnet_stub); +/* altq */ +int (*altq_input)(struct mbuf *, int); +__weak_alias(in6mask128,rumpnet_stub); +__weak_alias(in6mask0,rumpnet_stub); +__weak_alias(altq_detach,rumpnet_stub); +__weak_alias(altq_disable,rumpnet_stub); +__weak_alias(tbr_dequeue,rumpnet_stub); + struct ifnet_head ifnet_list; struct pslist_head ifnet_pslist; kmutex_t ifnet_mtx; Index: src/sys/rump/net/Makefile.rumpnetcomp diff -u src/sys/rump/net/Makefile.rumpnetcomp:1.24 src/sys/rump/net/Makefile.rumpnetcomp:1.25 --- src/sys/rump/net/Makefile.rumpnetcomp:1.24 Mon May 17 04:07:44 2021 +++ src/sys/rump/net/Makefile.rumpnetcomp Wed Jul 14 03:19:24 2021 @@ -1,11 +1,11 @@ -# $NetBSD: Makefile.rumpnetcomp,v 1.24 2021/05/17 04:07:44 yamaguchi Exp $ +# $NetBSD: Makefile.rumpnetcomp,v 1.25 2021/07/14 03:19:24 ozaki-r Exp $ # .include <bsd.own.mk> -RUMPNETCOMP= agr bridge net net80211 netbt netcan netinet netinet6 netipsec -RUMPNETCOMP+= gif ipsec netmpls npf l2tp lagg local pppoe shmif tap tun vlan -RUMPNETCOMP+= vether wg +RUMPNETCOMP= agr altq bridge net net80211 netbt netcan netinet netinet6 +RUMPNETCOMP+= netipsec gif ipsec netmpls npf l2tp lagg local pppoe shmif tap +RUMPNETCOMP+= tun vlan vether wg .if ${MKSLJIT} != "no" || make(rumpdescribe) RUMPNETCOMP+= bpfjit Added files: Index: src/sys/rump/net/lib/libaltq/Makefile diff -u /dev/null src/sys/rump/net/lib/libaltq/Makefile:1.1 --- /dev/null Wed Jul 14 03:19:25 2021 +++ src/sys/rump/net/lib/libaltq/Makefile Wed Jul 14 03:19:24 2021 @@ -0,0 +1,17 @@ +# $NetBSD: Makefile,v 1.1 2021/07/14 03:19:24 ozaki-r Exp $ +# + + +.PATH: ${.CURDIR}/../../../../altq + +LIB= rumpnet_altq +COMMENT=ALTQ support + +SRCS+= altq_subr.c altq_conf.c +SRCS+= altq_cbq.c altq_rmclass.c +SRCS+= altq_component.c + +.include <bsd.init.mk> + +.include <bsd.lib.mk> +.include <bsd.klinks.mk> Index: src/sys/rump/net/lib/libaltq/altq_component.c diff -u /dev/null src/sys/rump/net/lib/libaltq/altq_component.c:1.1 --- /dev/null Wed Jul 14 03:19:25 2021 +++ src/sys/rump/net/lib/libaltq/altq_component.c Wed Jul 14 03:19:24 2021 @@ -0,0 +1,72 @@ +/* $NetBSD: altq_component.c,v 1.1 2021/07/14 03:19:24 ozaki-r Exp $ */ + +/* + * Copyright (c) 2019 Internet Initiative Japan Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include <sys/cdefs.h> +__KERNEL_RCSID(0, "$NetBSD: altq_component.c,v 1.1 2021/07/14 03:19:24 ozaki-r Exp $"); + +#include <sys/param.h> +#include <sys/stat.h> +#include <sys/filedesc.h> + +#include <sys/vfs_syscalls.h> + +#include <net/if.h> + +#include <altq/altq.h> + +#include <rump-sys/kern.h> +#include <rump-sys/vfs.h> + +static void +create_altq_devs(void) +{ + extern const struct cdevsw altq_cdevsw; + devmajor_t bmajor = NODEVMAJOR, cmajor = NODEVMAJOR; + int error; + + error = devsw_attach("altq", NULL, &bmajor, + &altq_cdevsw, &cmajor); + if (error != 0) + panic("altq devsw attach failed: %d", error); + + do_sys_mkdir("/dev/altq", 0755, UIO_SYSSPACE); + + error = rump_vfs_makeonedevnode(S_IFCHR, "/dev/altq/altq", cmajor, 0); + if (error != 0) + panic("cannot create altq device node: %d", error); + + error = rump_vfs_makeonedevnode(S_IFCHR, "/dev/altq/cbq", cmajor, ALTQT_CBQ); + if (error != 0) + panic("cannot create altq/cbq device node: %d", error); +} + +RUMP_COMPONENT(RUMP_COMPONENT_NET_IF) +{ + + create_altq_devs(); +}