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.

PA EMAC example on EVM6670

Hi,

I am trying to transfer UDP packets between PC and EVM. I have seen a few discussions on the forum but all my trials using information in them have failed.

I have done the following changes to the code:

- in cpsw_singlecore.c:

Int cpswLpbkMode = CPSW_LOOPBACK_EXTERNAL;

With this change, I see that UDP packets are received by the PC.  

I create packets on the PC to be sent to the EVM with the following fields:

- Destination IP address: 192.168.1.10

- Destination MAC address: 00:01:02:03:04:05

- Port number: 22136

- ether type is 0x800

The ALE learns the MAC addresses on port 2 of switch correctly and the EMAC statistics on Port 0 (i.e. TXGOODFRAMES) matches the number on port 2 (i.e. RXGOODFRAMES). I gather this implies that the Gb switch receives packets from the PC on port 2 and forwards them to port 0. However, the interrupt associated with the PA doesn't fire (i.e. breakpoint in Cpsw_RxISR is not  hit).   Are there more parameters in the packets sent from the PC that I should consider (i.e. do the PA filters look for anything apart from Destination IP address, MAC address and port number, and ether type in the example project?)

Help on this will be greatly appreciated.

Godfrey

  • I made a mistake in my previous mail. The change in in cpsw_singlecore.c is:

    Int cpswLpbkMode = CPSW_LOOPBACK_NONE;
  • Dear Godfrey,
    Your configuration seems to be fine.
    I have used the following example and able to send the packet from EVM to PC (send_packet).
    C:\ti\pdk_C6670_1_1_2_6\packages\ti\drv\exampleProjects\PA_multicoreExample_exampleProject

    Modified the file "cppi_qmss_mgmt.c" for IP addr,MAC,port etc.,
    It looks only IP address, MAC address, port no, and ether type.
  • Hi Titus,

    Thanks for your mail.

    The packets from the EVM were received by the PC but I had problems receiving packets on the EVM. I use PackEth to generate/send packets from the PC. Setting up IP address, MAC address, port no, and ether type in PacketEth for a UDP packet didn't work. I then copied the packet in the example code and sent it to the DSP and it is received. The IP address/MAC address, port no and ether type are exactly the same in both cases. The CRC check on both the IP header and UDP is correct  in Wireshark. Hence I asked the question on the parameters checked by the Packet Accelerator in the example.

    Regards

    Godfrey

  • Hi Godfrey,
    I am also facing the same problem with PA EMAC example in the pdk_keystone2_3_01_04_07, if you got the solution can you send me the details about the fix , I am using small piece of C code which use windows Pcap library to send the packets from the PC and able to see it in wire-shark but not able to see in my PA emac application. ( ie interrupt is not triggering always saying 0 packets are received).

    Regards,
    R D Nadaf