This group is locked. No changes can be made to the group while it is locked.
Re: Xdp or dpdk
On Thu, 20 Sep 2018 16:02:37 +0300 Иван Иванов <iwan12iwan12@...> wrote:
Hi. I need you advice.Interesting use-case of Load-Balancing 100G to 10x 10G. I would obviously choose XDP, but I'm biased ;-) I want to stress, that you have to handle, in _your_ BPF prog, how to load-balance and handle _when_ the overload/overrun problem occurs. As you have faster link feeds into slower links, you can overload those links. With XDP/BPF you should attach to the BPF tracepoint xdp_devmap_xmit, which allows you to detect the TX overrun happens (see sample code [1] and [2]). And then you need to communicate this info via a BPF-map, to your Load-Balance decision XDP-prog, so it can take action. With this tracepoint approach packets will get lost, before an event happens. I am considering extending XDP to have another XDP-hook, at XDP_REDIRECT transition to TX point, which would allow you to re-do a load-balance decision, then a device TX-queue is full. But we need a good use-case, before adding such infra-structure (maybe your use-case?). This is something Toke and I will be taking about here: [3] http://vger.kernel.org/lpc-networking.html#session-19 Sample code#1: [1] https://github.com/torvalds/linux/blob/master/samples/bpf/xdp_monitor_kern.c#L213-L258 Sample code#2: [2] https://github.com/torvalds/linux/blob/master/samples/bpf/xdp_redirect_cpu_kern.c#L572-L625 -- Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat LinkedIn: http://www.linkedin.com/in/brouer |