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.
Original Attachment has been moved to: t1024rdb-usdpaa.dts.zip