1# Copyright (c) 2019 Alexander Wachter
2# SPDX-License-Identifier: Apache-2.0
3
4config NET_L2_CANBUS
5	bool "Enable CANBUS L2 layer [EXPERIMENTAL]"
6	depends on CAN_NET
7	select NET_6LO
8	help
9	  Add a CANBUS L2 layer driver. This is the layer for IPv6 over CAN
10	  (6loCAN). It uses IPHC to compress the IP header and ISO-TP for
11	  flow control and reassembling.
12
13if NET_L2_CANBUS
14
15config NET_L2_CANBUS_USE_FIXED_ADDR
16	bool "Use fixed L2 address"
17	help
18	  Use a fixed L2 address for 6LoCAN instead of a random chosen one.
19
20config NET_L2_CANBUS_FIXED_ADDR
21	hex "L2 address"
22	depends on NET_L2_CANBUS_USE_FIXED_ADDR
23	range 0x00FF 0x3DEF
24
25config NET_L2_CANBUS_DAD_RETRIES
26	int "Number of DAD retries"
27	default 5
28	help
29	  Number of retries for Duplicate Address Detection.
30	  Greater than one only makes sense for random link layer addresses.
31
32config NET_L2_CANBUS_STMIN
33	int "STmin"
34	default 0
35	range 0 127
36	help
37	  Minimal separation time between frames in ms.
38	  The timer starts when the frame is queued and the next frame is
39	  transmitted after expiration.
40	  STmin is chosen by the receiver and transmitted in the FC
41	  (Flow Control) frame. See also: ISO 15765-2:2016
42
43config NET_L2_CANBUS_BS
44	int "BS (Block Size)"
45	default 8
46	range 0 256
47	help
48	  Number of CF (Contiguous Frame) PDUs before next FC (Flow Control)
49	  frame is sent. Zero value means all frames are sent consecutive
50	  without an additional FC frame.
51	  A BS counter at the sender counts from one to BS. When BS is reached,
52	  the sender waits for a FC frame again an BS is reset.
53	  See also: ISO 15765-2:2016
54
55config NET_L2_CANBUS_ETH_TRANSLATOR
56	bool "Enable 6LoCAN to Ethernet translator"
57	depends on NET_L2_ETHERNET
58	help
59	  Enable a 6LoCAN Ethernet translator. With this translator it is
60	  possible to connect a 6LoCAN network to a Ethernet network directly,
61	  via a Switch or through a router. Messages that goes through the
62	  translator have a special address and the MAC address is carried inline.
63	  The packet is forwarded with uncompressed IPv6 header.
64
65module = NET_L2_CANBUS
66module-dep = NET_LOG
67module-str = Log level for CANbus L2 layer
68module-help = Enables CANbus L2 to output debug messages.
69source "subsys/net/Kconfig.template.log_config.net"
70
71endif # NET_L2_CANBUS
72
73config NET_L2_CANBUS_RAW
74	bool "Enable CANBUS RAW l2 layer"
75	help
76	  Add a CANBUS L2 layer driver. This is the layer for SOCKET CAN.
77