From owner-svn-src-user@FreeBSD.ORG Sun Jan 31 12:21:21 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 56157106568F; Sun, 31 Jan 2010 12:21:21 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3A8148FC0C; Sun, 31 Jan 2010 12:21:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0VCLLQA021928; Sun, 31 Jan 2010 12:21:21 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0VCLLMV021925; Sun, 31 Jan 2010 12:21:21 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <201001311221.o0VCLLMV021925@svn.freebsd.org> From: Luigi Rizzo Date: Sun, 31 Jan 2010 12:21:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r203280 - user/luigi/ipfw3-head/sbin/ipfw X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 31 Jan 2010 12:21:21 -0000 Author: luigi Date: Sun Jan 31 12:21:20 2010 New Revision: 203280 URL: http://svn.freebsd.org/changeset/base/203280 Log: handle lmax and priority in a 'queue config'. use the correct size for children of a scheduler. Modified: user/luigi/ipfw3-head/sbin/ipfw/dummynet.c user/luigi/ipfw3-head/sbin/ipfw/ipfw2.h Modified: user/luigi/ipfw3-head/sbin/ipfw/dummynet.c ============================================================================== --- user/luigi/ipfw3-head/sbin/ipfw/dummynet.c Sun Jan 31 12:20:29 2010 (r203279) +++ user/luigi/ipfw3-head/sbin/ipfw/dummynet.c Sun Jan 31 12:21:20 2010 (r203280) @@ -50,6 +50,8 @@ static struct _s_x dummynet_params[] = { { "src-port", TOK_SRCPORT }, { "proto", TOK_PROTO }, { "weight", TOK_WEIGHT }, + { "lmax", TOK_LMAX }, + { "maxlen", TOK_LMAX }, { "all", TOK_ALL }, { "mask", TOK_MASK }, /* alias for both */ { "sched_mask", TOK_SCHED_MASK }, @@ -66,6 +68,7 @@ static struct _s_x dummynet_params[] = { { "flowset", TOK_FLOWSET }, { "sched", TOK_SCHED }, { "pri", TOK_PRI }, + { "priority", TOK_PRI }, { "type", TOK_TYPE }, { "flow-id", TOK_FLOWID}, { "dst-ipv6", TOK_DSTIP6}, @@ -242,9 +245,10 @@ print_flowset_parms(struct new_fs *fs, c prefix, qs, plr, fs->oid.id, fs->buckets, red); prefix[0] = '\0'; } else { - printf("q%05d %s%s %d flows (%d buckets) %s sched %d weight %d\n", + printf("q%05d %s%s %d flows (%d buckets) %s sched %d " + "weight %d lmax %d pri %d\n", fs->fs_nr, qs, plr, fs->oid.id, fs->buckets, red, - fs->sched_nr, fs->par[0]); + fs->sched_nr, fs->par[0], fs->par[1], fs->par[2]); if (fs->flags & DN_HAVE_MASK) print_mask(&fs->flow_mask); } @@ -301,9 +305,9 @@ list_pipes(struct dn_id *oid, struct dn_ int i, l; struct { struct dn_id id; - uint16_t p[0]; + uintptr_t p[0]; } *d = (void *)oid; - l = (oid->len - sizeof(*oid))/sizeof(uint16_t); + l = (oid->len - sizeof(*oid))/sizeof(d->p[0]); if (l == 0) break; printf(" Children flowsets: "); @@ -1087,11 +1091,25 @@ end_mask: case TOK_WEIGHT: NEED(fs, "weight is only for flowsets"); - NEED1("weight needs argument 0..100\n"); + NEED1("weight needs argument\n"); fs->par[0] = strtol(av[0], &end, 0); ac--; av++; break; + case TOK_LMAX: + NEED(fs, "lmax is only for flowsets"); + NEED1("lmax needs argument\n"); + fs->par[1] = strtol(av[0], &end, 0); + ac--; av++; + break; + + case TOK_PRI: + NEED(fs, "priority is only for flowsets"); + NEED1("priority needs argument\n"); + fs->par[2] = strtol(av[0], &end, 0); + ac--; av++; + break; + case TOK_SCHED: case TOK_PIPE: NEED(fs, "pipe/sched"); Modified: user/luigi/ipfw3-head/sbin/ipfw/ipfw2.h ============================================================================== --- user/luigi/ipfw3-head/sbin/ipfw/ipfw2.h Sun Jan 31 12:20:29 2010 (r203279) +++ user/luigi/ipfw3-head/sbin/ipfw/ipfw2.h Sun Jan 31 12:21:20 2010 (r203280) @@ -166,6 +166,7 @@ enum tokens { TOK_PROTO, /* dummynet tokens */ TOK_WEIGHT, + TOK_LMAX, TOK_PRI, TOK_TYPE, TOK_SLOTSIZE,