# \[PATCH net-next v7 0/3\] virtio\_net: add optional flow dissection in virtio\_net\_hdr\_to\_skb

- From: Tanner Love \<hidden\>
- Date: 2021-06-16 20:35:04 
- List: netdev
- Page: https://ratatoskr.run/netdev/2021/06/11205646
- Thread: https://ratatoskr.run/netdev/2021/06/11205646/t.md

```text
From: Tanner Love <redacted>

First patch extends the flow dissector BPF program type to accept
pointer to virtio-net header. 

Second patch uses this feature to add optional flow dissection in
virtio_net_hdr_to_skb(). This allows admins to define permitted
packets more strictly, for example dropping deprecated UDP_UFO
packets.

Third patch extends kselftest to cover this feature.

Tanner Love (3):
  net: flow_dissector: extend bpf flow dissector support with vnet hdr
  virtio_net: add optional flow dissection in virtio_net_hdr_to_skb
  selftests/net: amend bpf flow dissector prog to do vnet hdr validation

 drivers/net/bonding/bond_main.c               |   2 +-
 include/linux/bpf.h                           |   8 +
 include/linux/skbuff.h                        |  35 +++-
 include/linux/virtio_net.h                    |  25 ++-
 include/uapi/linux/bpf.h                      |   1 +
 kernel/bpf/verifier.c                         |  33 +--
 net/bpf/test_run.c                            |   2 +-
 net/core/filter.c                             |  53 +++++
 net/core/flow_dissector.c                     |  39 +++-
 net/core/sysctl_net_core.c                    |   9 +
 tools/include/uapi/linux/bpf.h                |   1 +
 tools/testing/selftests/bpf/progs/bpf_flow.c  | 188 +++++++++++++-----
 .../selftests/bpf/test_flow_dissector.c       | 181 +++++++++++++++--
 .../selftests/bpf/test_flow_dissector.sh      |  19 ++
 14 files changed, 497 insertions(+), 99 deletions(-)

-- 
2.32.0.272.g935e593368-goog

```
