Re: bpf_fib_lookup support for firewall mark

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

 



On 6/8/21 4:59 PM, Rumen Telbizov wrote:
> Dear BPF list,
> 
> I am new to eBPF so go easy on me.
> It seems to me that currently eBPF has no support for route table
> lookups including firewall marks. The bpf_fib_lookup structure itself
> has no mark field as per
> https://elixir.bootlin.com/linux/v5.10.28/source/include/uapi/linux/bpf.h#L4864
> 
> Additionally bpf_fib_lookup() function does not incorporate the
> firewall mark in its route lookup. It explicitly sets it to 0 as per
> https://elixir.bootlin.com/linux/v5.10.28/source/net/core/filter.c#L5329
> along with other fields which are used during the regular routing
> policy database lookup.
> 
> Thus lookups from within eBPF and outside of it result in different
> outcomes if there are rules directing traffic based on fwmark.
> Can you please advise what the rationale for this is or if there
> anything that I might be missing.
> 
> Let me know if I can provide any further information.
> 

The API (struct bpf_fib_lookup) is constrained to 64B for performance.
It is not possible to support all of the policy routing options that
Linux has in 64B. Choices had to be made.



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux