Page MenuHomeFreeBSD

D54163.diff
No OneTemporary

D54163.diff

diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h
--- a/sys/net/pfvar.h
+++ b/sys/net/pfvar.h
@@ -1341,8 +1341,12 @@
#define V_pflow_export_state_ptr VNET(pflow_export_state_ptr)
extern pfsync_detach_ifnet_t *pfsync_detach_ifnet_ptr;
-void pfsync_state_export(union pfsync_state_union *,
- struct pf_kstate *, int);
+void pfsync_state_export_1301(struct pfsync_state_1301 *,
+ struct pf_kstate *);
+void pfsync_state_export_1400(struct pfsync_state_1400 *,
+ struct pf_kstate *);
+void pfsync_state_export_1500(struct pfsync_state_1500 *,
+ struct pf_kstate *);
void pf_state_export(struct pf_state_export *,
struct pf_kstate *);
diff --git a/sys/netpfil/pf/if_pfsync.c b/sys/netpfil/pf/if_pfsync.c
--- a/sys/netpfil/pf/if_pfsync.c
+++ b/sys/netpfil/pf/if_pfsync.c
@@ -1900,25 +1900,28 @@
static void
pfsync_out_state_1301(struct pf_kstate *st, void *buf)
{
- union pfsync_state_union *sp = buf;
+ struct pfsync_state_1301 *sp;
- pfsync_state_export(sp, st, PFSYNC_MSG_VERSION_1301);
+ sp = buf;
+ pfsync_state_export_1301(sp, st);
}
static void
pfsync_out_state_1400(struct pf_kstate *st, void *buf)
{
- union pfsync_state_union *sp = buf;
+ struct pfsync_state_1400 *sp;
- pfsync_state_export(sp, st, PFSYNC_MSG_VERSION_1400);
+ sp = buf;
+ pfsync_state_export_1400(sp, st);
}
static void
pfsync_out_state_1500(struct pf_kstate *st, void *buf)
{
- union pfsync_state_union *sp = buf;
+ struct pfsync_state_1500 *sp;
- pfsync_state_export(sp, st, PFSYNC_MSG_VERSION_1500);
+ sp = buf;
+ pfsync_state_export_1500(sp, st);
}
static void
diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c
--- a/sys/netpfil/pf/pf_ioctl.c
+++ b/sys/netpfil/pf/pf_ioctl.c
@@ -4118,8 +4118,7 @@
goto fail;
}
- pfsync_state_export((union pfsync_state_union*)&ps->state,
- s, PFSYNC_MSG_VERSION_1301);
+ pfsync_state_export_1301(&ps->state, s);
PF_STATE_UNLOCK(s);
break;
}
@@ -4185,8 +4184,7 @@
if (s->timeout == PFTM_UNLINKED)
continue;
- pfsync_state_export((union pfsync_state_union*)p,
- s, PFSYNC_MSG_VERSION_1301);
+ pfsync_state_export_1301(p, s);
p++;
nr++;
}
@@ -5795,11 +5793,10 @@
return (error);
}
-void
+static void
pfsync_state_export(union pfsync_state_union *sp, struct pf_kstate *st, int msg_version)
{
const char *tagname;
- bzero(sp, sizeof(union pfsync_state_union));
/* copy from state key */
sp->pfs_1301.key[PF_SK_WIRE].addr[0] = st->key[PF_SK_WIRE]->addr[0];
@@ -5932,6 +5929,30 @@
pf_state_counter_hton(st->bytes[1], sp->pfs_1301.bytes[1]);
}
+void
+pfsync_state_export_1301(struct pfsync_state_1301 *sp, struct pf_kstate *st)
+{
+ bzero(sp, sizeof(*sp));
+ pfsync_state_export((union pfsync_state_union *)sp, st,
+ PFSYNC_MSG_VERSION_1301);
+}
+
+void
+pfsync_state_export_1400(struct pfsync_state_1400 *sp, struct pf_kstate *st)
+{
+ bzero(sp, sizeof(*sp));
+ pfsync_state_export((union pfsync_state_union *)sp, st,
+ PFSYNC_MSG_VERSION_1400);
+}
+
+void
+pfsync_state_export_1500(struct pfsync_state_1500 *sp, struct pf_kstate *st)
+{
+ bzero(sp, sizeof(*sp));
+ pfsync_state_export((union pfsync_state_union *)sp, st,
+ PFSYNC_MSG_VERSION_1500);
+}
+
void
pf_state_export(struct pf_state_export *sp, struct pf_kstate *st)
{

File Metadata

Mime Type
text/plain
Expires
Wed, Sep 30, 2:24 AM (19 h, 37 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
39916816
Default Alt Text
D54163.diff (3 KB)

Event Timeline