aboutsummaryrefslogtreecommitdiff
path: root/sys/net/pfvar.h
diff options
context:
space:
mode:
authorKristof Provost <kp@FreeBSD.org>2021-05-12 11:24:57 +0000
committerKristof Provost <kp@FreeBSD.org>2021-05-20 10:49:27 +0000
commitd0fdf2b28f9b981d2cb98e9da8a715e046ef1e92 (patch)
tree7fad55052edad37a34e4bdc39c73d27f551e0023 /sys/net/pfvar.h
parentbc941291473d8a2164e4ffc3f3e7e6a356cbe747 (diff)
downloadsrc-d0fdf2b28f9b981d2cb98e9da8a715e046ef1e92.tar.gz
src-d0fdf2b28f9b981d2cb98e9da8a715e046ef1e92.zip
pf: Track the original kif for floating states
Track (and display) the interface that created a state, even if it's a floating state (and thus uses virtual interface 'all'). MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D30245
Diffstat (limited to 'sys/net/pfvar.h')
-rw-r--r--sys/net/pfvar.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h
index d9e35dae753a..2202421086d2 100644
--- a/sys/net/pfvar.h
+++ b/sys/net/pfvar.h
@@ -522,6 +522,7 @@ struct pf_state {
struct pf_addr rt_addr;
struct pf_state_key *key[2]; /* addresses stack and wire */
struct pfi_kkif *kif;
+ struct pfi_kkif *orig_kif; /* The real kif, even if we're a floating state (i.e. if == V_pfi_all). */
struct pfi_kkif *rt_kif;
struct pf_ksrc_node *src_node;
struct pf_ksrc_node *nat_src_node;
@@ -1475,6 +1476,7 @@ extern int pf_unlink_state(struct pf_state *, u_int);
#define PF_ENTER_LOCKED 0x00000001
#define PF_RETURN_LOCKED 0x00000002
extern int pf_state_insert(struct pfi_kkif *,
+ struct pfi_kkif *,
struct pf_state_key *,
struct pf_state_key *,
struct pf_state *);