From: Yu Watanabe Date: Sun, 15 Aug 2021 16:53:26 +0000 (+0900) Subject: network: can: add missing control modes X-Git-Tag: v250-rc1~826^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6dd84c9e86e65fcc26289938794ee71477c8c16b;p=thirdparty%2Fsystemd.git network: can: add missing control modes --- diff --git a/man/systemd.network.xml b/man/systemd.network.xml index 299c56df0ad..c5c2e48ac75 100644 --- a/man/systemd.network.xml +++ b/man/systemd.network.xml @@ -3027,6 +3027,36 @@ IPv6Token=prefixstable:2002:da8:1:: + + Loopback= + + Takes a boolean. When yes, loopback mode is enabled. When the + loopback mode is enabled, the interface treats messages transmitted by itself as received + messages. The loopback mode is important to debug CAN networks. When unset, the kernel's + default will be used. + + + + OneShot= + + Takes a boolean. When yes, one-shot mode is enabled. When unset, + the kernel's default will be used. + + + + PresumeAck= + + Takes a boolean. When yes, the interface will ignore missing CAN + ACKs. When unset, the kernel's default will be used. + + + + ClassicDataLengthCode= + + Takes a boolean. When yes, the interface will handle the 4bit data + length code (DLC). When unset, the kernel's default will be used. + + diff --git a/src/network/networkd-network-gperf.gperf b/src/network/networkd-network-gperf.gperf index 9ba910f903e..489d0480563 100644 --- a/src/network/networkd-network-gperf.gperf +++ b/src/network/networkd-network-gperf.gperf @@ -349,11 +349,15 @@ CAN.SamplePoint, config_parse_permille, CAN.DataBitRate, config_parse_can_bitrate, 0, offsetof(Network, can_data_bitrate) CAN.DataSamplePoint, config_parse_permille, 0, offsetof(Network, can_data_sample_point) CAN.RestartSec, config_parse_can_restart_usec, 0, offsetof(Network, can_restart_us) +CAN.Loopback, config_parse_can_control_mode, CAN_CTRLMODE_LOOPBACK, 0 CAN.ListenOnly, config_parse_can_control_mode, CAN_CTRLMODE_LISTENONLY, 0 CAN.TripleSampling, config_parse_can_control_mode, CAN_CTRLMODE_3_SAMPLES, 0 +CAN.OneShot, config_parse_can_control_mode, CAN_CTRLMODE_ONE_SHOT, 0 CAN.BusErrorReporting, config_parse_can_control_mode, CAN_CTRLMODE_BERR_REPORTING, 0 CAN.FDMode, config_parse_can_control_mode, CAN_CTRLMODE_FD, 0 +CAN.PresumeACK, config_parse_can_control_mode, CAN_CTRLMODE_PRESUME_ACK, 0 CAN.FDNonISO, config_parse_can_control_mode, CAN_CTRLMODE_FD_NON_ISO, 0 +CAN.ClassicDataLengthCode, config_parse_can_control_mode, CAN_CTRLMODE_CC_LEN8_DLC, 0 CAN.Termination, config_parse_tristate, 0, offsetof(Network, can_termination) QDisc.Parent, config_parse_qdisc_parent, _QDISC_KIND_INVALID, 0 QDisc.Handle, config_parse_qdisc_handle, _QDISC_KIND_INVALID, 0 diff --git a/test/fuzz/fuzz-network-parser/directives.network b/test/fuzz/fuzz-network-parser/directives.network index 2dca1cda3ab..2f96bb8db99 100644 --- a/test/fuzz/fuzz-network-parser/directives.network +++ b/test/fuzz/fuzz-network-parser/directives.network @@ -266,6 +266,10 @@ TripleSampling= BusErrorReporting= Termination= ListenOnly= +Loopback= +OneShot= +PresumeACK= +ClassicDataLengthCode= [Address] DuplicateAddressDetection= AutoJoin=