On 2018年08月16日 12:05, Alexei Starovoitov wrote:
On Thu, Aug 16, 2018 at 11:34:20AM +0800, Jason Wang wrote:
quoted
quoted
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.
Thanks