Re: AF_XDP socket (sock2) unable to read, after writing with another AF_XDP socket (sock1)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Konrad,

some things to think of while using AF_XDP.

 - Received data is forwarded to an AF_XDP socket with the bps_redirect_map call in the kernel part. You are sending the data to the first AF_XDP socket all the time.
 - With AF_XDP one bypasses all the TCP/IP stack of the Linux kernel. This means that one needs to set the Ethernet, IP, UDP (or TCP) headers by themselves at the beginning of the packet. (I don’t exactly know if this is needed for the loopback adapter you are using)

You might want to have a look at other AF_XDP implementations. One is in my repo: https://github.com/gerl1ng/afxdp-packet-processor (folder server_afxdp). Some more information is given in the PDF in that repo.

Marius

> On 1. Nov 2018, at 17:52, Konrad Djimeli <kdjimeli@xxxxxxxxxx> wrote:
> 
> Hello,
> 
> I am working on developing a Snabb Switch app which uses Af_XDP sockets
> and so far I have not found any AF_XDP sample example online, except for
> the sample in the Linux Kernel source. I have tried modifying the
> example, to create two sockets (sock1 and sock2) sharing a UMEM with
> custom write_sock and read_sock functions. But when I do a write with
> "sock1" I am unable to read the data with "sock2". Here is the code
> https://github.com/djkonro/afxdp/blob/master/xdpsock/xdpsock_user.c ,
> and I am new to working with AF_XDP sockets and I wish I could get some
> pointers to what may be wrong with the program. 
> 
> Thanks,
> Konrad
> www.djimeli.me





[Index of Archives]     [Linux Networking Development]     [Fedora Linux Users]     [Linux SCTP]     [DCCP]     [Gimp]     [Yosemite Campsites]

  Powered by Linux