diff options
Diffstat (limited to 'sys/netatm/atm_device.c')
-rw-r--r-- | sys/netatm/atm_device.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/netatm/atm_device.c b/sys/netatm/atm_device.c index d3bc45bc61c5..cbfdaa6c8c7d 100644 --- a/sys/netatm/atm_device.c +++ b/sys/netatm/atm_device.c @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include <sys/socketvar.h> #include <sys/syslog.h> #include <net/if.h> +#include <net/bpf.h> #include <netatm/port.h> #include <netatm/queue.h> #include <netatm/atm.h> @@ -371,6 +372,17 @@ atm_dev_lower(cmd, tok, arg1, arg2) } /* + * Send the packet to the interface's bpf if this vc has one. + */ + if (cvcp->cvc_conn->co_mpx == ATM_ENC_LLC && + cvcp->cvc_vcc && cvcp->cvc_vcc->vc_nif) { + struct ifnet *ifp = + (struct ifnet *)cvcp->cvc_vcc->vc_nif; + + BPF_MTAP(ifp, (KBuffer *)arg1); + } + + /* * Hand the data off to the device */ (*cup->cu_output)(cup, cvp, (KBuffer *)arg1); |