From: Stathis Voukelatos <stathis.voukelatos-zgcZaY4qg+21Qrn1Bg8BZw@public.gmane.org>
To: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: abrestic-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org,
Stathis Voukelatos
<stathis.voukelatos-zgcZaY4qg+21Qrn1Bg8BZw@public.gmane.org>
Subject: [PATCH v2 0/3] net: Linn Ethernet Packet Sniffer driver
Date: Tue, 17 Feb 2015 14:03:30 +0000 [thread overview]
Message-ID: <cover.1424181053.git.stathis.voukelatos@linn.co.uk> (raw)
This patch adds support the Ethernet Packet Sniffer H/W module
developed by Linn Products Ltd and found in the IMG Pistachio SoC.
The module allows Ethernet packets to be parsed, matched against
a user-defined pattern and timestamped. It sits between a 100M
Ethernet MAC and PHY and is completely passive with respect to
Ethernet frames.
Matched packet bytes and timestamp values are returned through a
FIFO. Timestamps are provided to the module through an externally
generated Gray-encoded counter.
The command string for packet matching is stored in module RAM
and consists of a sequence of 16-bit entries. Each entry includes
an 8-bit command code and and 8-bit data value. Valid command
codes are:
0 - Don't care
1 - Match: packet data must match command string byte
2 - Copy: packet data will be copied to FIFO
3 - Match/Stamp: if packet data matches string byte, a timestamp
is copied into the FIFO
4 - Copy/Done: packet data will be copied into the FIFO.
This command terminates the command string.
The driver consists of two modules:
- Core: it provides a common framework for managing backend packet
sniffer implementations. Each backend channel is registered
by the core as a netdev, which can be accessed from user
space through a raw packet socket.
- Ethernet Packet Sniffer backend: provides the driver for the
Linn Ethernet Packet Sniffer H/W modules.
The split between a core and backend modules allows for other
implementations to be added in the future apart of the Ethernet
packet sniffer presented in this patch set.
Changes:
v2:
* Complete redesign of core framework to use netdev instead of
the generic netlink framework
* Updated device tree binding
* A number of minor code improvements suggested by code review
Stathis Voukelatos (3):
Ethernet packet sniffer: Device tree binding and vendor prefix
Packet sniffer core framework
Linn Ethernet packet sniffer driver
.../bindings/net/linn-ether-packet-sniffer.txt | 42 +++
.../devicetree/bindings/vendor-prefixes.txt | 1 +
MAINTAINERS | 6 +
drivers/net/Kconfig | 2 +
drivers/net/Makefile | 2 +
drivers/net/pkt-sniffer/Kconfig | 19 +
drivers/net/pkt-sniffer/Makefile | 7 +
drivers/net/pkt-sniffer/backends/ether/channel.c | 392 +++++++++++++++++++++
drivers/net/pkt-sniffer/backends/ether/channel.h | 81 +++++
drivers/net/pkt-sniffer/backends/ether/hw.h | 46 +++
drivers/net/pkt-sniffer/backends/ether/platform.c | 301 ++++++++++++++++
drivers/net/pkt-sniffer/core/module.c | 37 ++
drivers/net/pkt-sniffer/core/netdev.c | 254 +++++++++++++
drivers/net/pkt-sniffer/core/snf_core.h | 60 ++++
include/uapi/linux/pkt_sniffer.h | 33 ++
15 files changed, 1283 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/linn-ether-packet-sniffer.txt
create mode 100644 drivers/net/pkt-sniffer/Kconfig
create mode 100644 drivers/net/pkt-sniffer/Makefile
create mode 100644 drivers/net/pkt-sniffer/backends/ether/channel.c
create mode 100644 drivers/net/pkt-sniffer/backends/ether/channel.h
create mode 100644 drivers/net/pkt-sniffer/backends/ether/hw.h
create mode 100644 drivers/net/pkt-sniffer/backends/ether/platform.c
create mode 100644 drivers/net/pkt-sniffer/core/module.c
create mode 100644 drivers/net/pkt-sniffer/core/netdev.c
create mode 100644 drivers/net/pkt-sniffer/core/snf_core.h
create mode 100644 include/uapi/linux/pkt_sniffer.h
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next reply other threads:[~2015-02-17 14:03 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-17 14:03 Stathis Voukelatos [this message]
2015-02-17 14:03 ` [PATCH v2 1/3] Ethernet packet sniffer: Device tree binding and vendor prefix Stathis Voukelatos
2015-02-17 14:16 ` Sergei Shtylyov
2015-02-17 14:51 ` Mark Rutland
2015-02-17 16:22 ` Stathis Voukelatos
2015-02-17 16:35 ` Mark Rutland
2015-02-17 17:13 ` Stathis Voukelatos
2015-02-17 17:30 ` Mark Rutland
2015-02-18 9:40 ` Stathis Voukelatos
2015-02-18 12:11 ` Mark Rutland
2015-02-18 13:56 ` Stathis Voukelatos
2015-02-17 14:03 ` [PATCH v2 2/3] Packet sniffer core framework Stathis Voukelatos
2015-02-18 15:42 ` Daniel Borkmann
[not found] ` <54E4B2CE.2090104-FeC+5ew28dpmcu3hnIyYJQ@public.gmane.org>
2015-02-18 16:44 ` Stathis Voukelatos
[not found] ` <cover.1424181053.git.stathis.voukelatos-zgcZaY4qg+21Qrn1Bg8BZw@public.gmane.org>
2015-02-17 14:03 ` [PATCH v2 3/3] Linn Ethernet packet sniffer driver Stathis Voukelatos
2015-02-18 21:08 ` [PATCH v2 0/3] net: Linn Ethernet Packet Sniffer driver Richard Cochran
[not found] ` <20150218210830.GA7778-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2015-02-23 9:37 ` Stathis Voukelatos
2015-02-25 9:50 ` Richard Cochran
2015-02-25 10:53 ` Stathis Voukelatos
2015-02-25 14:21 ` Richard Cochran
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1424181053.git.stathis.voukelatos@linn.co.uk \
--to=stathis.voukelatos-zgczay4qg+21qrn1bg8bzw@public.gmane.org \
--cc=abrestic-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).