android_kernel_msm-6.1_noth.../include/uapi/linux
Quentin Monnet c456dec4d2 bpf: add documentation for eBPF helpers (12-22)
Add documentation for eBPF helper functions to bpf.h user header file.
This documentation can be parsed with the Python script provided in
another commit of the patch series, in order to provide a RST document
that can later be converted into a man page.

The objective is to make the documentation easily understandable and
accessible to all eBPF developers, including beginners.

This patch contains descriptions for the following helper functions, all
written by Alexei:

- bpf_get_current_pid_tgid()
- bpf_get_current_uid_gid()
- bpf_get_current_comm()
- bpf_skb_vlan_push()
- bpf_skb_vlan_pop()
- bpf_skb_get_tunnel_key()
- bpf_skb_set_tunnel_key()
- bpf_redirect()
- bpf_perf_event_output()
- bpf_get_stackid()
- bpf_get_current_task()

v4:
- bpf_redirect(): Fix typo: "XDP_ABORT" changed to "XDP_ABORTED". Add
  note on bpf_redirect_map() providing better performance. Replace "Save
  for" with "Except for".
- bpf_skb_vlan_push(): Clarify comment about invalidated verifier
  checks.
- bpf_skb_vlan_pop(): Clarify comment about invalidated verifier
  checks.
- bpf_skb_get_tunnel_key(): Add notes on tunnel_id, "collect metadata"
  mode, and example tunneling protocols with which it can be used.
- bpf_skb_set_tunnel_key(): Add a reference to the description of
  bpf_skb_get_tunnel_key().
- bpf_perf_event_output(): Specify that, and for what purpose, the
  helper can be used with programs attached to TC and XDP.

v3:
- bpf_skb_get_tunnel_key(): Change and improve description and example.
- bpf_redirect(): Improve description of BPF_F_INGRESS flag.
- bpf_perf_event_output(): Fix first sentence of description. Delete
  wrong statement on context being evaluated as a struct pt_reg. Remove
  the long yet incomplete example.
- bpf_get_stackid(): Add a note about PERF_MAX_STACK_DEPTH being
  configurable.

Cc: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Quentin Monnet <quentin.monnet@netronome.com>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
2018-04-27 00:21:58 +02:00
..
android
byteorder
caif
can can: dev: Add support for limiting configured bitrate 2018-01-16 15:11:32 +01:00
cifs
dvb media: dvb: add continuity error indicators for memory mapped buffers 2018-02-23 05:28:41 -05:00
genwqe
hdlc
hsi
iio
isdn
mmc
netfilter netfilter: ctnetlink: synproxy support 2018-03-20 14:39:31 +01:00
netfilter_arp
netfilter_bridge netfilter: ebtables: Add support for specifying match revision 2018-03-30 11:03:39 +02:00
netfilter_ipv4
netfilter_ipv6 netfilter: add IPv6 segment routing header 'srh' match 2018-01-10 16:28:44 +01:00
nfsd
raid
sched
spi
sunrpc
tc_act
tc_ematch net: sched: add em_ipt ematch for calling xtables matches 2018-02-21 13:15:33 -05:00
usb ALSA: usb: initial USB Audio Device Class 3.0 support 2018-03-21 11:46:33 +01: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 firmware: arm_sdei: Add driver for Software Delegated Exceptions 2018-01-13 10:44:56 +00:00
aspeed-lpc-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
b1lli.h
batadv_packet.h batman-adv: always assume 2-byte packet alignment 2018-02-27 13:02:54 +01:00
batman_adv.h batman-adv: add multicast flags netlink support 2018-03-14 10:15:34 +01:00
baycom.h
bcache.h
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
blkpg.h
blktrace_api.h blktrace: fix comment in blktrace_api.h 2018-03-30 14:16:24 -06:00
blkzoned.h
bpf.h bpf: add documentation for eBPF helpers (12-22) 2018-04-27 00:21:58 +02:00
bpf_common.h bpf: add comments to BPF ld/ldx sizes 2018-01-18 22:12:38 +01:00
bpf_perf_event.h bpf: add support to read sample address in bpf program 2018-03-08 02:22:34 +01:00
bpqether.h
bsg.h
bt-bmc.h
btf.h bpf: btf: Clean up btf.h in uapi 2018-04-23 11:32:01 +02:00
btrfs.h btrfs: put btrfs_ioctl_vol_args_v2 related defines together 2018-01-22 16:08:16 +01:00
btrfs_tree.h btrfs: add support for SUPER_FLAG_CHANGING_FSID 2018-01-22 16:08:21 +01:00
can.h
capability.h
capi.h
cciss_defs.h
cciss_ioctl.h
cdrom.h
cec-funcs.h media: include/(uapi/)media: add SPDX license info 2018-02-14 13:23:51 -05:00
cec.h media: include/(uapi/)media: add SPDX license info 2018-02-14 13:23:51 -05:00
cgroupstats.h
chio.h
cm4000_cs.h
cn_proc.h
coda.h
coda_psdev.h
coff.h
connector.h
const.h linux/const.h: refactor _BITUL and _BITULL a bit 2018-04-11 10:28:38 -07:00
coresight-stm.h
cramfs_fs.h
cryptouser.h
cuda.h
cyclades.h
cycx_cfm.h
dcbnl.h
dccp.h
devlink.h devlink: Add relation between dpipe and resource 2018-01-16 14:15:34 -05:00
dlm.h
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlmconstants.h
dm-ioctl.h dm: hold DM table for duration of ioctl rather than use blkdev_get 2018-04-04 12:12:38 -04:00
dm-log-userspace.h
dma-buf.h
dn.h
dqblk_xfs.h
edd.h
efs_fs_sb.h
elf-em.h
elf-fdpic.h
elf.h Drop a bunch of metag references 2018-02-23 14:29:59 +00:00
elfcore.h
errno.h
errqueue.h rds: deliver zerocopy completion notification with data 2018-02-27 14:19:11 -05:00
erspan.h net: erspan: create erspan metadata uapi header 2018-01-25 21:39:43 -05:00
ethtool.h ethtool: Add support for configuring PFC stall prevention in ethtool 2018-03-26 13:46:46 -07:00
eventpoll.h add EPOLLNVAL, annotate EPOLL... and event_poll->event 2018-02-01 16:28:55 -05:00
fadvise.h
falloc.h
fanotify.h
fb.h
fcntl.h
fd.h
fdreg.h
fib_rules.h net: fib_rules: support for match on ip_proto, sport and dport 2018-02-28 22:44:43 -05:00
fiemap.h
filter.h
firewire-cdev.h
firewire-constants.h
flat.h
fou.h
fs.h fs: add RWF_APPEND 2018-01-25 19:32:55 -05:00
fsl_hypervisor.h
fsmap.h
fuse.h
futex.h
gameport.h
gen_stats.h
genetlink.h
gfs2_ondisk.h GFS2: Log the reason for log flushes in every log header 2018-01-23 07:39:20 -07:00
gigaset_dev.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
hysdn_if.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h
icmp.h
icmpv6.h
if.h
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h
if_cablemodem.h
if_eql.h
if_ether.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-03-23 11:31:58 -04:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h vxlan: add ttl inherit support 2018-04-17 13:53:13 -04:00
if_ltalk.h
if_macsec.h macsec: restore uAPI after addition of GCM-AES-256 2018-01-22 15:40:16 -05:00
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 tun: allow to attach ebpf socket filter 2018-01-17 15:32:10 -05:00
if_tunnel.h net: erspan: introduce erspan v2 for ip_gre 2017-12-15 12:34:00 -05:00
if_vlan.h
if_x25.h
ife.h
igmp.h
ila.h
in.h
in6.h
in_route.h
inet_diag.h inet_diag: Add equal-operator for ports 2018-01-02 13:54:04 -05:00
inotify.h inotify: Extend ioctl to allow to request id of new watch descriptor 2018-02-14 11:16:28 +01:00
input-event-codes.h Input: add KEY_ROTATE_LOCK_TOGGLE 2017-12-08 13:54:43 -08:00
input.h Input: extend usable life of event timestamps to 2106 on 32 bit systems 2018-01-09 16:40:30 -08:00
ioctl.h
ip.h
ip6_tunnel.h
ip_vs.h
ipc.h
ipmi.h ipmi: Add or fix SPDX-License-Identifier in all files 2018-02-27 07:42:51 -06:00
ipmi_bmc.h ipmi: kcs_bmc: coding-style fixes and use new poll type 2018-02-26 09:49:21 -06:00
ipmi_msgdefs.h ipmi: Add or fix SPDX-License-Identifier in all files 2018-02-27 07:42:51 -06:00
ipsec.h
ipv6.h
ipv6_route.h
ipx.h
irqnr.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
iso_fs.h
ivtv.h
ivtvfb.h
jffs2.h
joystick.h
Kbuild
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 drm/amdkfd: Add ioctls for GPUVM memory management 2018-03-15 17:27:51 -04:00
kvm.h KVM: X86: Provide a capability to disable MWAIT intercepts 2018-03-16 22:03:51 +01:00
kvm_para.h
l2tp.h l2tp: mark L2TP_ATTR_L2SPEC_LEN as not used 2018-01-19 15:00:49 -05:00
libc-compat.h uapi/if_ether.h: move __UAPI_DEF_ETHHDR libc define 2018-02-13 11:23:24 -05:00
lightnvm.h lightnvm: set target over-provision on create ioctl 2018-01-05 08:50:12 -07:00
limits.h
lirc.h media updates for v4.17-rc1 2018-04-03 17:16:59 -07:00
llc.h
loop.h
lp.h
lwtunnel.h
magic.h
major.h
map_to_7segment.h
matroxfb.h
max2175.h
mdio.h
media-bus-format.h
media.h media: media.h: reorganize header to make it easier to understand 2018-02-26 10:14:46 -05:00
mei.h
membarrier.h membarrier: Provide core serializing command, *_SYNC_CORE 2018-02-05 21:35:03 +01:00
memfd.h
mempolicy.h
meye.h
mic_common.h
mic_ioctl.h
mii.h
minix_fs.h
mman.h
mmtimer.h
module.h
mpls.h
mpls_iptunnel.h
mqueue.h
mroute.h
mroute6.h
msdos_fs.h block: Move SECTOR_SIZE and SECTOR_SHIFT definitions into <linux/blkdev.h> 2018-03-17 14:45:23 -06:00
msg.h ipc/msg: introduce msgctl(MSG_STAT_ANY) 2018-04-11 10:28:37 -07:00
mtio.h
n_r3964.h
nbd-netlink.h
nbd.h
ncp.h
ncp_fs.h
ncp_mount.h
ncp_no.h
ncsi.h net/ncsi: Add generic netlink family 2018-03-05 10:43:37 -05:00
ndctl.h libnvdimm, namespace: make min namespace size 4K 2018-02-01 21:27:22 -08:00
neighbour.h
net.h
net_dropmon.h
net_namespace.h
net_tstamp.h
netconf.h
netdevice.h
netfilter.h
netfilter_arp.h netfilter: add defines for arp/decnet max hooks 2018-01-08 18:01:08 +01:00
netfilter_bridge.h
netfilter_decnet.h netfilter: add defines for arp/decnet max hooks 2018-01-08 18:01:08 +01:00
netfilter_ipv4.h netfilter: nf_defrag: Skip defrag if NOTRACK is set 2018-01-11 13:14:20 +01:00
netfilter_ipv6.h netfilter: nf_defrag: Skip defrag if NOTRACK is set 2018-01-11 13:14:20 +01:00
netlink.h
netlink_diag.h
netrom.h
nfc.h
nfs.h nfs: Define NFS_RDMA_PORT 2018-01-14 23:06:30 -05:00
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 nl80211: Add CONTROL_PORT_OVER_NL80211 attribute 2018-03-29 13:45:04 +02:00
nsfs.h
nubus.h nubus: Fix up header split 2018-01-16 16:47:29 +01:00
nvme_ioctl.h
nvram.h
omap3isp.h
omapfb.h
oom.h
openvswitch.h openvswitch: add erspan version I and II support 2018-01-25 21:39:43 -05:00
packet_diag.h
param.h
parport.h
patchkey.h
pci.h
pci_regs.h PCI: Add two more values for PCIe Max_Read_Request_Size 2018-04-16 18:55:04 -04:00
pcitest.h
perf_event.h perf/core: Implement fast breakpoint modification via _IOC_MODIFY_ATTRIBUTES 2018-03-13 15:24:02 +01:00
personality.h
pfkeyv2.h
pg.h
phantom.h
phonet.h
pkt_cls.h net/sched: cls_flower: Add support to handle first frag as match field 2018-03-08 12:16:29 -05:00
pkt_sched.h pkt_sched: Remove TC_RED_OFFLOADED from uapi 2017-12-15 13:35:37 -05: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
psci.h arm/arm64: KVM: Add PSCI_VERSION helper 2018-02-06 22:53:56 +00:00
psp-sev.h include: psp-sev: Capitalize invalid length enum 2018-02-24 02:24:11 +01:00
ptp_clock.h
ptrace.h seccomp, ptrace: switch get_metadata types to arch independent 2018-02-21 16:56:03 -08:00
qemu_fw_cfg.h fw_cfg: write vmcoreinfo details 2018-03-20 03:17:41 +02:00
qnx4_fs.h
qnxtypes.h
qrtr.h
quota.h
radeonfb.h
random.h
raw.h
rds.h rds: deliver zerocopy completion notification with data 2018-02-27 14:19:11 -05:00
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
rpmsg.h
rtc.h
rtnetlink.h net: sched: introduce ingress/egress block index attributes for qdisc 2018-01-17 14:53:57 -05:00
rxrpc.h
scc.h
sched.h sched/deadline: Implement "runtime overrun signal" support 2018-01-10 11:30:31 +01:00
scif_ioctl.h
screen_info.h
sctp.h selinux/stable-4.17 PR 20180403 2018-04-06 15:39:26 -07:00
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 ipc/sem: introduce semctl(SEM_STAT_ANY) 2018-04-11 10:28:37 -07:00
serial.h
serial_core.h serial: 8250: Add Nuvoton NPCM UART 2018-03-09 11:01:19 -08:00
serial_reg.h
serio.h
shm.h ipc/shm: introduce shmctl(SHM_STAT_ANY) 2018-04-11 10:28:37 -07:00
signal.h
signalfd.h
smc.h
smc_diag.h
smiapp.h
snmp.h tcp: export packets delivery info 2018-04-19 13:05:16 -04:00
sock_diag.h
socket.h
sockios.h
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h
stddef.h
stm.h stm class: Make dummy's master/channel ranges configurable 2018-03-28 18:47:18 +03:00
string.h
suspend_ioctls.h
swab.h
switchtec_ioctl.h switchtec: Add Global Fabric Manager Server (GFMS) event 2017-12-18 23:08:11 -06:00
sync_file.h
synclink.h
sysctl.h
sysinfo.h
target_core_user.h
taskstats.h
tcp.h tcp: export packets delivery info 2018-04-19 13:05:16 -04:00
tcp_metrics.h
tee.h This pull request enables dynamic shared memory support in the TEE 2017-12-21 17:23:52 +01:00
termios.h
thermal.h
time.h y2038: Introduce struct __kernel_old_timeval 2018-03-19 15:23:03 +01:00
timerfd.h
times.h
timex.h
tiocl.h
tipc.h tipc: avoid possible string overflow 2018-03-31 22:19:52 -04:00
tipc_config.h tipc: set default MTU for UDP media 2018-04-20 11:04:05 -04:00
tipc_netlink.h tipc: implement configuration of UDP media MTU 2018-04-20 11:04:05 -04:00
tipc_sockets_diag.h tipc: implement socket diagnostics for AF_TIPC 2018-03-22 14:43:35 -04:00
tls.h tls: RX path for ktls 2018-03-23 12:25:54 -04:00
toshiba.h
tty.h
tty_flags.h
types.h
udf_fs_i.h
udp.h
uhid.h
uinput.h
uio.h
uleds.h
ultrasound.h
un.h
unistd.h
unix_diag.h
usbdevice_fs.h USB: remove the URB_NO_FSBR flag 2017-12-12 13:16:07 +01:00
usbip.h
userfaultfd.h
userio.h
utime.h
utsname.h
uuid.h uuid: cleanup <uapi/linux/uuid.h> 2018-02-06 18:32:44 -08:00
uvcvideo.h media: uvcvideo: Add a metadata device node 2018-01-04 06:41:47 -05:00
v4l2-common.h
v4l2-controls.h media: v4l2: Add v4l2 control IDs for HEVC encoder 2018-03-22 06:32:15 -04:00
v4l2-dv-timings.h
v4l2-mediabus.h media: v4l: doc: Clarify v4l2_mbus_fmt height definition 2018-02-26 08:15:50 -05:00
v4l2-subdev.h
vbox_err.h virt: Add vboxguest driver for Virtual Box Guest integration UAPI 2017-12-18 16:12:21 +01:00
vbox_vmmdev_types.h virt: Add vboxguest driver for Virtual Box Guest integration UAPI 2017-12-18 16:12:21 +01:00
vboxguest.h virt: Add vboxguest driver for Virtual Box Guest integration UAPI 2017-12-18 16:12:21 +01:00
veth.h
vfio.h vfio/pci: Add ioeventfd support 2018-03-26 13:22:58 -06:00
vfio_ccw.h
vhost.h
videodev2.h media: videodev2.h: Add v4l2 definition for HEVC 2018-03-22 06:26:05 -04:00
virtio_9p.h
virtio_balloon.h virtio_balloon: export hugetlb page allocation counts 2018-04-10 21:23:55 +03:00
virtio_blk.h
virtio_config.h
virtio_console.h
virtio_crypto.h
virtio_gpu.h
virtio_ids.h
virtio_input.h
virtio_mmio.h
virtio_net.h virtio_net: propagate linkspeed/duplex settings from the hypervisor 2018-01-09 11:37:56 -05:00
virtio_pci.h
virtio_ring.h
virtio_rng.h
virtio_scsi.h
virtio_types.h
virtio_vsock.h
vm_sockets.h
vm_sockets_diag.h
vsockmon.h
vt.h
vtpm_proxy.h
wait.h
wanrouter.h
watchdog.h
wimax.h
wireless.h
wmi.h
x25.h
xattr.h
xfrm.h
xilinx-v4l2-controls.h
zorro.h
zorro_ids.h