Skip to content

RFC Class driver for raw Ethernet packets

Richard Cochran xenomai 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest1 patch 19 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/1Add a class driver for raw Ethernet packets.include/rtdm/rtpacket.h ksrc/drivers/testing/Kconfig ksrc/drivers/testing/Makefile +1 more+462 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [Xenomai-core] [RFC 0/1] Class driver for raw Ethernet packets

This patch adds a class driver for raw Ethernet drivers under Xenomai. The goal is to support industrial protocols such as EtherCAT and IEC 61850, where the "stack" is a user space program needing direct access at the packet level. The class driver offers interfaces for registration, buffer management, and packet sending/receiving.

Although this patch is a kind of first draft, still I have it working on the Freescale P2020 with a real world application, with very good results. I can post a patch series for the gianfar driver in the ipipe tree, if anyone is interested.

The user space interface is a character device and not a socket, simply because my applications will probably never need fancy socket options. The class driver could surely be made to offer a socket instead, but I think the character is sufficient.

The class driver is clearly in the wrong directory within the source tree, but I put it there just to get started. It really does not fit to any of the other drivers, so it probably would need its own place under ksrc/drivers.

Thanks in advance for your comments,

Richard

Richard Cochran (1):
Add a class driver for raw Ethernet packets.

 include/rtdm/rtpacket.h       |   99 ++++++++++++
 ksrc/drivers/testing/Kconfig  |    8 +
 ksrc/drivers/testing/Makefile |    3 +
 ksrc/drivers/testing/packet.c |  352 +++++++++++++++++++++++++++++++++++++++++
 4 files changed, 462 insertions(+), 0 deletions(-)
 create mode 100644 include/rtdm/rtpacket.h
 create mode 100644 ksrc/drivers/testing/packet.c
Signature · 1 line
1.7.2.5