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.

C6678 SRIO sender

Hello.

Is it possible to configure SRIO so that it only sends the packets regardless of whether the recipient (another board s6678)? When initializing SRIO function CSL_SRIO_IsPortOk() returns FALSE. The project is SRIO_producer.rar.

Thanks.

  • Hi Alexandr,
    Moved this thread to correct forum for faster response. Thank you.
  • It is not possible. What is the indention for do this experiment?
  • Thanks for reply

    We have a board C6678 and PLD SRIO. For debugging must forward packets from the board C6678 in PLD. As I understand it, yet between the two devices will not work synchronization procedure exchange does not start?  I thought that, by analogy with UDP socket protocol TCP/IP, where the sender can send messages despite the absence of the recipient.

  • There are questions about an example SRIO_TputBenchmarkingTestProject from a package MCSDK 2.1.2. I compiled two files consumer.out and producer.out in accordance with the SRIO_Benchmarking_Example_Code_Guide.doc to the project. Next consumer.out loaded into one board c6678 and producer.out second board c6678, board are connected through the board. Program hang in the same place in the file srio_drv.c line 703 in in an infinite loop while (1).

    /* Error: Did we get a matching socket? */
    if (ptrSocket == NULL)
    {
        /* No Matching socket found; this could happen if SRIO is running in promiscuous mode.
         * We need to address how this should be handled. */
        while(1);
    }

  • Hove you load the consumer.out file into core 0 of the first c6678 and then load the producer .out file on core 1 on the second c6678 board?

    Which type of SRIO connection used on your test? Share your debug log messages.

    Thanks,
  • Hove you load the consumer.out file into core 0 of the first c6678 and then load the producer .out file on core 1 on the second c6678 board?

    Yes.

    Which type of SRIO connection used on your test? Share your debug log messages.

    My benchmarking.h

    In debug window:

    [C66xx_0] ********************************
    *********** CONSUMER ***********
    ********************************
    WARNING: Please ensure that the CONSUMER is executing before running the PRODUCER!!
    Debug: Waiting for module reset...
    Debug: Waiting for module local reset...
    Debug: Waiting for SRIO ports to be operational...  
    [C66xx_1] ********************************
    *********** PRODUCER ***********
    ********************************
    WARNING: Please ensure that the CONSUMER is executing before running the PRODUCER!!
    Debug: Waiting for module reset...
    Debug: Waiting for module local reset...
    Debug: Waiting for SRIO ports to be operational...  
    Debug: SRIO port 0 is operational.
    Debug:   Lanes status shows lanes formed as one 4x port
    Debug: AppConfig Tx Queue: 0x2a0 Flow Id: 0
    Debug: SRIO Driver Instance 0x@00861a10 has been created
    Debug: Running test in polled mode.
    Debug: SRIO Driver handle 0x861a10.


    [C66xx_0] Debug: SRIO port 0 is operational.
    Debug:   Lanes status shows lanes formed as one 4x port
    Debug: AppConfig Tx Queue: 0x2a0 Flow Id: 0
    Debug: SRIO Driver Instance 0x@00861b00 has been created
    Debug: Running test in polled mode.
    Debug: SRIO Driver handle 0x861b00.


    [C66xx_1] Latency: (Type-11, 5.000GBaud, 4X, tab delimited)

    Program hang in the same place in the file srio_drv.c line 703 in in an infinite loop while (1).

    /* Error: Did we get a matching socket? */
    if (ptrSocket == NULL)
    {
        /* No Matching socket found; this could happen if SRIO is running in promiscuous mode.
         * We need to address how this should be handled. */
        while(1);
    }

  • I have tested the same SRIO example in C6678 EVM board. It is working properly. I have attached the test log message for your reference.

    [C66xx_0] ********************************
    *********** CONSUMER ***********
    ********************************
    WARNING: Please ensure that the CONSUMER is executing before running the PRODUCER!!
    Debug: Waiting for module reset...
    Debug: Waiting for module local reset...
    Debug: Waiting for SRIO ports to be operational...  
    Debug: SRIO port 0 is NOT operational.
    Debug:   Lanes status shows lanes formed as one 4x port
    Debug: AppConfig Tx Queue: 0x2a0 Flow Id: 0
    Debug: SRIO Driver Instance 0x@00861b00 has been created
    Debug: Running test in polled mode.
    Debug: SRIO Driver handle 0x861b00.
    
    
    [C66xx_1] ********************************
    *********** PRODUCER ***********
    ********************************
    WARNING: Please ensure that the CONSUMER is executing before running the PRODUCER!!
    Debug: Waiting for module reset...
    Debug: Waiting for module local reset...
    Debug: Waiting for SRIO ports to be operational...  
    Debug: SRIO port 0 is operational.
    Debug:   Lanes status shows lanes formed as one 4x port
    Debug: AppConfig Tx Queue: 0x2a0 Flow Id: 0
    Debug: SRIO Driver Instance 0x@00861a10 has been created
    Debug: Running test in polled mode.
    Debug: SRIO Driver handle 0x861a10.
    
    
    Latency: (DIO_NW, 5.000GBaud, 4X, tab delimited)
    Core	Lanes	Speed	Conn	MsgType	PktSize	NumPkts	MnLCycs	AgLCycs	MxLCycs
    1	4	5.000	B-E-B	DIO_NW	4	100	737	3498670	349794069
    1	4	5.000	B-E-B	DIO_NW	8	100	737	737	745
    1	4	5.000	B-E-B	DIO_NW	16	100	735	741	762
    1	4	5.000	B-E-B	DIO_NW	32	100	773	774	791
    1	4	5.000	B-E-B	DIO_NW	64	100	827	840	852
    1	4	5.000	B-E-B	DIO_NW	128	100	953	958	971
    1	4	5.000	B-E-B	DIO_NW	256	100	1187	1202	1216
    1	4	5.000	B-E-B	DIO_NW	512	100	1349	1349	1367
    1	4	5.000	B-E-B	DIO_NW	1024	100	1655	1655	1667
    1	4	5.000	B-E-B	DIO_NW	2048	100	2249	2266	2267
    1	4	5.000	B-E-B	DIO_NW	4096	100	3473	3478	3502
    1	4	5.000	B-E-B	DIO_NW	8192	100	5903	5910	5921
    
    [C66xx_0] Throughput: (RX side, DIO_NW, 5.000GBaud, 4X, tab delimited)
    [C66xx_1] Throughput: (TX side, DIO_NW, 5.000GBaud, 4X, tab delimited)
    [C66xx_0] Core	Lanes	Speed	Conn	MsgType	OHBytes	PktSize	Pacing	Thruput	PktsSec.	NumPkts 	PktLoss	AgPCycs	AgLCycs	AgICycs	AgOCycs	Seconds
    0	4	5.000	B-E-B	DIO_NW	16	4	0	85.33	2666666.75	12600000	No	375	21	354	0	4.73
    [C66xx_1] Core	Lanes	Speed	Conn	MsgType	OHBytes	PktSize	Pacing	Thruput	PktsSec.	NumPkts 	PktLoss	AgPCycs	AgLCycs	AgICycs	AgOCycs	Seconds
    1	4	5.000	B-E-B	DIO_NW	16	4	0	85.33	2666666.75	12600000	No	375	319	41	15	4.73
    [C66xx_0] 0	4	5.000	B-E-B	DIO_NW	16	8	0	170.67	2666666.75	12600000	No	375	21	354	0	4.73
    [C66xx_1] 1	4	5.000	B-E-B	DIO_NW	16	8	0	170.67	2666666.75	12600000	No	375	319	41	15	4.73
    [C66xx_0] 0	4	5.000	B-E-B	DIO_NW	16	16	0	341.33	2666666.75	12600000	No	375	21	354	0	4.73
    [C66xx_1] 1	4	5.000	B-E-B	DIO_NW	16	16	0	341.33	2666666.75	12600000	No	375	319	41	15	4.73
    [C66xx_0] 0	4	5.000	B-E-B	DIO_NW	16	32	0	682.67	2666666.75	12600000	No	375	21	354	0	4.73
    [C66xx_1] 1	4	5.000	B-E-B	DIO_NW	16	32	0	682.67	2666666.75	12600000	No	375	319	41	15	4.73
    [C66xx_0] 0	4	5.000	B-E-B	DIO_NW	16	64	0	1365.33	2666666.75	12600000	No	375	21	354	0	4.73
    [C66xx_1] 1	4	5.000	B-E-B	DIO_NW	16	64	0	1365.33	2666666.75	12600000	No	375	319	41	15	4.73
    [C66xx_0] 0	4	5.000	B-E-B	DIO_NW	16	128	0	2730.67	2666666.75	12600000	No	375	21	354	0	4.73
    [C66xx_1] 1	4	5.000	B-E-B	DIO_NW	16	128	0	2730.67	2666666.75	12600000	No	375	319	41	15	4.73
    [C66xx_0] 0	4	5.000	B-E-B	DIO_NW	16	256	0	5461.33	2666666.75	12600000	No	375	21	354	0	4.73
    [C66xx_1] 1	4	5.000	B-E-B	DIO_NW	16	256	0	5461.33	2666666.75	12600000	No	375	319	41	15	4.73
    [C66xx_0] 0	4	5.000	B-E-B	DIO_NW	16	512	0	10922.67	2666666.75	12600000	No	375	21	354	0	4.73
    [C66xx_1] 1	4	5.000	B-E-B	DIO_NW	16	512	0	10922.67	2666666.75	12600000	No	375	319	41	15	4.73
    [C66xx_0] 0	4	5.000	B-E-B	DIO_NW	16	1024	0	13451.56	1642036.13	7800000	No	609	21	588	0	4.75
    [C66xx_1] 1	4	5.000	B-E-B	DIO_NW	16	1024	200	13451.56	1642036.13	7800000	No	609	319	275	15	4.75
    [C66xx_0] 0	4	5.000	B-E-B	DIO_NW	16	2048	0	13385.62	816993.44	4000000	No	1224	21	1203	0	4.90
    [C66xx_1] 1	4	5.000	B-E-B	DIO_NW	16	2048	816	13385.62	816993.44	4000000	No	1224	318	891	15	4.90
    [C66xx_0] 0	4	5.000	B-E-B	DIO_NW	16	4096	0	13418.51	409500.41	2200000	No	2442	21	2421	0	5.37
    [C66xx_1] 1	4	5.000	B-E-B	DIO_NW	16	4096	2033	13418.51	409500.41	2200000	No	2442	318	2109	15	5.37
    [C66xx_0] 0	4	5.000	B-E-B	DIO_NW	16	8192	0	13473.68	205592.11	1200000	No	4864	21	4843	0	5.84
    [C66xx_1] 1	4	5.000	B-E-B	DIO_NW	16	8192	4457	13476.45	205634.38	1200000	No	4863	317	4531	15	5.84
    [C66xx_0] 
    [C66xx_1] 
    Latency: (DIO_NR, 5.000GBaud, 4X, tab delimited)
    Core	Lanes	Speed	Conn	MsgType	PktSize	NumPkts	MnLCycs	AgLCycs	MxLCycs
    1	4	5.000	B-E-B	DIO_NR	4	100	992	992	1049
    1	4	5.000	B-E-B	DIO_NR	8	100	992	992	1049
    1	4	5.000	B-E-B	DIO_NR	16	100	992	1028	1049
    1	4	5.000	B-E-B	DIO_NR	32	100	992	1063	1064
    1	4	5.000	B-E-B	DIO_NR	64	100	992	1106	1132
    1	4	5.000	B-E-B	DIO_NR	128	100	992	1237	1238
    1	4	5.000	B-E-B	DIO_NR	256	100	992	1483	1484
    1	4	5.000	B-E-B	DIO_NR	512	100	992	1631	1657
    1	4	5.000	B-E-B	DIO_NR	1024	100	992	1937	1963
    1	4	5.000	B-E-B	DIO_NR	2048	100	992	2548	2569
    1	4	5.000	B-E-B	DIO_NR	4096	100	992	3758	3793
    1	4	5.000	B-E-B	DIO_NR	8192	100	992	6204	6209
    
    Throughput: (TX side, DIO_NR, 5.000GBaud, 4X, tab delimited)
    Core	Lanes	Speed	Conn	MsgType	OHBytes	PktSize	Pacing	Thruput	PktsSec.	NumPkts	PktLoss	AgPCycs	AgLCycs	AgICycs	AgOCycs	Seconds
    1	4	5.000	B-E-B	DIO_NR	28	4	0	40.92	1278772.38	6400000	No	782	318	449	15	5.01
    1	4	5.000	B-E-B	DIO_NR	28	8	0	81.84	1278772.38	6400000	No	782	318	449	15	5.01
    1	4	5.000	B-E-B	DIO_NR	28	16	0	161.62	1262626.25	6400000	No	792	317	460	15	5.07
    1	4	5.000	B-E-B	DIO_NR	28	32	0	309.55	1209189.88	6000000	No	827	318	494	15	4.97
    1	4	5.000	B-E-B	DIO_NR	28	64	0	573.35	1119820.88	5600000	No	893	318	560	15	5.01
    1	4	5.000	B-E-B	DIO_NR	28	128	0	1012.86	989119.69	4800000	No	1011	317	679	15	4.86
    1	4	5.000	B-E-B	DIO_NR	28	256	0	1629.28	795544.94	4000000	No	1257	318	924	15	5.03
    1	4	5.000	B-E-B	DIO_NR	28	512	0	2902.91	708717.25	3600000	No	1411	318	1078	15	5.08
    1	4	5.000	B-E-B	DIO_NR	28	1024	0	4782.25	583771.19	3000000	No	1713	318	1380	15	5.14
    1	4	5.000	B-E-B	DIO_NR	28	2048	0	7059.03	430848.78	2200000	No	2321	318	1988	15	5.11
    1	4	5.000	B-E-B	DIO_NR	28	4096	0	9261.73	282645.56	1600000	No	3538	318	3205	15	5.66
    1	4	5.000	B-E-B	DIO_NR	28	8192	0	10983.07	167588.41	1000000	No	5967	318	5634	15	5.97
    
    Latency: (Type-11, 5.000GBaud, 4X, tab delimited)
    Core	Lanes	Speed	Conn	MsgType	PktSize	NumPkts	MnLCycs	AgLCycs	MxLCycs
    1	4	5.000	B-E-B	Type-11	16	100	1511	1548	1593
    1	4	5.000	B-E-B	Type-11	32	100	1512	1580	1631
    1	4	5.000	B-E-B	Type-11	64	100	1593	1638	1683
    1	4	5.000	B-E-B	Type-11	128	100	1758	1814	1877
    1	4	5.000	B-E-B	Type-11	256	100	2088	2109	2171
    1	4	5.000	B-E-B	Type-11	512	100	2171	2223	2289
    1	4	5.000	B-E-B	Type-11	1024	100	2418	2485	2537
    1	4	5.000	B-E-B	Type-11	2048	100	3083	3160	3206
    1	4	5.000	B-E-B	Type-11	4096	100	4400	4462	4485
    
    [C66xx_0] Throughput: (RX side, Type-11, 5.000GBaud, 4X, tab delimited)
    [C66xx_1] Throughput: (TX side, Type-11, 5.000GBaud, 4X, tab delimited)
    [C66xx_0] Core	Lanes	Speed	Conn	MsgType	OHBytes	PktSize	Pacing	Thruput	PktsSec.	NumPkts	PktLoss	AgPCycs	AgLCycs	AgICycs	AgOCycs	Seconds
    0	4	5.000	B-E-B	Type-11	24	16	0	174.15	1360544.25	6800000	No	735	591	33	111	5.00
    [C66xx_1] Core	Lanes	Speed	Conn	MsgType	OHBytes	PktSize	Pacing	Thruput	PktsSec.	NumPkts	PktLoss	AgPCycs	AgLCycs	AgICycs	AgOCycs	Seconds
    1	4	5.000	B-E-B	Type-11	24	16	228	174.15	1360544.25	6800000	No	735	141	577	17	5.00
    [C66xx_0] 0	4	5.000	B-E-B	Type-11	24	32	0	348.30	1360544.25	6800000	No	735	591	33	111	5.00
    [C66xx_1] 1	4	5.000	B-E-B	Type-11	24	32	228	348.30	1360544.25	6800000	No	735	141	577	17	5.00
    [C66xx_0] 0	4	5.000	B-E-B	Type-11	24	64	0	690.03	1347708.88	6800000	No	742	589	42	111	5.05
    [C66xx_1] 1	4	5.000	B-E-B	Type-11	24	64	228	690.03	1347708.88	6800000	No	742	141	584	17	5.05
    [C66xx_0] 0	4	5.000	B-E-B	Type-11	24	128	0	1393.20	1360544.25	6800000	No	735	591	33	111	5.00
    [C66xx_1] 1	4	5.000	B-E-B	Type-11	24	128	228	1393.20	1360544.25	6800000	No	735	141	577	17	5.00
    [C66xx_0] 0	4	5.000	B-E-B	Type-11	24	256	0	2786.39	1360544.25	6800000	No	735	591	33	111	5.00
    [C66xx_1] 1	4	5.000	B-E-B	Type-11	24	256	228	2786.39	1360544.25	6800000	No	735	141	577	17	5.00
    [C66xx_0] 0	4	5.000	B-E-B	Type-11	24	512	0	5572.79	1360544.25	6800000	No	735	588	36	111	5.00
    [C66xx_1] 1	4	5.000	B-E-B	Type-11	24	512	228	5572.79	1360544.25	6800000	No	735	141	577	17	5.00
    [C66xx_0] 0	4	5.000	B-E-B	Type-11	24	1024	0	11115.33	1356852.13	6800000	No	737	593	33	111	5.01
    [C66xx_1] 1	4	5.000	B-E-B	Type-11	24	1024	228	11115.33	1356852.13	6800000	No	737	143	577	17	5.01
    [C66xx_0] 0	4	5.000	B-E-B	Type-11	24	2048	0	12190.48	744047.63	3800000	No	1344	589	644	111	5.11
    [C66xx_1] 1	4	5.000	B-E-B	Type-11	24	2048	0	12190.48	744047.63	3800000	No	1344	148	1179	17	5.11
    [C66xx_0] 0	4	5.000	B-E-B	Type-11	24	4096	0	12300.30	375375.38	2000000	No	2664	591	1962	111	5.33
    [C66xx_1] 1	4	5.000	B-E-B	Type-11	24	4096	0	12304.92	375516.34	2000000	No	2663	147	2499	17	5.33
    [C66xx_0] 
    [C66xx_1] 
    

    Please share your project file. I will try to reproduce the issue.

    In mean time refer SRIO_Benchmarking_Example_Code_Guide document and try to test same setup in SRIO loopback mode.

    Thanks,

  • Loopbaсk mode works normally. I reinstalled MCSDK. Next, create a my project based on SRIO_TputBenchmarkingTestProject.  I am interested in test messaging type11, for this I changed

    /* Tests to Run.(Please see
     * srioTestsToRun_e enum above
     * for valid values).
     */
    #define TESTS_TO_RUN                      srio_type11_tests

    Next,  create consumer.out and producer.out. Run program. Program hang in the same place in the file srio_drv.c line 703 in in an infinite loop while (1).

    /* Error: Did we get a matching socket? */
    if (ptrSocket == NULL)
    {
        /* No Matching socket found; this could happen if SRIO is running in promiscuous mode.
         * We need to address how this should be handled. */
        while(1);
    }

    My source code SRIO_TputBenchmarkingTestProject.rar.

  • Problems with hanging is not allowed. I interesut test between the two boards.

  • Each driver instance needs to configure various CPPI & QMSS parameters before it can be used.
    These configurations are exposed to the applications as follows:
    • Application Managed Configuration
    In this configuration the application is exposed to all the lower level CPPI and QMSS
    details. This is aimed primarily for advanced use cases where lower level control on
    various aspects of the SRIO driver is required by the application. The configuration
    exposes the CPPI Receive Flow configuration, Accumulator programming ability etc.
    Since the configuration is aimed for advanced use cases only RAW sockets will work on
    this driver instance.
    • Driver Managed Configuration
    In this configuration the application is encapsulated from a majority of the lower level
    CPPI and QMSS details. This configuration was aimed for use cases where applications
    would use the SRIO driver for data transfers without getting into the lower level details of
    the QMSS and CPPI. This configuration works only with Normal sockets which provide a
    higher level abstract interface.

    Examples for the two boards used configuration "Application Managed Configuration" . This is a must or you can use the configuration "Driver Managed Configuration". Can I use sockets in Normal mode for communication between the two boards?