Re: [RFC PATCH net-next V2 0/6] XDP rx handler

From: Jason Wang
Date: Thu Aug 16 2018 - 00:24:25 EST

On 2018å08æ16æ 12:05, Alexei Starovoitov wrote:
On Thu, Aug 16, 2018 at 11:34:20AM +0800, Jason Wang wrote:
Nothing about the topology is hard coded. The idea is to mimic a
hardware pipeline and acknowledging that a port device can have an
arbitrary layers stacked on it - multiple vlan devices, bonds, macvlans, etc
I may miss something but BPF forbids loop. Without a loop how can we make
sure all stacked devices is enumerated correctly without knowing the
topology in advance?
not following. why do you need a loop to implement macvlan as an xdp prog?
if loop is needed, such algorithm is not going to scale whether
it's implemented as bpf program or as in-kernel c code.

David said the port can have arbitrary layers stacked on it. So if we try to enumerate them before making forwarding decisions purely by BPF program, it looks to me a loop is needed here.