add support for xdp bpf program type

Tested via:
  packages/modules/Connectivity/Tethering/Tethering/bpf_progs/offload.c:

  +DEFINE_BPF_PROG_KVER("xdp/test", AID_ROOT, AID_ROOT,
  +                      xdp_test, KVER(5, 10, 0))
  +(struct xdp_md *ctx) {
  +    return XDP_PASS;
  +}

  vsoc_x86:/ # ip link show dev lo
  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
      link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

  vsoc_x86:/ # ip link set dev lo xdp pinned /sys/fs/bpf/prog_offload_xdp_test

  vsoc_x86:/ # ip link show dev lo
  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 xdpgeneric qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
      link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
      prog/xdp id 3 tag 3b185187f1855c4c jited

  vsoc_x86:/ # ip link set dev lo xdp off

  vsoc_x86:/ # ip link show dev lo
  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
      link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

Test: atest, TreeHugger
Bug: 167540099
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I7472d6d8120344abde9ea0f44c59a46f30da77f1
1 file changed
tree: 2f4b25543d721cbb3505d3d98d2300ddab0c1d54
  1. bpfloader/
  2. libbpf_android/
  3. progs/
  4. Android.bp
  5. NOTICE
  6. OWNERS
  7. PREUPLOAD.cfg