SPRUGR9H November 2010 – April 2015 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , 66AK2L06 , AM5K2E02 , AM5K2E04 , SM320C6678-HIREL , TMS320C6652 , TMS320C6654 , TMS320C6655 , TMS320C6657 , TMS320C6670 , TMS320C6671 , TMS320C6672 , TMS320C6674 , TMS320C6678
A Navigator Cloud is a set of PKTDMAs and descriptors. Neither PKTDMAs nor descriptors address the physical Queue Manager(s) directly, but instead use a queue_manager:queue_number (qmgr:qnum) notation and registers to create a logical mapping into the physical Queue Manager(s). All PKTDMAs with the same logical mapping are said to be part of the same Navigator Cloud. A descriptor can be sent to any PKTDMA in the same cloud, but may or may not transfer correctly through PKTDMAs in different clouds. A non-compatible logical qmgr:qnum mapping will cause descriptors to arrive in unexpected queues, potentially causing a memory leak.
It is possible to send a descriptor from one cloud to another, but each qmgr:qnum reference must point to the same physical queue for the PKTDMAs in both clouds. Another way to say this is by example: Let PKTDMA 1 and 2 have the same base addresses programmed for logical QM0 and QM1 in their respective QMn Base Address registers, but their QM2 and QM3 base addresses are different (so by definition they represent different clouds). Any descriptor traveling between them must reference only QM0 and/or QM1 in every descriptor and RX Flow qmgr:qnum fields. This is especially true if the RX (output) queue for the first PKTDMA is the same physical queue as the TX (input) queue for the second PKTDMA.