Message ID | 20200420183409.210660-1-zenczykowski@gmail.com |
---|---|
State | Accepted |
Delegated to: | BPF Maintainers |
Headers | show |
Series | net: bpf: Allow TC programs to call BPF_FUNC_skb_change_head | expand |
On Mon, Apr 20, 2020 at 11:34 AM Maciej Żenczykowski <zenczykowski@gmail.com> wrote: > > From: Lorenzo Colitti <lorenzo@google.com> > > This allows TC eBPF programs to modify and forward (redirect) packets > from interfaces without ethernet headers (for example cellular) > to interfaces with (for example ethernet/wifi). > > The lack of this appears to simply be an oversight. > > Tested: > in active use in Android R on 4.14+ devices for ipv6 > cellular to wifi tethering offload. > > Signed-off-by: Lorenzo Colitti <lorenzo@google.com> > Signed-off-by: Maciej Żenczykowski <maze@google.com> Applied. Thanks
diff --git a/net/core/filter.c b/net/core/filter.c index 7d6ceaa54d21..755867867e57 100644 --- a/net/core/filter.c +++ b/net/core/filter.c @@ -6213,6 +6213,8 @@ tc_cls_act_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog) return &bpf_skb_adjust_room_proto; case BPF_FUNC_skb_change_tail: return &bpf_skb_change_tail_proto; + case BPF_FUNC_skb_change_head: + return &bpf_skb_change_head_proto; case BPF_FUNC_skb_get_tunnel_key: return &bpf_skb_get_tunnel_key_proto; case BPF_FUNC_skb_set_tunnel_key: