This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

QMSS QUEUE Hooking/connecting

Hi Ti Folks,

                  Is there anyway i can hook a QMSS queue's output to another QMSS queue's input.

Lets say i got a host descriptor (+ its attached buffer)  on a High priority accumulation queue [say a number X] and it should be immediately pushed to SRIO's input queue [say a number Y]. I understand it can be implemented in software, wanted to understand that is there anyway that i can hook the output of queue X to input queue Y [the hardware way].

queue X ==> queue Y

Is the above possible through any of qmss's configurations.

If not available, it will be really helpfull in many a situations [with zero software footprint].

Thanks

RC Reddy

  • What routed the packet to the accumulation queue?  Can that be reconfigured to route the packet to the SRIO queue instead of the accumulation queue?  If all packets need to be forwarded without extra classification, this is the right way to do it.  However, if classification is needed, sw needs to run to classify the packets and sort them into appropriate queues.

  • Hi John,

                  Thanks for your reply. Please assume a case of incoming packet needs to be routed to another queue [My case is matching this]. Is there anyway i can connect two queues. Output of one queue is put into input queue of a hardware entity. I will rather drop the word "classification", as both incoming packet and outgoing packet are coming from different hardware entities. Let me know in this case, whether software based routing can be avoided [i mean hooking/connecting two queues can be done at hardware level]. All i wanted to know is there any such option in present multicore devices.

    Thanks

    RC Reddy

  • You don't need to "hook" the two queues.  I presume you are configuring the PA to put the packets in the accumulation queue using a paRouteInfo_t.queue or a cppi rx flow.  Instead of setting this queue to accumulation, set it to the actual destination (which could be another hardware TX queue) that you want the packets to go. This is 100% equivalent to if the hardware could alias queues.

    Since you are referring to SRIO, you may find that SW needs to modify the packets in some way before they can be passed from ethernet to SRIO. This would only work if your existing software can pop the PA rx queue and push the SRIO tx queue without otherwise touching the packet or descriptor.