Re: Packet forwarding in XDP

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

 



On Sun, 12 Nov 2017 14:27:25 +0530
Anmol Panda <anmol07.visitor@xxxxxxxxxxxxxx> wrote:

> Dear all,
>      We are trying to write a program that receives a packet from a 
> client and is supposed to return the packet to the source. We tried to 
> swap the source and dest and send it using the XDP_TX action. But it 
> doesn't work.
> 
>     We have compiled a new kernel and bound the NIC to xdp successfully. 
> After binding, the system stops responding to ping and other packet 
> generating scripts (like sendip). We are using kernel  4.13.12 (Ubuntu 
> 17.10) from the main linux kernel tree and binding with Intel I217-LM 
> NIC. This NIC is using e1000e driver. Can xdp / eBPF be used for this 
> NIC? Moreover, do we need to patch the driver for additional support?

Not all drivers have "native' XDP support. See slide 11 of [1]

[1] http://people.netfilter.org/hawk/presentations/driving-IT2017/driving-IT-2017_XDP_eBPF_technology_Jesper_Brouer.pdf

There is something called "Generic" XDP (v4.12) for ease of
development. It allow you to attach an XDP program any net_device. I
call it --skb-mode in my sample programs. See [2]

[2] https://prototype-kernel.readthedocs.io/en/latest/blogposts/xdp25_eval_generic_xdp_tx.html

>      Our aim is to benchmark various forwarding applications (L2 , L3, 
> etc.) run using xdp. Please point to some code samples to achieve this. 
> We will be truly grateful.

Kernel have directory: samples/bpf/

I maintain some more example programs here:
 https://github.com/netoptimizer/prototype-kernel/tree/master/kernel/samples/bpf


Do notice that e1000e is only 1Gbit/s (which is very slow).  The normal
Linux kernel can handle 1Gbit/s without any issues... I hope you are
planning to use something faster, else it does not make sense to use XDP.

-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Principal Kernel Engineer at Red Hat
  LinkedIn: http://www.linkedin.com/in/brouer



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

  Powered by Linux