diff options
author | Ryan Thomas McBride <mcbride@cvs.openbsd.org> | 2002-12-23 13:15:19 +0000 |
---|---|---|
committer | Ryan Thomas McBride <mcbride@cvs.openbsd.org> | 2002-12-23 13:15:19 +0000 |
commit | 94c678fa55186ce490ebdf0dfc8175c1af8b65fc (patch) | |
tree | 1cbb0e87721e62f7c8aea66ac6e22190ed07f08f /sys | |
parent | b17d0a09f3306df1ee6cf163520c4662cbdeeeb1 (diff) |
Change from array to single pf_pabuf (no longer need multiple buffers as
we don't need the second list of addresses for DIOCCHANGE* operations)
Also get rid of a bug where DIOCBEGINADDRS clears pabuf[1] when pabuf[0]
is the one being used.
ok henning@ dhartmei@
Diffstat (limited to 'sys')
-rw-r--r-- | sys/net/pf.c | 4 | ||||
-rw-r--r-- | sys/net/pf_ioctl.c | 15 | ||||
-rw-r--r-- | sys/net/pfvar.h | 4 |
3 files changed, 11 insertions, 12 deletions
diff --git a/sys/net/pf.c b/sys/net/pf.c index dc12b3ad0cb..7f05e025576 100644 --- a/sys/net/pf.c +++ b/sys/net/pf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pf.c,v 1.281 2002/12/22 02:37:58 mcbride Exp $ */ +/* $OpenBSD: pf.c,v 1.282 2002/12/23 13:15:18 mcbride Exp $ */ /* * Copyright (c) 2001 Daniel Hartmeier @@ -94,7 +94,7 @@ struct pf_state_tree; struct pf_anchorqueue pf_anchors; struct pf_ruleset pf_main_ruleset; struct pf_altqqueue pf_altqs[2]; -struct pf_palist pf_pabuf[2]; +struct pf_palist pf_pabuf; struct pf_altqqueue *pf_altqs_active; struct pf_altqqueue *pf_altqs_inactive; struct pf_status pf_status; diff --git a/sys/net/pf_ioctl.c b/sys/net/pf_ioctl.c index 3bb27e06710..ec8e2456180 100644 --- a/sys/net/pf_ioctl.c +++ b/sys/net/pf_ioctl.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pf_ioctl.c,v 1.30 2002/12/19 16:25:51 dhartmei Exp $ */ +/* $OpenBSD: pf_ioctl.c,v 1.31 2002/12/23 13:15:18 mcbride Exp $ */ /* * Copyright (c) 2001 Daniel Hartmeier @@ -109,8 +109,7 @@ pfattach(int num) pf_init_ruleset(&pf_main_ruleset); TAILQ_INIT(&pf_altqs[0]); TAILQ_INIT(&pf_altqs[1]); - TAILQ_INIT(&pf_pabuf[0]); - TAILQ_INIT(&pf_pabuf[1]); + TAILQ_INIT(&pf_pabuf); pf_altqs_active = &pf_altqs[0]; pf_altqs_inactive = &pf_altqs[1]; @@ -576,7 +575,7 @@ pfioctl(dev_t dev, u_long cmd, caddr_t addr, int flags, struct proc *p) pf_rm_rule(NULL, rule); break; } - pf_mv_pool(&pf_pabuf[0], &rule->rpool.list); + pf_mv_pool(&pf_pabuf, &rule->rpool.list); rule->rpool.cur = TAILQ_FIRST(&rule->rpool.list); rule->evaluations = rule->packets = rule->bytes = 0; TAILQ_INSERT_TAIL(ruleset->rules[rs_num].inactive.ptr, @@ -771,11 +770,11 @@ pfioctl(dev_t dev, u_long cmd, caddr_t addr, int flags, struct proc *p) pf_rm_rule(NULL, newrule); break; } - pf_mv_pool(&pf_pabuf[0], &newrule->rpool.list); + pf_mv_pool(&pf_pabuf, &newrule->rpool.list); newrule->evaluations = newrule->packets = 0; newrule->bytes = 0; } - pf_empty_pool(&pf_pabuf[0]); + pf_empty_pool(&pf_pabuf); s = splsoftnet(); @@ -1404,7 +1403,7 @@ pfioctl(dev_t dev, u_long cmd, caddr_t addr, int flags, struct proc *p) case DIOCBEGINADDRS: { struct pfioc_pooladdr *pp = (struct pfioc_pooladdr *)addr; - pf_empty_pool(&pf_pabuf[1]); + pf_empty_pool(&pf_pabuf); pp->ticket = ++ticket_pabuf; break; } @@ -1444,7 +1443,7 @@ pfioctl(dev_t dev, u_long cmd, caddr_t addr, int flags, struct proc *p) error = EINVAL; break; } - TAILQ_INSERT_TAIL(&pf_pabuf[0], pa, entries); + TAILQ_INSERT_TAIL(&pf_pabuf, pa, entries); break; } diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index c40baa127c2..98718d0acb3 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: pfvar.h,v 1.117 2002/12/22 19:59:13 mcbride Exp $ */ +/* $OpenBSD: pfvar.h,v 1.118 2002/12/23 13:15:18 mcbride Exp $ */ /* * Copyright (c) 2001 Daniel Hartmeier @@ -771,7 +771,7 @@ TAILQ_HEAD(pf_poolqueue, pf_pool); extern struct pf_poolqueue pf_pools[2]; TAILQ_HEAD(pf_altqqueue, pf_altq); extern struct pf_altqqueue pf_altqs[2]; -extern struct pf_palist pf_pabuf[2]; +extern struct pf_palist pf_pabuf; extern u_int32_t ticket_altqs_active; |