DLT.CONF(5)

๐Ÿฆ‹ dlt.conf(5) โ€” the DLT daemon config file ๐Ÿฆ‹

๐ŸŽ€ NAME ๐ŸŽ€

dlt.conf โ€” the DLT daemon configuration file. Yes bestie, this is the config file that makes the DLT daemon do its thing. ๐Ÿ’…

โœจ DESCRIPTION โœจ

Okay so picture this: the DLT daemon is the central application that gathers logs and traces from all the different applications. It stores them temporarily or permanently, and then transfers them to a DLT client application. That client could be running directly on the COVESA system, or โ€” more likely โ€” on some external tester device. No cap. ๐Ÿฆ‹

The configuration file dlt.conf lets you configure the different runtime behaviour of the dlt-daemon. It is loaded during startup of dlt-daemon. Periodt. ๐Ÿ’–


โœจ GENERAL OPTIONS โœจ

Verbose

  • Verbose โ€” Start daemon in debug mode, so that all internal debug information is printed out on the console. ๐Ÿ›
    • Default: Off

Daemonize

  • Daemonize โ€” If set to 1 DLT daemon is started in background as daemon. This option is only needed in System V init systems. In systemd based startup systems the daemon is started by spawning own process. ๐Ÿ‘‘
    • Default: 0

SendSerialHeader

  • SendSerialHeader โ€” If set to 1 DLT daemon sends each DLT message to the client with prepending the serial header DLS0x01. ๐Ÿ“จ
    • Default: 0

SendContextRegistration

  • SendContextRegistration โ€” If set to 1 each context which is registered from an application in the DLT daemon generates a message to inform the DLT client about the new context. โœจ
    • Default: 1

SendMessageTime

  • SendMessageTime โ€” If set to 1 DLt daemon sends each second a DLT control message to the client with the current timestamp from the system. โฐ
    • Default: 0

ECUId

  • ECUId โ€” This value sets the ECU Id, which is sent with each DLT message. ๐Ÿ†”
    • Default: ECU1

SharedMemorySize

  • SharedMemorySize โ€” This value sets the size of the shared memory, which is used to exchange DLT messages between applications and daemon. This value is defined in bytes. If this value is changed the system must be rebooted to take effect. ๐Ÿ”„
    • Default: 100000

PersistanceStoragePath

  • PersistanceStoragePath โ€” This is the directory path, where the DLT daemon stores its runtime configuration. Runtime configuration includes stored log levels, trace status and changed logging mode. ๐Ÿ“
    • Default: /tmp

LoggingMode

  • LoggingMode โ€” The logging console for internal logging of dlt-daemon. 0 = log to stdout, 1 = log to syslog, 2 = log to file (see LoggingFilename), 3 = log to stderr. ๐Ÿ“
    • Default: 0

LoggingLevel

  • LoggingLevel โ€” The internal log level, up to which logs are written. LOG_EMERG = 0, LOG_ALERT = 1, LOG_CRIT = 2, LOG_ERR = 3, LOG_WARNING = 4, LOG_NOTICE = 5, LOG_INFO = 6, LOG_DEBUG = 7. ๐Ÿ”
    • Default: 6

LoggingFilename

  • LoggingFilename โ€” If LoggingMode is set to 2 logs are written to the file path given here. ๐Ÿ“„
    • Default: /tmp/dlt.log

EnableLoggingFileLimit

  • EnableLoggingFileLimit โ€” Only relevant for logging in file (LoggingMode = 2). If EnableLoggingFileLimit is set to 0, the daemon logs to one logging file without any size limit. If EnableLoggingFileLimit is set to 1, the daemon considers the size limits configured by LoggingFileSize and LoggingFileMaxSize. If the limits are configured accordingly, multiple log files are used. ๐Ÿ—‚๏ธ
    • Default: 0

LoggingFileSize

  • LoggingFileSize โ€” Only considered for logging in file (LoggingMode = 2) and EnableLoggingFileLimit = 1. Maximum size in bytes of one logging file. ๐Ÿ“
    • Default: 250000

LoggingFileMaxSize

  • LoggingFileMaxSize โ€” Only considered for logging in file (LoggingMode = 2) and EnableLoggingFileLimit = 1. Maximum size in bytes of all logging files. ๐Ÿ“ฆ
    • Default: 1000000

TimeOutOnSend

  • TimeOutOnSend โ€” Socket timeout in seconds for sending to clients. โณ
    • Default: 4

RingbufferMinSize

  • RingbufferMinSize โ€” The minimum size of the Ringbuffer, used for storing temporary DLT messages, until client is connected. ๐Ÿ”„
    • Default: 500000

RingbufferMaxSize

  • RingbufferMaxSize โ€” The max size of the Ringbuffer, used for storing temporary DLT messages, until client is connected. ๐Ÿ”„
    • Default: 10000000

RingbufferStepSize

  • RingbufferStepSize โ€” The step size the Ringbuffer is increased, used for storing temporary DLT messages, until client is connected. ๐Ÿ“ˆ
    • Default: 500000

Daemon FIFOSize

  • Daemon FIFOSize โ€” The size of Daemon FIFO (MinSize: depend on pagesize of system, MaxSize: please check /proc/sys/fs/pipe-max-size). This is only supported for Linux. ๐Ÿง
    • Default: 65536

ContextLogLevel

  • ContextLogLevel โ€” Initial log-level that is sent when an application registers. DLT_LOG_OFF = 0, DLT_LOG_FATAL = 1, DLT_LOG_ERROR = 2, DLT_LOG_WARN = 3, DLT_LOG_INFO = 4, DLT_LOG_DEBUG = 5, DLT_LOG_VERBOSE = 6. ๐ŸŽš๏ธ
    • Default: 4

ContextTraceStatus

  • ContextTraceStatus โ€” Initial trace-status that is sent when an application registers. DLT_TRACE_STATUS_OFF = 0, DLT_TRACE_STATUS_ON = 1. ๐ŸŽš๏ธ
    • Default: 0

ForceContextLogLevelAndTraceStatus

  • ForceContextLogLevelAndTraceStatus โ€” Force log level and trace status of contexts to not exceed โ€œContextLogLevelโ€ and โ€œContextTraceStatusโ€. If set to 1 (ON) whenever a context registers or changes the log-level it has to be lower or equal to ContextLogLevel. ๐Ÿ’ช
    • Default: 0

InjectionMode

  • InjectionMode โ€” If set to 0, the injection mode (see here) is disabled. ๐Ÿ’‰
    • Default: 1

๐Ÿ”ฅ GATEWAY CONFIGURATION ๐Ÿ”ฅ

GatewayMode

  • GatewayMode โ€” Enable Gateway mode. ๐ŸŒ‰
    • Default: 0

GatewayConfigFile

  • GatewayConfigFile โ€” Read gateway configuration from another location. ๐Ÿ“‚
    • Default: /etc/dlt_gateway.conf

๐Ÿ” Permission configuration ๐Ÿ”

DLT daemon runs with e.g. User: covesa_dlt Group: covesa_dlt. ๐Ÿ‘‘

DLT user applications run with different user and group than dlt-daemon but with supplementary group: dlt_user_apps_group. ๐Ÿ‘ฅ

/dlt FIFO will be created by dlt-daemon with User: covesa_dlt Group: dlt_user_apps_group Permission: 620.

so that only dlt-daemon can read and only processes in dlt_user_apps_group can write. ๐Ÿ”’

/dltpipes will be created by dlt-daemon with User: covesa_dlt Group: covesa_dlt Permission: 3733 (i.e Sticky bit and SGID turned on). ๐Ÿ“Œ

/dltpipes/dlt FIFO will be created by dlt application (user lib) with User: Group: covesa_dlt (inherited from dltpipes/ due to SGID) Permission: 620. ๐Ÿงฌ

Thus DLT user applications (and also or attackers) can create the dlt FIFO (for communication from dlt-daemon to DLT user application) under /dltpipes/. Since sticky bit is set the applications who creates the FIFO can only rename/delete it. ๐Ÿ›ก๏ธ

Since SGID of /dltpipes is set the group of dlt FIFO will be covesa_dlt which enables dlt daemon to have write permission on all the dlt FIFO. โœ๏ธ

One dlt user application cannot access dlt FIFO created by other dlt user application (if they run with different user). ๐Ÿšซ

Owner group of daemon FIFO directory (Default: /tmp/dlt) (If not set, primary group of dlt-daemon process is used). Application should have write permission to this group for tracing into dlt. For this option to work, dlt-daemon should have this group in its supplementary group. ๐Ÿ“

DaemonFifoGroup

  • DaemonFifoGroup โ€” Owner group of daemon FIFO directory (If not set, primary group of dlt-daemon process is used). Application should have write permission to this group for tracing into dlt. For this option to work, dlt-daemon should have this group in its Supplementary group. ๐Ÿ‘ฅ
    • Default: group of dlt-daemon process (/tmp/dlt)

๐ŸŽฎ CONTROL APPLICATION OPTIONS ๐ŸŽฎ

ControlSocketPath

  • ControlSocketPath โ€” Path to control socket. ๐Ÿ”Œ
    • Default: /tmp/dlt-ctrl.sock

๐Ÿ“ผ OFFLINE TRACE OPTIONS ๐Ÿ“ผ

OfflineTraceDirectory

  • OfflineTraceDirectory โ€” Store DLT messages to local directory, if not set offline Trace is off. ๐Ÿ“‚
    • Default: /tmp

OfflineTraceFileSize

  • OfflineTraceFileSize โ€” This value defines the max size of a offline trace file, if offline trace is enabled. This value is defined in bytes. If the files size of the current used log file is exceeded, a new log file is created. ๐Ÿ“
    • Default: 1000000

OfflineTraceMaxSize

  • OfflineTraceMaxSize โ€” This value defines the max offline Trace memory size, if offline trace is enabled. This value is defined in bytes. If the overall offline trace size is exceeded, the oldest log files are deleted, until a new trace file fits the overall offline trace max size. ๐Ÿ—‘๏ธ
    • Default: 4000000

OfflineTraceFileNameTimestampBased

  • OfflineTraceFileNameTimestampBased โ€” Filename timestamp based or index based. 1 = timestamp based, 0 = index based. ๐Ÿ•ฐ๏ธ
    • Default: Function is disabled

๐Ÿ–จ๏ธ LOCAL CONSOLE OUTPUT OPTIONS ๐Ÿ–จ๏ธ

PrintASCII

  • PrintASCII โ€” Prints each received DLT message from the application in ASCII to the local console. This option should only be enabled for debugging purpose. ๐Ÿ›
    • Default: Function is disabled

PrintHex

  • PrintHex โ€” Prints each received DLT message from the application in ASCII to the local console. The payload is printed in Hex. This option should only be enabled for debugging purpose. ๐Ÿ”ข
    • Default: Function is disabled

PrintHeadersOnly

  • PrintHeadersOnly โ€” Prints each received DLT message from the application in ASCII to the local console. Only the header is printed. This option should only be enabled for debugging purpose. ๐Ÿ“‹
    • Default: Function is disabled

๐Ÿ”Œ SERIAL CLIENT OPTIONS ๐Ÿ”Œ

RS232DeviceName

  • RS232DeviceName โ€” If this value is set to a serial device name, e.g. /dev/ttyS0, a serial port is used for logging to a client. ๐Ÿ–ฅ๏ธ
    • Default: Serial port for logging is disabled

RS232Baudrate

  • RS232Baudrate โ€” The used serial baud rate, if serial logging is enabled. The RS232DeviceName must be set to enable serial logging. โšก
    • Default: 115200

RS232SyncSerialHeader

  • RS232SyncSerialHeader โ€” If serial logging is enabled, each received DLT message is checked to contain a serial header. If the DLT message contains no serial header, the message is ignored. ๐Ÿšซ
    • Default: Function is disabled

๐ŸŒ TCP CLIENT OPTIONS ๐ŸŒ

TCPSyncSerialHeader

  • TCPSyncSerialHeader โ€” Each received DLT message on a TCP connection is checked to contain a serial header. If the DLT message contains no serial header, the message is ignored. ๐Ÿšซ
    • Default: Function is disabled

๐Ÿš— ECU SOFTWARE VERSION OPTIONS ๐Ÿš—

SendECUSoftwareVersion

  • SendECUSoftwareVersion โ€” Periodically send ECU version info. 0 = disabled, 1 = enabled. ๐Ÿ“ก
    • Default: Function is disabled

PathToECUSoftwareVersion

  • PathToECUSoftwareVersion โ€” Absolute path to file storing version information - if disabled the DLT version will be send. ๐Ÿ“
    • Default: Function is disabled.

๐Ÿ•ฐ๏ธ TIMEZONE INFO OPTIONS ๐Ÿ•ฐ๏ธ

SendTimezone

  • SendTimezone โ€” Periodically send timezone info. 0 = disabled, 1 = enabled. ๐ŸŒ
    • Default: Function is disabled

๐Ÿ“ฆ OFFLINE LOGSTORAGE OPTIONS ๐Ÿ’พ

okay so this whole block is about storing your DLT messages offline โ€” like, the daemon's little diary that keeps the receipts even when nobody's watching. bestie, these are the knobs ๐ŸŽ€

  • OfflineLogstorageMaxDevices โ€” the max number of devices you're allowed to use as offline logstorage devices, fr fr. 0 means disabled, and the actual range you can pick from is 1 .. DLT_OFFLINE_LOGSTORAGE_MAX_DEVICES.

Default: 0 (which, yes, means the whole function is off โ€” it's giving "lights off, nobody home" ๐Ÿ™ˆ)

  • OfflineLogstorageDirPath โ€” the path where all those DLT offline log storage messages get parked, like a lil garage for your logs.

Default: off

  • OfflineLogstorageTimestamp โ€” slaps a timestamp onto the log file name so you always know when a file was born โœจ. 0 = disabled, 1 = enabled.

Default: 0

  • OfflineLogstorageDelimiter โ€” puts a delimiter in the log file name too. only punctuation characters allowed here, so no funny business with letters, bestie. periodt.

Default: _

  • OfflineLogstorageMaxCounter โ€” the wrap-around value for the log file count in the file name. it just loops back when it hits the top ๐Ÿ”

Default: UINT_MAX

  • OfflineLogstorageCacheSize โ€” the maximal memory used for the log storage cache, measured in KB. keep it cute, keep it bounded ๐Ÿ’…

Default: 30000 KB

  • UDPConnectionSetup โ€” turn the UDP connection on or off. 0 = disabled, 1 = enabled.
  • UDPMulticastIPAddress โ€” the address where the daemon multicasts the log messages out into the void ๐ŸŒˆ (your network, technically).
  • UDPMulticastIPPort โ€” the Multicase IP port. yes that's exactly how it's spelled in the original, i'm not touching it ๐Ÿ˜ญ

Default: 3491


๐Ÿ‘‘ AUTHOR

Alexander Wenzel (alexander.aw.wenzel (at) bmw (dot) de) โ€” the icon, the legend, the main character who wrote this ๐Ÿซถ


Copyright (C) 2015 BMW AG. License MPL-2.0: Mozilla Public License version 2.0 http://mozilla.org/MPL/2.0/.


๐Ÿ’€ BUGS

See Github issue: https://github.com/COVESA/dlt-daemon/issues

not me telling you to go file a bug, but likeโ€ฆ if something's busted, that's the spot ๐Ÿ‘€

๐Ÿฆ‹ SEE ALSO

dlt-daemon(1), dlt-system(1)


and that's a wrap on DLT.CONF(5), bestie ๐Ÿ’– you made it all the way to the end of the manpage, which is genuinely iconic behavior. iykyk. go forth and configure slayfully โœจ๐ŸŒธ

๐Ÿ“ฆ where this page comes from