mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-11 08:28:34 +00:00
When we tail call PROG(VLAN) from parse_eth_proto we don't need to peek
back to handle vlan proto because we didn't adjust nhoff/thoff yet. Use
flow_keys->n_proto, that we set in parse_eth_proto instead and
properly increment nhoff as well.
Also, always use skb->protocol and don't look at skb->vlan_present.
skb->vlan_present indicates that vlan information is stored out-of-band
in skb->vlan_{tci,proto} and vlan header is already pulled from skb.
That means, skb->vlan_present == true is not relevant for BPF flow
dissector.
Add simple test cases with VLAN tagged frames:
* single vlan for ipv4
* double vlan for ipv6
Signed-off-by: Stanislav Fomichev <sdf@google.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
|
||
|---|---|---|
| .. | ||
| .gitignore | ||
| bpf_obj_id.c | ||
| flow_dissector.c | ||
| get_stack_raw_tp.c | ||
| l4lb_all.c | ||
| map_lock.c | ||
| obj_name.c | ||
| pkt_access.c | ||
| pkt_md_access.c | ||
| prog_run_xattr.c | ||
| queue_stack_map.c | ||
| reference_tracking.c | ||
| signal_pending.c | ||
| spinlock.c | ||
| stacktrace_build_id_nmi.c | ||
| stacktrace_build_id.c | ||
| stacktrace_map_raw_tp.c | ||
| stacktrace_map.c | ||
| task_fd_query_rawtp.c | ||
| task_fd_query_tp.c | ||
| tcp_estats.c | ||
| tp_attach_query.c | ||
| xdp_adjust_tail.c | ||
| xdp_noinline.c | ||
| xdp.c | ||