> From: Haithem Jebali <h.jebali@xxxxxxxxxxx> > Sent: Monday, January 31, 2022 9:07 AM > To: xdp-newbies@xxxxxxxxxxxxxxx > Cc: Karlsson, Magnus <magnus.karlsson@xxxxxxxxx> > Subject: AF_XDP and kernel queue manger > Hallo everyone, > I am a software developer in Acontis, Germany and I am trying to use the AF_XDP socket to create a link-layer for an EtherCAT master. > But I am currently running into the following problem: How can I use other queues to bind the socket to other than rx-0 and tx-0? >When I call ethtool -L eth0 combined 1 for a NIC with multiple queues, the linux kernel always assign rx-0 and tx-0 to the device. > Is there a way to assign rx-1 and tx-1(for example) to the NIC, because rx-0 and tx-0 is used by other adapters. > When all adapters are using the same queues tx-0 and tx-0 , this affects the performance of the master and I can see a frame loss > if the other adapters ( the ones not using the socket) are stressed and strained. Hi Jebali, I do not fully understand this, but what you would like to do is to use queue id 1 of a netdev and bind and AF_XDP socket to that? What is hindering you from issuing "ethtool -L eth0 combined 2" in that case and just bind to queue id 1? Why do you have to limit the number of queues to 1? > To solve this issue I was trying to find a way to assign rx-1 and tx-1 to the NIC I am using for the master, but I was not successful. > I then found a document " Making Networking Queues a First Class Citizen in the Kernel" about a kernel queue manager, which may solve this issue. > Is there any updates on this project? Is it still under development? This is not under development and it is unlikely that it will be developed by me at least, due to changed priorities. The good news is that you can slice a netdev into smaller pieces with the rather new subfunction support, but it requires support in the driver which you might not have. /Magnus Best Regards Haithem jebali