The function trdp_validTopoCounters does not validate incoming consist local messages that have an etbTopoCnt of 0 and the actual opTrnTopoCnt.
Consist local messages should be sent without an etbTopoCnt, but a valid opTrnTopoCnt. Neither the table A.5 in the standard nor the TCNOpen implementation account for this.
We will follow the standard here – opTrnTopoCnt == SafeTopoCount in SDTv2 and can "be set to 0 for consist network internal communication" (IEC61375-2-3 B.8).
This is means that in a single consist safe communication will not be secured by verifying the leading direction... :-0