svn commit: r203280 - user/luigi/ipfw3-head/sbin/ipfw
Luigi Rizzo
luigi at FreeBSD.org
Sun Jan 31 12:21:21 UTC 2010
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,
More information about the svn-src-user
mailing list