Re: [PATCH bpf-next 02/10] tcp: bpf: Parse BPF experimental header option
From: Martin KaFai Lau <hidden>
Date: 2020-06-29 00:46:22
Also in:
bpf
From: Martin KaFai Lau <hidden>
Date: 2020-06-29 00:46:22
Also in:
bpf
On Sat, Jun 27, 2020 at 10:17:26AM -0700, Eric Dumazet wrote: [ ... ]
It seems strange that we want to add code in TCP stack only to cover a limited use case (kind 254 and 0xEB9F magic) For something like the work Petar Penkov did (to be able to generate SYNCOOKIES from XDP), we do not go through tcp_parse_options() and BPF program would have to implement its own parsing (without having an SKB at hand), probably calling a helper function, with no TCP_SKB_CB(skb)->bpf_hdr_opt_off. This patch is hard coding a specific option and will prevent anyone using private option(s) from using this infrastructure in the future, yet paying the extra overhead.
There is a discussion in patch 4 about not limiting this patch set to option kind 254. That will affect the usefulness of bpf_hdr_opt_off.
TCP_SKB_CB(skb) is tight, I would prefer keeping the space in it for standard TCP stack features. If an optional BPF program needs to re-parse the TCP options to find a specific option, maybe the extra cost is noise (especially if this is only for SYN & SYNACK packets) ? Thanks