Changeset View
Changeset View
Standalone View
Standalone View
head/sys/netpfil/ipfw/ip_fw_bpf.c
Show First 20 Lines • Show All 155 Lines • ▼ Show 20 Lines | if (V_pflog_if != NULL) { | ||||
return (EEXIST); | return (EEXIST); | ||||
} | } | ||||
V_pflog_if = ifp; | V_pflog_if = ifp; | ||||
LOGIF_WUNLOCK(); | LOGIF_WUNLOCK(); | ||||
return (0); | return (0); | ||||
} | } | ||||
void | void | ||||
ipfw_bpf_tap(u_char *pkt, u_int pktlen) | |||||
{ | |||||
LOGIF_RLOCK_TRACKER; | |||||
LOGIF_RLOCK(); | |||||
if (V_log_if != NULL) | |||||
BPF_TAP(V_log_if, pkt, pktlen); | |||||
LOGIF_RUNLOCK(); | |||||
} | |||||
void | |||||
ipfw_bpf_mtap(struct mbuf *m) | |||||
{ | |||||
LOGIF_RLOCK_TRACKER; | |||||
LOGIF_RLOCK(); | |||||
if (V_log_if != NULL) | |||||
BPF_MTAP(V_log_if, m); | |||||
LOGIF_RUNLOCK(); | |||||
} | |||||
void | |||||
ipfw_bpf_mtap2(void *data, u_int dlen, struct mbuf *m) | ipfw_bpf_mtap2(void *data, u_int dlen, struct mbuf *m) | ||||
{ | { | ||||
struct ifnet *logif; | struct ifnet *logif; | ||||
LOGIF_RLOCK_TRACKER; | LOGIF_RLOCK_TRACKER; | ||||
LOGIF_RLOCK(); | LOGIF_RLOCK(); | ||||
switch (dlen) { | switch (dlen) { | ||||
case (ETHER_HDR_LEN): | case (ETHER_HDR_LEN): | ||||
▲ Show 20 Lines • Show All 43 Lines • Show Last 20 Lines |