Home | History | Annotate | Download | only in netcan
History log of /src/sys/netcan/can_var.h
RevisionDateAuthorComments
 1.3  03-Sep-2022  thorpej Convert CAN from a legacy netisr to pktqueue.
 1.2  27-May-2017  bouyer branches: 1.2.6; 1.2.10;
merge the bouyer-socketcan branch to HEAD.

CAN stands for Controller Area Network, a broadcast network used
in automation and automotive fields. For example, the NMEA2000 standard
developped for marine devices uses a CAN network as the link layer.

This is an implementation of the linux socketcan API:
https://www.kernel.org/doc/Documentation/networking/can.txt
you can also see can(4).

This adds a new socket family (AF_CAN) and protocol (PF_CAN),
as well as the canconfig(8) utility, used to set timing parameter of
CAN hardware. Also inclued is a driver for the CAN controller
found in the allwinner A20 SoC (I tested it with an Olimex lime2 board,
connected with PIC18-based CAN devices).

There is also the canloop(4) pseudo-device, which allows to use
the socketcan API without CAN hardware.

At this time the CANFD part of the linux socketcan API is not implemented.
Error frames are not implemented either. But I could get the cansend and
canreceive utilities from the canutils package to build and run with minimal
changes. tcpudmp(8) can also be used to record frames, which can be
decoded with etherreal.
 1.1  15-Jan-2017  bouyer branches: 1.1.2;
file can_var.h was initially added on branch bouyer-socketcan.
 1.1.2.9  25-May-2017  bouyer Allow can_bpf_mtap() to call bpf_mtap_softint() when needed.
 1.1.2.8  22-May-2017  bouyer factor out if_attach() and bpf_attach() calls in can_ifattach().
Introduce can_ifdetach().
Introduce can_bpf_mtap(), which converts the can_id to network byte
order (as required by tcpdump/wireshark). Thanks to Guy Harris for
poiting this requirement.
 1.1.2.7  18-Apr-2017  bouyer include socketvar.h, so avoid a warning on struct sockopt *
 1.1.2.6  18-Apr-2017  bouyer Add can_ifinit_timings() helper function, which initialise timing parameters
to known invalid values.
 1.1.2.5  17-Apr-2017  bouyer Add infranstructure to configure timings from userland on a can interface.
This uses the SIOCGDRVSPEC/SIOCSDRVSPEC ioctls.
Compile-tested only.
 1.1.2.4  05-Feb-2017  bouyer Introduce can_ifattach(), for common setups of can interfaces.
Convert output to a ifq and change canloop_output to canloop_ifstart
 1.1.2.3  05-Feb-2017  bouyer Centralize mbuf tag cleanup, it will be used by real interface drivers too.
 1.1.2.2  16-Jan-2017  bouyer Use PACKET_TAG_SO to store the sender's struct socket pointer, and use
it to implement socket options CAN_RAW_LOOPBACK and CAN_RAW_RECV_OWN_MSGS.
 1.1.2.1  15-Jan-2017  bouyer Initial commit of a CAN socket layer, compatible with linux SoccketCAN
(but incomplete). Based on work from Robert Swindells.
 1.2.10.2  03-Dec-2017  jdolecek update from HEAD
 1.2.10.1  27-May-2017  jdolecek file can_var.h was added on branch tls-maxphys on 2017-12-03 11:39:03 +0000
 1.2.6.2  28-Aug-2017  skrll Sync with HEAD
 1.2.6.1  27-May-2017  skrll file can_var.h was added on branch nick-nhusb on 2017-08-28 17:53:12 +0000

RSS XML Feed