Xilinx / open-nic-driver

AMD OpenNIC driver includes the Linux kernel driver
GNU General Public License v2.0
58 stars 40 forks source link

Get access to TUSER signals of the user logic box #27

Closed function47 closed 2 years ago

function47 commented 2 years ago

I am working on instantiating a VitisNetP4 IP into user logic box. The IP will spit out some custom user metadata with the packets. I have noticed that I could connect them with the TUSER interfaces according to this.

How do I use handle the TUSER signals of user logic boxes when using VitisNetP4 (formerly known as SDNet)? Use an SDNet Tuple to propagate the TUSER signals across different engines.

My question is how I am able to access them through the open-nic-driver?

Or should I connect the user metadata through a different interface?

Thanks!

cneely-amd commented 2 years ago

Hi @function47 ,

That's a good question. The driver currently receives RAW Ethernet frames and doesn't currently support reading any metadata along with/alongside packets.

In the QDMA user guide, the QDMA seems to have a notion of custom user defined metadata (up to 32 bits) but only in the H2C direction.

I just think in the C2H direction it might be possible to prepend packets with some small amount of fixed length metadata, and then to peel that off in the driver when receiving the packets. This would hurt throughput, but the throughput of the drivers is already less than 100G.

If you want to add some sort of support for this, it might be an interesting contribution.

Another suggestion is to try to put some application specific headers into packets.

Best regards, --Chris