There is a smart-serial driver with two connections. Both use the same header/trailer with headerTrailerLink defined. Both connections have the "any" defined as IP, TCP port is different.
Something is sending data on the local server.
When verifying the data with RawCap, I can see all data passing in 40ms.
When checking the StreamViewer, I can only see the first 6 messages, the last 8 messages are not being received in the "Raw Data" before mapping header/trailer. After 4 minutes when the next batch of messages are being sent I'm again receiving the first 6. Note that this number is not fixed, sometimes more messages are received and in very rare occasions all messages are received in the driver.
I've tried to locally simulate the issue with the same data, but I'm not able to simulate it. Locally I'm receiving all messages correct.
I've tried to remove the header/trailer so the response only exists out of one "next param" parameter but the result is the same.
The PortLog.txt file has been added to get more logging (added both 127.0.0.1 and localhost) with the element restarted, but nothing shows in the logging of SLPort, I don't even see the normal messages mentioned.
Would anyone have some hints on how to further investigate this? How do I know that the problem is in SLPort or if the data even reaches SLPort?
If you'd like to see more debug logging on the communication of these 2 interfaces, you should always add the configured IP of the interfaces to the PortLog.txt configuration file. As you mentioned that both are configured with any, the PortLog.txt should be configured as follows:
any:[REMOTE_PORT]:[LOCAL_PORT]:true
The [LOCAL_PORT] parameter is optional and can also be left blank.
If both agents were running the same DataMiner version, had the same protocol version installed and the element had the same settings applied and the behavior is still not the same, it must be something on network level or load related. I believe the issue is caused by the fact that on that one agent, the packets are not being processed fast enough resulting in a build up of data which is then discarded by DataMiner because it exceeds the 65k limit. I think it’s best we move this into a task and do an in depth investigation from there and come back here once we got to the bottom of it.
It seems to happen when TCP data is spread over multiple frames, for such a packet the error is being logged and data is not being received.
I’ve created task 138920 for this.
By adding the “any” as IP I can now indeed see the items in the logging.
It’s adding this:
CSmartIP::ProcessReadEvent|ERR|-1|Packet size incorrect: expected 0 < size <= 65536 – but size was 103798
I guess that the content of the message is too large