I am using the dlt-daemon 2.18.10.
The dlt-daemon operating on the QNX target and two gateways configures theusing AUTOSAR based ECU node and another Android dlt-daemon.
Below the configuration configured in QNX
[PassiveNode1] -> Android DLT gateway configuration
IPaddress=x.x.x.x
Port=3490
EcuID=ANDR
Connect=OnStartup
Timeout=10
SendControl=0x03,0x04,0x13
SendSerialHeader=0
SendPeriodicControl=0x03:5,0x13:1
[PassiveNode2] -> Autosar DLT gateway configuration
IPaddress=x.x.x.x
Port=3490
EcuID=ECUA
Connect=OnStartup
Timeout=10
SendControl=0x03,0x04,0x13
SendSerialHeader=0
SendPeriodicControl=0x03:5,0x13:1
Problem:
- Any request to the dlt-control command line example adjusting the log level to all the passive node messages is going through segmentation (Header + Payload), and Autosar is not supporting TCP segmentation.
- If we control from the DLT-viewer, the DLT-gateway daemon sends the to all PassiveNode message, which is going through segmentation (Header + Payload).
Note:
I observed the two syscalls calling when I debugged the dlt-client lib function dlt_client_send_ctrl_msg.
ret = (int) write(client->sock, msg.headerbuffer + sizeof(DltStorageHeader), msg.headersize - sizeof(DltStorageHeader));
ret = (int) write(client->sock, msg.databuffer, msg.datasize);
What is the use of two syscalls in the dlt-client lib?
Why will dlt lib send header and data packets separately? Is there any limitation in Linux or QNX?
I am using the dlt-daemon 2.18.10.
The dlt-daemon operating on the QNX target and two gateways configures theusing AUTOSAR based ECU node and another Android dlt-daemon.
Below the configuration configured in QNX
[PassiveNode1] -> Android DLT gateway configuration
IPaddress=x.x.x.x
Port=3490
EcuID=ANDR
Connect=OnStartup
Timeout=10
SendControl=0x03,0x04,0x13
SendSerialHeader=0
SendPeriodicControl=0x03:5,0x13:1
[PassiveNode2] -> Autosar DLT gateway configuration
IPaddress=x.x.x.x
Port=3490
EcuID=ECUA
Connect=OnStartup
Timeout=10
SendControl=0x03,0x04,0x13
SendSerialHeader=0
SendPeriodicControl=0x03:5,0x13:1
Problem:
Note:
I observed the two syscalls calling when I debugged the dlt-client lib function dlt_client_send_ctrl_msg.
ret = (int) write(client->sock, msg.headerbuffer + sizeof(DltStorageHeader), msg.headersize - sizeof(DltStorageHeader));
ret = (int) write(client->sock, msg.databuffer, msg.datasize);
What is the use of two syscalls in the dlt-client lib?
Why will dlt lib send header and data packets separately? Is there any limitation in Linux or QNX?