Hi,
So here is the result of the pf unlink bikeshedding. Rename
pf_unlink_state() to pf_remove_state() so the name does not collide
with the statekey to inp unlinking.
ok?
bluhm
Index: net/if_pfsync.c
===================================================================
RCS file: /data/mirror/openbsd/cvs/src/sys/net/if_pfsync.c,v
retrieving revision 1.222
diff -u -p -r1.222 if_pfsync.c
--- net/if_pfsync.c 10 Nov 2015 06:36:14 -0000 1.222
+++ net/if_pfsync.c 2 Dec 2015 21:29:09 -0000
@@ -752,7 +752,7 @@ pfsync_in_clr(caddr_t buf, int len, int
if (st->creatorid == creatorid &&
((kif && st->kif == kif) || !kif)) {
SET(st->state_flags, PFSTATE_NOSYNC);
- pf_unlink_state(st);
+ pf_remove_state(st);
}
}
}
@@ -1056,7 +1056,7 @@ pfsync_in_del(caddr_t buf, int len, int
continue;
}
SET(st->state_flags, PFSTATE_NOSYNC);
- pf_unlink_state(st);
+ pf_remove_state(st);
}
return (0);
@@ -1083,7 +1083,7 @@ pfsync_in_del_c(caddr_t buf, int len, in
}
SET(st->state_flags, PFSTATE_NOSYNC);
- pf_unlink_state(st);
+ pf_remove_state(st);
}
return (0);
Index: net/pf.c
===================================================================
RCS file: /data/mirror/openbsd/cvs/src/sys/net/pf.c,v
retrieving revision 1.954
diff -u -p -r1.954 pf.c
--- net/pf.c 2 Dec 2015 16:00:42 -0000 1.954
+++ net/pf.c 2 Dec 2015 21:29:09 -0000
@@ -668,7 +668,7 @@ pf_state_key_attach(struct pf_state_key
si->s->dst.state >= TCPS_FIN_WAIT_2) {
si->s->src.state = si->s->dst.state =
TCPS_CLOSED;
- /* unlink late or sks can go away */
+ /* remove late or sks can go away */
olds = si->s;
} else {
if (pf_status.debug >= LOG_NOTICE) {
@@ -713,7 +713,7 @@ pf_state_key_attach(struct pf_state_key
TAILQ_INSERT_HEAD(&s->key[idx]->states, si, entry);
if (olds)
- pf_unlink_state(olds);
+ pf_remove_state(olds);
return (0);
}
@@ -1249,7 +1249,7 @@ pf_src_tree_remove_state(struct pf_state
/* callers should be at splsoftnet */
void
-pf_unlink_state(struct pf_state *cur)
+pf_remove_state(struct pf_state *cur)
{
splsoftassert(IPL_SOFTNET);
@@ -1280,14 +1280,14 @@ pf_unlink_state(struct pf_state *cur)
}
void
-pf_unlink_divert_state(struct pf_state_key *sk)
+pf_remove_divert_state(struct pf_state_key *sk)
{
struct pf_state_item *si;
TAILQ_FOREACH(si, &sk->states, entry) {
if (sk == si->s->key[PF_SK_STACK] && si->s->rule.ptr &&
si->s->rule.ptr->divert.port) {
- pf_unlink_state(si->s);
+ pf_remove_state(si->s);
break;
}
}
@@ -1349,15 +1349,15 @@ pf_purge_expired_states(u_int32_t maxche
next = TAILQ_NEXT(cur, entry_list);
if (cur->timeout == PFTM_UNLINKED) {
- /* free unlinked state */
+ /* free removed state */
if (! locked) {
rw_enter_write(&pf_consistency_lock);
locked = 1;
}
pf_free_state(cur);
} else if (pf_state_expires(cur) <= time_uptime) {
- /* unlink and free expired state */
- pf_unlink_state(cur);
+ /* remove and free expired state */
+ pf_remove_state(cur);
if (! locked) {
rw_enter_write(&pf_consistency_lock);
locked = 1;
@@ -4346,7 +4346,7 @@ pf_test_state(struct pf_pdesc *pd, struc
}
/* XXX make sure it's the same direction ?? */
(*state)->src.state = (*state)->dst.state = TCPS_CLOSED;
- pf_unlink_state(*state);
+ pf_remove_state(*state);
*state = NULL;
pd->m->m_pkthdr.pf.inp = inp;
return (PF_DROP);
Index: net/pf_ioctl.c
===================================================================
RCS file: /data/mirror/openbsd/cvs/src/sys/net/pf_ioctl.c,v
retrieving revision 1.294
diff -u -p -r1.294 pf_ioctl.c
--- net/pf_ioctl.c 24 Nov 2015 13:37:16 -0000 1.294
+++ net/pf_ioctl.c 2 Dec 2015 21:29:09 -0000
@@ -1430,7 +1430,7 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
/* don't send out individual delete messages */
SET(s->state_flags, PFSTATE_NOSYNC);
#endif /* NPFSYNC > 0 */
- pf_unlink_state(s);
+ pf_remove_state(s);
killed++;
}
}
@@ -1453,7 +1453,7 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
if (psk->psk_pfcmp.creatorid == 0)
psk->psk_pfcmp.creatorid = pf_status.hostid;
if ((s = pf_find_state_byid(&psk->psk_pfcmp))) {
- pf_unlink_state(s);
+ pf_remove_state(s);
psk->psk_killed = 1;
}
break;
@@ -1499,7 +1499,7 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
!strcmp(psk->psk_label, s->rule.ptr->label))) &&
(!psk->psk_ifname[0] || !strcmp(psk->psk_ifname,
s->kif->pfik_name))) {
- pf_unlink_state(s);
+ pf_remove_state(s);
killed++;
}
}
Index: net/pfvar.h
===================================================================
RCS file: /data/mirror/openbsd/cvs/src/sys/net/pfvar.h,v
retrieving revision 1.424
diff -u -p -r1.424 pfvar.h
--- net/pfvar.h 2 Dec 2015 16:00:42 -0000 1.424
+++ net/pfvar.h 2 Dec 2015 21:29:09 -0000
@@ -1669,8 +1669,8 @@ extern struct pool pf_state_scrub_pl;
extern void pf_purge_thread(void *);
extern void pf_purge_expired_src_nodes(int);
extern void pf_purge_expired_states(u_int32_t);
-extern void pf_unlink_state(struct pf_state *);
-extern void pf_unlink_divert_state(struct pf_state_key *);
+extern void pf_remove_state(struct pf_state *);
+extern void pf_remove_divert_state(struct pf_state_key *);
extern void pf_free_state(struct pf_state *);
extern int pf_state_insert(struct pfi_kif *,
struct pf_state_key **,
Index: netinet/in_pcb.c
===================================================================
RCS file: /data/mirror/openbsd/cvs/src/sys/netinet/in_pcb.c,v
retrieving revision 1.189
diff -u -p -r1.189 in_pcb.c
--- netinet/in_pcb.c 2 Dec 2015 16:00:42 -0000 1.189
+++ netinet/in_pcb.c 2 Dec 2015 21:29:09 -0000
@@ -507,8 +507,8 @@ in_pcbdetach(struct inpcb *inp)
ip_freemoptions(inp->inp_moptions);
#if NPF > 0
if (inp->inp_pf_sk) {
- pf_unlink_divert_state(inp->inp_pf_sk);
- /* pf_unlink_divert_state() may have detached the state */
+ pf_remove_divert_state(inp->inp_pf_sk);
+ /* pf_remove_divert_state() may have detached the state */
if (inp->inp_pf_sk)
inp->inp_pf_sk->inp = NULL;
}