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.

linked descriptors + PA+ ipchecksum, udpchecksum,frag, route

Hi Ti Folks,

                  I want to use PA to send one consolidated data at the end. Kindly let me know its limitations.

1. I have four buffers of lengths 42,512,2048, 128 [all are in byte units] [each buffer is attached to a host descriptor respectively ] scattered buffers. 42 bytes buffer is network header [ethernet header containing mac,ip,udp headers] and rest are propietary data. I want PA to handle the ipchecksm, udpchecksm and fragmentation.

2. I will link all the descriptors d1,d2,d3,d4.

3. I will push the descriptor d1 [ofcourse rest are all linked] and in that i will fill the command for doing ipchecksm, udpchecksm and fragmentation, route. 

will the above work?

please note i will give pseudochecksum to prepare the command to be copied in d1. so is the udp checksum [computed over entire data payload] is possible in this case [linked descriptors]?

let me know how to handle this situation? [scattered descriptor+buffer pair to be sent out of PA with proper ipchecksm and udpchecksm and possible fragmentation]. 

Thanks

RC Reddy

  • Hi, RC:

    Yes, the PKT DMA will consolidate the data in four buffers into one packet enters PASS. Please note that the PASS can not handle UDP checksum and fragmentation simultaneously.

     *  @note The IP fragment command can not be combined with some other tx commands such as checksum and CRC commands since
     *        those commands may require the PASS operation across multiple fragments. The workaround is to break the tx commands into
     *        two groups. The first group consists of the checksum, CRC, other commands and a next route command which routes the packet
     *        back to the same PDSP to execute the second command group which consists of the IP fragment command and the next route
     *        command which points to the final destination.
     *
     *        The IP fragment command can be combined with a single blind patch command to support the IPSEC AH use case in which the SASS
     *        passes the IPSEC AH packet with the blind patch command to the PASS so that the autentication tag can be inserted into the AH
     *        header. The recommended order of the tx commands is as the followings:
     *        - pa_CMD_IP_FRAGMENT
     *        - pa_CMD_NEXT_ROUTE with flag pa_NEXT_ROUTE_PROC_NEXT_CMD set
     *        - pa_CMD_PATCH_DATA
     *
     *        The IP fragment command can be also combined with up to two message length patching commands to support the message length
     *        field updating for each IP fragment. This operation is required for certain L2 header which contains a length field such as
     *        802.3 and PPPoE. The order of tx command is as the followings:
     *        - pa_CMD_PATCH_MSG_LEN (optional)
     *        - pa_CMD_PATCH_MSG_LEN (optional)
     *        - pa_CMD_IP_FRAGMENT
     *        - pa_CMD_NEXT_ROUTE

    Best regards,

    Eric