The TileLink protocol makes no guarantees about message ordering, and allows messages exchanged between any two endpoints to be re-ordered. In order to track the progress of transactions, all messages on every channel contain either source identifiers or sink identifiers. These identifiers are required to be unique while a message is in-flight. Section 5.4 of the specification goes in to some detail about requirements for these inflight identifiers. Particular implementations of the TileLink protocol on specific interconnect fabrics are free to exploit additional ordering guarantees on individual channels in order to improve throughput, but should continue to obey the uniqueness requirement on source and sink ids in order to remain compliant.