Hi everyone.Does the Tx port send the just the packet data?Does the Tx port send descriptor too?
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.
Hi Lee,
The TX port only sends packet data and not the TX descriptor itself. When descriptors are pushed or popped from queues, only the starting address of descriptor and not the descriptor itself is moved around.
I hope this helps.
HI Lee,
Karthik's answer is correct. But to add to his answer, when the descritpor is "popped" from the tx queue the starting address of the descriptor is moved ("Pushed) to the TX completion queue.
Depending on the PKTDMA being used the buffer data from the TX descriptor will be transferred internally into the IP (i.e. AIF, SRIO, NetCP) or immediately to another memory location (Infrastructure PKTDMA on QMSS). The latter implies that Infrastructure PKTDMA upon processing the TX descriptor:
1) popped a descriptor from a FDQ.
2) a. Monolothic Descriptor - found buffer offset
b. Host Descriptor - found buffer pointer
3) Wrote data buffer into the memory location.
Hope this helps.
Javier
Hi Javier
For loopback PKTDMA modes,the Rx flow is specified in the Tx descriptor,in the SOURCE_TAG_LO field.The PKTDMA will pass this value to the streaming I/F as flow index.I am confused. if the Tx port just send payload data,when does Tx port send flow index?thanks
Hi Lee,
I understand your confusion. What Karthik and I meant was that descriptor data is not moved in memory from one location to an another like the payload data. But, PKTDMA does read the TX descriptor data when it pops from the TX Q. That is the main concept of the PKT DMA. The packet may consisit of one SOP descriptor, multiple MOP descriptors and 1 EOP descriptor. Each descriptor carries control information (ex: swInfo, buffer length, flow info etc.) and payload data. They are linked together to form a packet.
PKTDMA needs to read the descriptor data to get the payload data and control info. But, it does not move the descriptor data elsewhere in memory, it just pops (i.e. reads the base address of the SOP) off the TXQ and pushes (writes the base address of the SOP) into the TX completion queue.
Hope this helps.
Regards,
Javier
Hi Javier.
when I look into the Rx Flow N Configuration Register A field Descriptions,The description for bit 30(RX_EINFO_PRESENT) is "The port DMA will set the EPIB Present bit in the PD and will copy any EPIB data words that are presented across the Rx streaming interface into the EPIB words in the descriptor. If no EPIB words are presented from the back end application, the port DMA will overwrite the fields with 0s.".Does that mean the EPIB data will be sent from Tx port to Rx port too?If the EPIB data is sent by the Tx Port with the payload data.How the Rx port can figure out which is payload data or the EPIB data?thanks