linux-xiaomi-chiron/include/uapi/linux
David Ahern fbee97feed bpf: Add support to attach bpf program to a devmap entry
Add BPF_XDP_DEVMAP attach type for use with programs associated with a
DEVMAP entry.

Allow DEVMAPs to associate a program with a device entry by adding
a bpf_prog.fd to 'struct bpf_devmap_val'. Values read show the program
id, so the fd and id are a union. bpf programs can get access to the
struct via vmlinux.h.

The program associated with the fd must have type XDP with expected
attach type BPF_XDP_DEVMAP. When a program is associated with a device
index, the program is run on an XDP_REDIRECT and before the buffer is
added to the per-cpu queue. At this point rxq data is still valid; the
next patch adds tx device information allowing the prorgam to see both
ingress and egress device indices.

XDP generic is skb based and XDP programs do not work with skb's. Block
the use case by walking maps used by a program that is to be attached
via xdpgeneric and fail if any of them are DEVMAP / DEVMAP_HASH with

Block attach of BPF_XDP_DEVMAP programs to devices.

Signed-off-by: David Ahern <dsahern@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Toke Høiland-Jørgensen <toke@redhat.com>
Link: https://lore.kernel.org/bpf/20200529220716.75383-3-dsahern@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2020-06-01 14:48:32 -07:00
..
android
byteorder
caif
can
cifs
dvb
genwqe
hdlc
hsi
iio
isdn
mmc uapi: revert flexible-array conversions 2020-05-04 11:30:15 -05:00
netfilter netfilter: ctnetlink: add kernel side filtering for dump 2020-05-27 22:20:34 +02:00
netfilter_arp
netfilter_bridge uapi: revert flexible-array conversions 2020-05-04 11:30:15 -05:00
netfilter_ipv4
netfilter_ipv6
nfsd
raid
sched
spi
sunrpc
tc_act net: qos: introduce a gate control flow action 2020-05-01 16:08:19 -07:00
tc_ematch
usb usb: raw-gadget: support stalling/halting/wedging endpoints 2020-05-14 12:30:18 +03:00
wimax
a.out.h
acct.h
adb.h
adfs_fs.h
affs_hardblocks.h
agpgart.h
aio_abi.h
am437x-vpfe.h
apm_bios.h
arcfb.h
arm_sdei.h
aspeed-lpc-ctrl.h
aspeed-p2a-ctrl.h
atalk.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auto_fs4.h
auxvec.h
ax25.h
batadv_packet.h
batman_adv.h
baycom.h
bcache.h
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
blkpg.h
blktrace_api.h
blkzoned.h
bpf.h bpf: Add support to attach bpf program to a devmap entry 2020-06-01 14:48:32 -07:00
bpf_common.h
bpf_perf_event.h
bpfilter.h
bpqether.h
bsg.h
bt-bmc.h
btf.h
btrfs.h btrfs: re-instantiate the removed BTRFS_SUBVOL_CREATE_ASYNC definition 2020-04-10 18:48:27 +02:00
btrfs_tree.h
can.h
capability.h bpf, capability: Introduce CAP_BPF 2020-05-15 17:29:41 +02:00
capi.h
cciss_defs.h
cciss_ioctl.h
cdrom.h
cec-funcs.h
cec.h
cgroupstats.h
chio.h
cm4000_cs.h
cn_proc.h
coda.h
coff.h
connector.h
const.h
coresight-stm.h
cramfs_fs.h
cryptouser.h
cuda.h
cyclades.h
cycx_cfm.h
dcbnl.h
dccp.h
devlink.h devlink: Add 'control' trap type 2020-06-01 11:49:23 -07:00
dlm.h
dlm_device.h uapi: revert flexible-array conversions 2020-05-04 11:30:15 -05:00
dlm_netlink.h
dlm_plock.h
dlmconstants.h
dm-ioctl.h
dm-log-userspace.h
dma-buf.h dma-buf: Fix SET_NAME ioctl uapi 2020-04-27 16:29:41 +05:30
dma-heap.h
dn.h
dns_resolver.h
dqblk_xfs.h
edd.h
efs_fs_sb.h
elf-em.h
elf-fdpic.h
elf.h
elfcore.h
errno.h
errqueue.h docs: networking: convert timestamping.txt to ReST 2020-04-30 12:56:38 -07:00
erspan.h
ethtool.h ethtool: provide UAPI for PHY master/slave configuration. 2020-05-06 17:45:45 -07:00
ethtool_netlink.h net: ethtool: Allow PHY cable test TDR data to configured 2020-05-26 23:22:21 -07:00
eventpoll.h
fadvise.h
falloc.h
fanotify.h
fb.h
fcntl.h
fd.h
fdreg.h
fib_rules.h
fiemap.h uapi: revert flexible-array conversions 2020-05-04 11:30:15 -05:00
filter.h
firewire-cdev.h
firewire-constants.h
fou.h
fpga-dfl.h
fs.h
fscrypt.h
fsi.h
fsl_hypervisor.h
fsmap.h
fsverity.h
fuse.h
futex.h
gameport.h
gen_stats.h
genetlink.h netlink: add infrastructure to expose policies to userspace 2020-04-30 17:51:42 -07:00
gfs2_ondisk.h
gpio.h
gsmmux.h
gtp.h
hash_info.h
hdlc.h
hdlcdrv.h
hdreg.h
hid.h
hiddev.h
hidraw.h
hpet.h
hsr_netlink.h
hw_breakpoint.h
hyperv.h hyper-v: Remove internal types from UAPI header 2020-04-22 21:10:05 +01:00
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h
icmp.h
icmpv6.h
idxd.h
if.h net: Add IF_OPER_TESTING 2020-04-20 12:43:24 -07:00
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h uapi: revert flexible-array conversions 2020-05-04 11:30:15 -05:00
if_arp.h
if_bonding.h
if_bridge.h bridge: mrp: Add support for role MRA 2020-06-01 11:56:11 -07:00
if_cablemodem.h
if_eql.h
if_ether.h bridge: uapi: mrp: Add mrp attributes. 2020-04-27 11:40:25 -07:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h net: bridge: Add port attribute IFLA_BRPORT_MRP_RING_OPEN 2020-04-27 11:40:25 -07:00
if_ltalk.h
if_macsec.h
if_packet.h
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
if_x25.h docs: networking: convert x25-iface.txt to ReST 2020-05-01 12:24:40 -07:00
if_xdp.h
ife.h
igmp.h
ila.h
in.h
in6.h
in_route.h
inet_diag.h inet_diag: add support for cgroup filter 2020-04-30 12:54:02 -07:00
inotify.h
input-event-codes.h Merge branch 'next' into for-linus 2020-04-06 20:56:50 -07:00
input.h
io_uring.h
ioctl.h
iommu.h
ip.h
ip6_tunnel.h
ip_vs.h
ipc.h
ipmi.h
ipmi_bmc.h
ipmi_msgdefs.h
ipsec.h
ipv6.h net: ipv6: add support for rpl sr exthdr 2020-03-29 22:30:57 -07:00
ipv6_route.h
ipx.h
irqnr.h
iso_fs.h
isst_if.h
ivtv.h
ivtvfb.h
jffs2.h
joystick.h
kcm.h
kcmp.h
kcov.h
kd.h
kdev_t.h
kernel-page-flags.h
kernel.h
kernelcapi.h
kexec.h
keyboard.h
keyctl.h
kfd_ioctl.h
kvm.h
kvm_para.h
l2tp.h
libc-compat.h
lightnvm.h
limits.h
lirc.h
llc.h
loop.h
lp.h
lwtunnel.h net: ipv6: add rpl sr tunnel 2020-03-29 22:30:57 -07:00
magic.h
major.h
map_to_7segment.h
matroxfb.h
max2175.h
mdio.h
media-bus-format.h
media.h
mei.h
membarrier.h
memfd.h
mempolicy.h
meye.h
mic_common.h
mic_ioctl.h
mii.h ethtool: provide UAPI for PHY master/slave configuration. 2020-05-06 17:45:45 -07:00
minix_fs.h
mman.h mm/mremap: add MREMAP_DONTUNMAP to mremap() 2020-04-02 09:35:30 -07:00
mmtimer.h
module.h
mount.h
mpls.h
mpls_iptunnel.h
mptcp.h
mqueue.h
mroute.h
mroute6.h
mrp_bridge.h bridge: mrp: Add support for role MRA 2020-06-01 11:56:11 -07:00
msdos_fs.h
msg.h
mtio.h
n_r3964.h
nbd-netlink.h
nbd.h
ncsi.h
ndctl.h
neighbour.h vxlan: ecmp support for mac fdb entries 2020-05-22 14:00:38 -07:00
net.h
net_dropmon.h uapi: revert flexible-array conversions 2020-05-04 11:30:15 -05:00
net_namespace.h
net_tstamp.h ethtool: add timestamping related string sets 2020-03-29 22:32:36 -07:00
netconf.h
netdevice.h
netfilter.h
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h netlink: add infrastructure to expose policies to userspace 2020-04-30 17:51:42 -07:00
netlink_diag.h
netrom.h
nexthop.h nexthop: support for fdb ecmp nexthops 2020-05-22 14:00:38 -07:00
nfc.h
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_mount.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfsacl.h
nilfs2_api.h
nilfs2_ondisk.h
nl80211.h cfg80211: support bigger kek/kck key length 2020-05-31 11:27:24 +02:00
nsfs.h
nubus.h
nvme_ioctl.h
nvram.h
omap3isp.h
omapfb.h
oom.h
openat2.h
openvswitch.h
packet_diag.h
param.h
parport.h
patchkey.h
pci.h
pci_regs.h
pcitest.h misc: pci_endpoint_test: Add ioctl to clear IRQ 2020-04-02 17:57:10 +01:00
perf_event.h
personality.h
pfkeyv2.h
pg.h
phantom.h
phonet.h
pkt_cls.h cls_flower: Support filtering on multiple MPLS Label Stack Entries 2020-05-26 15:22:58 -07:00
pkt_sched.h net_sched: sch_fq: add horizon attribute 2020-05-04 11:56:17 -07:00
pktcdvd.h
pmu.h
poll.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
ppdev.h
ppp-comp.h
ppp-ioctl.h
ppp_defs.h
pps.h
pr.h
prctl.h
psample.h net: psample: Add tunnel support 2020-05-21 17:04:07 -07:00
psci.h
psp-sev.h
ptp_clock.h ptp: Add adjust_phase to ptp_clock_caps capability. 2020-05-02 16:31:45 -07:00
ptrace.h
qemu_fw_cfg.h
qnx4_fs.h
qnxtypes.h
qrtr.h
quota.h
radeonfb.h
random.h
raw.h
rds.h
reboot.h
reiserfs_fs.h
reiserfs_xattr.h
resource.h
rfkill.h
rio_cm_cdev.h
rio_mport_cdev.h
romfs_fs.h
rose.h
route.h
rpl.h include: uapi: linux: add rpl sr header definition 2020-03-29 22:30:57 -07:00
rpl_iptunnel.h net: ipv6: add rpl sr tunnel 2020-03-29 22:30:57 -07:00
rpmsg.h
rseq.h
rtc.h
rtnetlink.h net: sched: introduce terse dump flag 2020-05-15 10:23:11 -07:00
rxrpc.h
scc.h
sched.h
scif_ioctl.h
screen_info.h
sctp.h
sdla.h
seccomp.h
securebits.h
sed-opal.h
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selinux_netlink.h
sem.h
serial.h
serial_core.h
serial_reg.h
serio.h
shm.h
signal.h
signalfd.h
smc.h
smc_diag.h
smiapp.h
snmp.h
sock_diag.h
socket.h
sockios.h
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h
stddef.h
stm.h
string.h
suspend_ioctls.h
swab.h
switchtec_ioctl.h
sync_file.h
synclink.h
sysctl.h
sysinfo.h
target_core_user.h
taskstats.h
tcp.h
tcp_metrics.h
tee.h
termios.h
thermal.h
time.h
time_types.h
timerfd.h
times.h
timex.h
tiocl.h
tipc.h
tipc_config.h
tipc_netlink.h
tipc_sockets_diag.h
tls.h
toshiba.h
tty.h
tty_flags.h
types.h
udf_fs_i.h
udmabuf.h
udp.h
uhid.h
uinput.h
uio.h
uleds.h
ultrasound.h
um_timetravel.h
un.h
unistd.h
unix_diag.h
usbdevice_fs.h
usbip.h
userfaultfd.h userfaultfd: wp: enabled write protection in userfaultfd API 2020-04-07 10:43:39 -07:00
userio.h
utime.h
utsname.h
uuid.h
uvcvideo.h
v4l2-common.h
v4l2-controls.h
v4l2-dv-timings.h
v4l2-mediabus.h
v4l2-subdev.h
vbox_err.h
vbox_vmmdev_types.h
vboxguest.h
veth.h
vfio.h
vfio_ccw.h
vhost.h vhost: introduce vDPA-based backend 2020-04-02 10:41:40 -04:00
vhost_types.h vhost: introduce vDPA-based backend 2020-04-02 10:41:40 -04:00
videodev2.h
virtio_9p.h
virtio_balloon.h virtio-balloon: Avoid using the word 'report' when referring to free page hinting 2020-04-17 06:05:30 -04:00
virtio_blk.h
virtio_config.h
virtio_console.h
virtio_crypto.h
virtio_fs.h
virtio_gpu.h
virtio_ids.h
virtio_input.h
virtio_iommu.h
virtio_mmio.h
virtio_net.h
virtio_pci.h
virtio_pmem.h
virtio_ring.h
virtio_rng.h
virtio_scsi.h
virtio_types.h
virtio_vsock.h
vm_sockets.h
vm_sockets_diag.h
vmcore.h
vsockmon.h
vt.h
vtpm_proxy.h
wait.h
watchdog.h
wimax.h
wireguard.h
wireless.h wireless: Use linux/stddef.h instead of stddef.h 2020-05-27 10:03:27 +02:00
wmi.h
x25.h
xattr.h
xdp_diag.h
xfrm.h xfrm: fix error in comment 2020-04-20 07:26:42 +02:00
xilinx-v4l2-controls.h
zorro.h
zorro_ids.h