]> git.baikalelectronics.ru Git - kernel.git/commit
FDDI: defza: Support capturing outgoing SMT traffic
authorMaciej W. Rozycki <macro@linux-mips.org>
Tue, 9 Oct 2018 22:57:49 +0000 (23:57 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 16 Oct 2018 04:46:06 +0000 (21:46 -0700)
commit1881b4aac15e9b25f166bf79fd7336d85e6e9a66
tree5cbd5bcf3514e362f9f42275961b4880deb92fac
parentb250e15d5a1082fb7a0432c1d23197e3d4a22bf0
FDDI: defza: Support capturing outgoing SMT traffic

DEC FDDIcontroller 700 (DEFZA) uses a Tx/Rx queue pair to communicate
SMT frames with adapter's firmware.  Any SMT frame received from the RMC
via the Rx queue is queued back by the driver to the SMT Rx queue for
the firmware to process.  Similarly the firmware uses the SMT Tx queue
to supply the driver with SMT frames which are queued back to the Tx
queue for the RMC to send to the ring.

When a network tap is attached to an FDDI interface handled by `defza'
any incoming SMT frames captured are queued to our usual processing of
network data received, which in turn delivers them to any listening
taps.

However the outgoing SMT frames produced by the firmware bypass our
network protocol stack and are therefore not delivered to taps.  This in
turn means that taps are missing a part of network traffic sent by the
adapter, which may make it more difficult to track down network problems
or do general traffic analysis.

Call `dev_queue_xmit_nit' then in the SMT Tx path, having checked that
a network tap is attached, with a newly-created `dev_nit_active' helper
wrapping the usual condition used in the transmit path.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/fddi/defza.c
include/linux/netdevice.h
net/core/dev.c