tcpdump mailing list archives

Re: adding new devices to libpcap


From: Stephen Donnelly <stephen () endace com>
Date: Tue, 14 Jan 2003 17:02:17 +1300

Michael Richardson wrote:
"Sean" == Sean Irvine <sairvin () xtra co nz> writes:

    Sean> We have pieces of hardware capable of monitoring various
    Sean> kinds of network links.  This hardware is not configured
    Sean> as a network device (i.e. it is not ifconfig friendly),
    Sean> but we do have Linux drivers to talk to the hardware.

  I do not think that you need to be ifconfig'ed to talk to the packet
capture mechanisms on Linux. Just go read netif_rx() and netif_receive_skb()
in net/core/dev.c. So long as you can call with an skb, you are probably set.

  I'm not sure exactly what it means to be ifconfig-unfriendly - but as long
as you can pretend to be a network device in some fashion, and produce SKB's,
I think you should use the stock interfaces.

Our hardware is actually not a network device at all, but registers as a char device and provides mmapped IO for performance reasons. Hence packets avoid kernel memory management and the Linux packet-socket for efficiency.

Preferably we'd like to be able to compile a single libpcap which could operate in Linux on both 'traditional' network devices and on our hardware transparently.

This would be better I think than having a pcap-XYZ implementation that operated only on our hardware and not regular interfaces, requiring the compilation of applications twice against different libpcap libraries on a single system.

Looking at libpcap, could we add some small state items to the end of "struct pcap_md", if they were suitably ifdef'd? The eventual goal is to contribute any changes made back upstream, so indications on what is and isn't likely to be accepted would be useful.

Stephen.
--
-----------------------------------------------------------------------
    Stephen Donnelly BCMS PhD           email: sfd () endace com
    Endace Technology Ltd               phone: +64 7 839 0540
    Hamilton, New Zealand               cell:  +64 21 1104378
-----------------------------------------------------------------------

-
This is the TCPDUMP workers list. It is archived at
http://www.tcpdump.org/lists/workers/index.html
To unsubscribe use mailto:tcpdump-workers-request () tcpdump org?body=unsubscribe


Current thread: