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.

C6670 SRIO Message passing method - Segmentation operation

Dear Justin,

I gone through the C6670 SRIO User guide and Example program " MulticoreLoopbackExample Project" .

I have read in the user guide that we can control how Hardware segments the packet . (i.e) 8 Bytes to 256 Bytes. I hope it means that SRIO driver is capable segment the packet that that will be sent out.

However I do not find any information in the example code or user guide about this segmentation information fields. Instead I saw the SRIO_MAX_MTU which was set as 256 Bytes in  ex program. This information was passed in CPPI Rx config , CPPI Tx config.

Can you please tell us where to pass segment info in order to make driver to do the packet segmentation ?

Thanks & Regards

Rajkumar

  • Rajkumar

    Which PDK are you using? It is in multicoreLoopback.c under static Int32 test_multicore (Srio_DrvHandle hSrioDrv).

    Elush Shirazpour

  • Hi Elush Shirazpour


    Thank you for your reply.

    PDK I used is pdk_C6670_1_1_0_3.

    Program : MulticoreLoopbackProject

    We tried for the Packet transmission with size 4096  from core 0 to core 1 using the same project for our application purpose .

    Our application needs maximum 4k transmission support with packet segmentation of 256 Bytes.

    We done below steps for the same.

    We set SRIO_MAX_MTU as 4096.

    cfg.u.drvManagedCfg.txCfg.txMTU = 4096;

    cfg.u.drvManagedCfg.rxCfg.rxMTU = 4096;

    Srio_sockSend (srioSocket, hDrvBuffer, 4096, &to)

    Bind with Segmap = 0x0; /*single segment */


    Does it mean that single packet transmission with packet size 4096 without segmentation ?

    Do we need to segment the packets in application level before give it to the SRIO driver ?

    Looking forward for your valuable reply.

    Thanks

    Rajkumar


  • Rajkumar

    The maximum packet size is 256 bytes so in order to send a packet of size 4096, you will need to do segmentation. 

    Yes. You need to segment the packets in application level first before giving it to the SRIO driver.

    Take a look at this past E2E for some answers on SRIO_MAX_MTU.

    https://e2e.ti.com/support/dsp/c6000_multi-core_dsps/int-c66x_multi-core_dsps/f/513/t/161835.aspx?pi36454=1&Redirected=true

    Elush Shirazpour

  • Dear Elush

    Thank you very much for the reply.

    Then I could not open the link that you shared .I am getting following error

    " Group Not Found
     The requested Group cannot be found."

    Thanks
    Rajkumar
  • Rajkumar

    My mistake. Try this one.

    http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/199765/711981.aspx#711981


    Elush

  • Hi Elush

    Is it possible to send a host descriptor from Core to core  through SRIO in the below mentioned manner ?

    Hostdesc1, Hostdesc2, Hostdesc3 . Each linked with data buffer set with  size 10Bytes.

    then I linked descriptors using LinkNextBD API .

    Hostdesc3->Hostdesc2->Hostdesc1

    Finally I want to send Hostdesc3 in SRIO_Socksend().

    Will I get a linear buffer at the receiver side ?

    thanks

    Rajkumar

  • Rajkumar


    Since this is a different question, please post this on a new E2E forum so the correct people can see this and help you.


    Elush

  • Hi elush,

    Maximum I can send in Message passing method is 4096 Bytes.  I hope this is the maximum packet size which is supported by the message passing operation.

    In the example program "Multicoreloopback project " in the pdk_C6670_1_1_0_3   , it was 256 Bytes transmission only with segmap field set as 0x0 .

    I modified it to 4096 Bytes with segmap field set as 0x0. Successfully verified 4096 Bytes transmission at single stretch transmission using Socksend API.

    1) Now my doubt is whether this 4096 Bytes transmitted as single segment or multi-segment.

    2) Since it supports 4k then Why do I need segmentation ?

    Please clarify..

    Thanks
    Rajkumar

  • Rajkumar

     

    1) It is a multi-segment message.

     

    2) That 4K represents the 16 multi-segment messages.

     

    Elush