History log of /src/sys/netcan/can_var.h |
Revision | | Date | Author | Comments |
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
|