• Maciej W. Rozycki's avatar
    FDDI: defza: Support capturing outgoing SMT traffic · 9f9a742d
    Maciej W. Rozycki authored
    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: default avatarMaciej W. Rozycki <macro@linux-mips.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    9f9a742d
dev.c 241 KB