diff options
author | Cong Wang <cong.wang@bytedance.com> | 2021-02-23 21:49:29 +0300 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2021-02-26 23:28:03 +0300 |
commit | e3526bb92a2084cdaec6cb2855bcec98b280426c (patch) | |
tree | 8984946e916cdcdb2f4bd2ce606f84dd3ffc7cb9 /tools | |
parent | 16137b09a66f2b75090f1e56a9ba0e27ef845ebc (diff) | |
download | linux-e3526bb92a2084cdaec6cb2855bcec98b280426c.tar.xz |
skmsg: Move sk_redir from TCP_SKB_CB to skb
Currently TCP_SKB_CB() is hard-coded in skmsg code, it certainly
does not work for any other non-TCP protocols. We can move them to
skb ext, but it introduces a memory allocation on fast path.
Fortunately, we only need to a word-size to store all the information,
because the flags actually only contains 1 bit so can be just packed
into the lowest bit of the "pointer", which is stored as unsigned
long.
Inside struct sk_buff, '_skb_refdst' can be reused because skb dst is
no longer needed after ->sk_data_ready() so we can just drop it.
Signed-off-by: Cong Wang <cong.wang@bytedance.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Acked-by: Jakub Sitnicki <jakub@cloudflare.com>
Link: https://lore.kernel.org/bpf/20210223184934.6054-5-xiyou.wangcong@gmail.com
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions