diff options
author | Kristof Provost <kp@FreeBSD.org> | 2020-12-12 14:14:56 +0000 |
---|---|---|
committer | Kristof Provost <kp@FreeBSD.org> | 2021-01-05 22:35:37 +0000 |
commit | 320c11165b6b1113b34f9e156cbf85b5ed0aa5eb (patch) | |
tree | 8ed0c6ee66d85ad36f96e0c75d34617e8568bb7a /sys/netpfil/pf/pf.h | |
parent | c3adacdad4d72b045058cd932351b94579cdd543 (diff) | |
download | src-320c11165b6b1113b34f9e156cbf85b5ed0aa5eb.tar.gz src-320c11165b6b1113b34f9e156cbf85b5ed0aa5eb.zip |
pf: Split pfi_kif into a user and kernel space structure
No functional change.
MFC after: 2 weeks
Sponsored by: Orange Business Services
Differential Revision: https://reviews.freebsd.org/D27761
Diffstat (limited to 'sys/netpfil/pf/pf.h')
-rw-r--r-- | sys/netpfil/pf/pf.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/sys/netpfil/pf/pf.h b/sys/netpfil/pf/pf.h index 4e73d815aece..511c60f5abd1 100644 --- a/sys/netpfil/pf/pf.h +++ b/sys/netpfil/pf/pf.h @@ -189,6 +189,29 @@ enum { PF_ADDR_ADDRMASK, PF_ADDR_NOROUTE, PF_ADDR_DYNIFTL, struct pf_rule; +/* keep synced with pfi_kif, used in RB_FIND */ +struct pfi_kif_cmp { + char pfik_name[IFNAMSIZ]; +}; + +struct pfi_kif { + char pfik_name[IFNAMSIZ]; + union { + RB_ENTRY(pfi_kif) _pfik_tree; + LIST_ENTRY(pfi_kif) _pfik_list; + } _pfik_glue; +#define pfik_tree _pfik_glue._pfik_tree +#define pfik_list _pfik_glue._pfik_list + u_int64_t pfik_packets[2][2][2]; + u_int64_t pfik_bytes[2][2][2]; + u_int32_t pfik_tzero; + u_int pfik_flags; + struct ifnet *pfik_ifp; + struct ifg_group *pfik_group; + u_int pfik_rulerefs; + TAILQ_HEAD(, pfi_dynaddr) pfik_dynaddrs; +}; + struct pf_status { uint64_t counters[PFRES_MAX]; uint64_t lcounters[LCNT_MAX]; |