aboutsummaryrefslogtreecommitdiff
path: root/sys/net/bpf.h
diff options
context:
space:
mode:
authorJustin Hibbits <jhibbits@FreeBSD.org>2023-01-12 20:17:33 +0000
committerJustin Hibbits <jhibbits@FreeBSD.org>2023-01-31 20:02:14 +0000
commit950cc1f44fbd5965db7b679c0aaf1bd9b432ec25 (patch)
tree3bd7d9e08b21d4ec78f92cac14b0291629f69720 /sys/net/bpf.h
parent1bfa548b1f1687f16a738590ee88843ed3c73ae8 (diff)
Diffstat (limited to 'sys/net/bpf.h')
-rw-r--r--sys/net/bpf.h27
1 files changed, 10 insertions, 17 deletions
diff --git a/sys/net/bpf.h b/sys/net/bpf.h
index e5b8898188f1..279d2f65e7fc 100644
--- a/sys/net/bpf.h
+++ b/sys/net/bpf.h
@@ -53,6 +53,7 @@ typedef int32_t bpf_int32;
typedef u_int32_t bpf_u_int32;
typedef int64_t bpf_int64;
typedef u_int64_t bpf_u_int64;
+struct ifnet;
/*
* Alignment macros. BPF_WORDALIGN rounds up to the next multiple of
@@ -421,8 +422,11 @@ struct bpf_if_ext {
void bpf_bufheld(struct bpf_d *d);
int bpf_validate(const struct bpf_insn *, int);
void bpf_tap(struct bpf_if *, u_char *, u_int);
+void bpf_tap_if(struct ifnet *, u_char *, u_int);
void bpf_mtap(struct bpf_if *, struct mbuf *);
+void bpf_mtap_if(struct ifnet *, struct mbuf *);
void bpf_mtap2(struct bpf_if *, void *, u_int, struct mbuf *);
+void bpf_mtap2_if(struct ifnet *, void *, u_int, struct mbuf *);
void bpfattach(struct ifnet *, u_int, u_int);
void bpfattach2(struct ifnet *, u_int, u_int, struct bpf_if **);
void bpfdetach(struct ifnet *);
@@ -444,22 +448,12 @@ bpf_peers_present(struct bpf_if *bpf)
return (0);
}
-#define BPF_TAP(_ifp,_pkt,_pktlen) do { \
- if (bpf_peers_present((_ifp)->if_bpf)) \
- bpf_tap((_ifp)->if_bpf, (_pkt), (_pktlen)); \
-} while (0)
-#define BPF_MTAP(_ifp,_m) do { \
- if (bpf_peers_present((_ifp)->if_bpf)) { \
- M_ASSERTVALID(_m); \
- bpf_mtap((_ifp)->if_bpf, (_m)); \
- } \
-} while (0)
-#define BPF_MTAP2(_ifp,_data,_dlen,_m) do { \
- if (bpf_peers_present((_ifp)->if_bpf)) { \
- M_ASSERTVALID(_m); \
- bpf_mtap2((_ifp)->if_bpf,(_data),(_dlen),(_m)); \
- } \
-} while (0)
+#define BPF_TAP(_ifp,_pkt,_pktlen) \
+ bpf_tap_if((_ifp), (_pkt), (_pktlen))
+#define BPF_MTAP(_ifp,_m) \
+ bpf_mtap_if((_ifp), (_m))
+#define BPF_MTAP2(_ifp,_data,_dlen,_m) \
+ bpf_mtap2_if((_ifp), (_data), (_dlen), (_m))
#endif
/*
@@ -468,7 +462,6 @@ bpf_peers_present(struct bpf_if *bpf)
#define BPF_MEMWORDS 16
/* BPF attach/detach events */
-struct ifnet;
typedef void (*bpf_track_fn)(void *, struct ifnet *, int /* dlt */,
int /* 1 =>'s attach */);
EVENTHANDLER_DECLARE(bpf_track, bpf_track_fn);