AnsweredAssumed Answered

MACLESS Interface to USDPAA Buffer Transfer

Question asked by Ram Krishnan on Jul 22, 2016
Latest reply on Jul 28, 2016 by Ram Krishnan

This is the setup that I have. It is the T1024RDB with mac4(which is labeled eth0) connected to a tester. In the modified dts file I have a macless interface what I want to connect Linux Kernel Stack to the USDPAA to send and receive ip packets from tester connected to ETH0 physical interface.

 

I have created the macless fsl,qman-frame-queues-tx  queues specified in the dts, in the USDPAA app to exit egress out of ETH0(MAC4).  

I have the pcd setup to classify and send IP packets to the USDPAA to the FQID specified on the fsl,qman-frame-queues-rx of the macless interface.
I have setup an IP interface on the macless interface.

 

On the p1024 linux shell if I ping the IP address of the tester  (i.e arp or icmp if I enter a dummy mac address), I can see the packets on the tester.

 

But if I ping from the tester. It crashes in the linux ethernet driver crashes with the following message

 

kernel BUG at <PATH>/tmp/work-shared/t1024rdb/kernel-source/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_shared.c:248!

 

It looks like the packet does reach the ethernet driver using the rx fqid specified in the pc and crashed because the kernel does not recognize the bpid. The bpid is 9 (based on the dts file).

 

Can you please help in figuring how to send the buffer across from the USDPAA to the Linux Kernel driver.

 

I do not want to use the shared-mac because I need that MAC to switch MPLS traffic but redirect IP traffic to the Linux stack.

 

Thank you,

Ram Krishnan

Original Attachment has been moved to: t1024rdb-usdpaa.dts.zip

Outcomes