twx-linux/include/uapi/linux
Daniel Borkmann ba7591d8b2 ebpf: add skb->hash to offset map for usage in {cls, act}_bpf or filters
Add skb->hash to the __sk_buff offset map, so it can be accessed from
an eBPF program. We currently already do this for classic BPF filters,
but not yet on eBPF, it might be useful as a demuxer in combination with
helpers like bpf_clone_redirect(), toy example:

  __section("cls-lb") int ingress_main(struct __sk_buff *skb)
  {
    unsigned int which = 3 + (skb->hash & 7);
    /* bpf_skb_store_bytes(skb, ...); */
    /* bpf_l{3,4}_csum_replace(skb, ...); */
    bpf_clone_redirect(skb, which, 0);
    return -1;
  }

I was thinking whether to add skb_get_hash(), but then concluded the
raw skb->hash seems fine in this case: we can directly access the hash
w/o extra eBPF helper function call, it's filled out by many NICs on
ingress, and in case the entropy level would not be sufficient, people
can still implement their own specific sw fallback hash mix anyway.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-08-02 17:20:47 -07:00
..
android
byteorder
caif
can can: cangw: introduce optional uid to reference created routing jobs 2015-06-09 09:39:49 +02:00
cifs
dvb [media] DocBook: Change format for enum dmx_output documentation 2015-06-09 17:47:38 -03:00
genwqe
hdlc
hsi HSI: cmt_speech: fix timestamp interface 2015-06-23 02:40:03 +02:00
iio iio: Add I/Q modifiers 2015-05-23 10:49:55 +01:00
isdn
mmc
netfilter netfilter: xt_socket: add XT_SOCKET_RESTORESKMARK flag 2015-06-18 13:05:09 +02:00
netfilter_arp
netfilter_bridge Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2015-06-23 14:08:54 -07:00
netfilter_ipv4
netfilter_ipv6
nfsd nfsd: eliminate NFSD_DEBUG 2015-04-21 16:16:02 -04:00
raid Add new disk to clustered array 2015-02-23 09:59:07 -06:00
spi
sunrpc
tc_act act_bpf: add initial eBPF support for actions 2015-03-20 19:10:44 -04:00
tc_ematch
usb usb: gadget: ffs: add eventfd notification about ffs events 2015-01-27 09:34:59 -06:00
wimax
a.out.h
acct.h
adb.h
adfs_fs.h
affs_hardblocks.h
agpgart.h
aio_abi.h
am437x-vpfe.h [media] am437x: include linux/videodev2.h for expanding BASE_VIDIOC_PRIVATE 2015-04-02 18:10:35 -03:00
apm_bios.h
arcfb.h
atalk.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
atm.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_fs4.h
auto_fs.h
auxvec.h
ax25.h
b1lli.h
baycom.h
bcache.h
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
blkpg.h
blktrace_api.h
bpf_common.h
bpf.h ebpf: add skb->hash to offset map for usage in {cls, act}_bpf or filters 2015-08-02 17:20:47 -07:00
bpqether.h
bsg.h
btrfs.h Btrfs: Remove unnecessary placeholder in btrfs_err_code 2015-02-02 19:25:51 -08:00
can.h can.h: make padding given by gcc explicit 2015-05-06 08:03:19 +02:00
capability.h
capi.h
cciss_defs.h
cciss_ioctl.h
cdrom.h
cgroupstats.h
chio.h
cm4000_cs.h
cn_proc.h
coda_psdev.h
coda.h
coff.h
connector.h
const.h
cramfs_fs.h
cryptouser.h crypto: user - Add CRYPTO_MSG_DELRNG 2015-06-22 15:49:27 +08:00
cuda.h
cyclades.h
cycx_cfm.h
dcbnl.h dcb : Fix incorrect documentation for struct dcb_app 2015-06-23 07:00:41 -07:00
dccp.h
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlm.h
dlmconstants.h
dm-ioctl.h dm: bump the ioctl version to 4.32.0 2015-06-26 10:14:28 -04:00
dm-log-userspace.h
dn.h
dqblk_xfs.h
edd.h
efs_fs_sb.h
elf-em.h Add ELF machine 2015-06-23 13:35:47 +09:00
elf-fdpic.h
elf.h
elfcore.h
errno.h
errqueue.h
ethtool.h clarify implementation of ethtool's get_ts_info op 2015-07-17 19:59:04 -07:00
eventpoll.h
fadvise.h
falloc.h fs: Add support FALLOC_FL_INSERT_RANGE for fallocate 2015-03-25 15:07:05 +11:00
fanotify.h
fb.h
fcntl.h
fd.h
fdreg.h
fib_rules.h fib: Add fib rule match on tunnel id 2015-07-21 10:39:06 -07:00
fiemap.h
filter.h bpf: fix bpf helpers to use skb->mac_header relative offsets 2015-04-16 14:08:49 -04:00
firewire-cdev.h
firewire-constants.h
flat.h
fou.h fou: implement FOU_CMD_GET 2015-04-12 21:25:13 -04:00
fs.h vfs: add support for a lazytime mount option 2015-02-05 02:45:00 -05:00
fsl_hypervisor.h
fuse.h fuse: device fd clone 2015-07-01 16:26:08 +02:00
futex.h
gameport.h
gen_stats.h
genetlink.h
gfs2_ondisk.h
gigaset_dev.h
gsmmux.h tty: move linux/gsmmux.h to uapi 2015-06-01 10:45:51 +09:00
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 Drivers: hv: fcopy: full handshake support 2015-05-24 12:17:42 -07:00
hysdn_if.h
i2c-dev.h
i2c.h i2c: add FUNC flag for slave capabilities 2015-06-01 08:07:08 +09:00
i2o-dev.h
i8k.h
icmp.h
icmpv6.h
if_addr.h ipv6: introduce IFA_F_STABLE_PRIVACY flag 2015-03-23 22:12:09 -04:00
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h bridge: mdb: add vlan support for user entries 2015-07-13 14:41:26 -07:00
if_cablemodem.h
if_eql.h
if_ether.h
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h bonding: add tlb_dynamic_lb netlink support 2015-07-31 15:35:55 -07:00
if_ltalk.h
if_packet.h packet: rollover statistics 2015-05-13 15:43:00 -04:00
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_team.h
if_tun.h macvtap/tun: cross-endian support for little-endian hosts 2015-06-01 15:48:56 +02:00
if_tunnel.h
if_vlan.h
if_x25.h
if.h
igmp.h
in6.h
in_route.h
in.h api: fix compatibility of linux/in.h with netinet/in.h 2015-06-29 18:56:21 -07:00
inet_diag.h net: inet_diag: export IPV6_V6ONLY sockopt 2015-06-24 02:51:39 -07:00
inotify.h
input.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2015-04-14 18:25:15 -07:00
ioctl.h
ip6_tunnel.h
ip_vs.h ipvs: use 64-bit rates in stats 2015-02-09 16:59:03 +09:00
ip.h net: ipv4 sysctl option to ignore routes when nexthop link is down 2015-06-24 02:15:54 -07:00
ipc.h
ipmi_msgdefs.h
ipmi.h
ipsec.h
ipv6_route.h ipv6: Create percpu rt6_info 2015-05-25 13:25:35 -04:00
ipv6.h net/ipv6: add sysctl option accept_ra_min_hop_limit 2015-07-30 15:56:40 -07:00
ipx.h
irda.h
irqnr.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
iso_fs.h
ivtv.h
ivtvfb.h
ixjuser.h
jffs2.h
joystick.h
Kbuild lwtunnel: export linux/lwtunnel.h to userspace 2015-07-26 21:45:54 -07:00
kcmp.h
kd.h
kdev_t.h
kernel-page-flags.h mm:add KPF_ZERO_PAGE flag for /proc/kpageflags 2015-02-11 17:06:00 -08:00
kernel.h
kernelcapi.h
kexec.h kexec: Fix make headers_check 2015-02-17 14:34:51 -08:00
keyboard.h
keyctl.h
kfd_ioctl.h drm/amdkfd: add H/W debugger IOCTL set definitions 2015-06-03 11:32:07 +03:00
kvm_para.h
kvm.h KVM/ARM changes for v4.2: 2015-06-19 17:15:24 +02:00
l2tp.h
libc-compat.h api: fix compatibility of linux/in.h with netinet/in.h 2015-06-29 18:56:21 -07:00
limits.h
llc.h
loop.h
lp.h
lwtunnel.h route: Per route IP tunnel metadata via lightweight tunnel 2015-07-21 10:39:06 -07:00
magic.h tracefs: Add new tracefs file system 2015-02-03 12:48:40 -05:00
major.h
map_to_7segment.h
matroxfb.h
mdio.h
media-bus-format.h Merge branch 'drm-next-merged' of git://people.freedesktop.org/~airlied/linux into v4l_for_linus 2015-04-21 09:44:55 -03:00
media.h [media] media.h: mark alsa struct in media_entity_desc as TODO 2015-02-26 08:40:10 -03:00
mei.h
memfd.h
mempolicy.h mm: convert p[te|md]_numa users to p[te|md]_protnone_numa 2015-02-12 18:54:08 -08:00
meye.h
mic_common.h misc: mic: Common MIC header file changes in preparation for SCIF 2015-05-24 12:13:36 -07:00
mic_ioctl.h
mii.h
minix_fs.h
mman.h
mmtimer.h
module.h
mpls_iptunnel.h mpls: ip tunnel support 2015-07-21 10:39:05 -07:00
mpls.h mpls: Change reserved label names to be consistent with netbsd 2015-05-09 22:29:50 -04:00
mqueue.h
mroute6.h
mroute.h
msdos_fs.h
msg.h
mtio.h
n_r3964.h
nbd.h nbd: stop using req->cmd 2015-05-05 13:40:44 -06:00
ncp_fs.h
ncp_mount.h
ncp_no.h
ncp.h
ndctl.h libnvdimm: pmem label sets and namespace instantiation. 2015-06-24 21:24:10 -04:00
neighbour.h net: neighbour: Add mcast_resolicit to configure the number of multicast resolicitations in PROBE state. 2015-03-20 21:47:40 -04:00
net_dropmon.h
net_namespace.h
net_tstamp.h net-timestamp: no-payload option 2015-02-02 18:46:51 -08:00
net.h
netconf.h ipv4: add support for linkdown sysctl to netconf 2015-07-08 23:34:53 -07:00
netdevice.h
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h netfilter: don't pull include/linux/netfilter.h from netns headers 2015-06-18 21:14:31 +02:00
netlink_diag.h
netlink.h netlink: add API to retrieve all group memberships 2015-06-21 10:18:18 -07:00
netrom.h
nfc.h NFC: netlink: Implement vendor command support 2015-06-09 01:21:35 +02:00
nfs2.h
nfs3.h
nfs4_mount.h
nfs4.h uapi/nfs: Add NFSv4.1 ACL definitions 2015-06-01 10:25:37 -04:00
nfs_fs.h
nfs_idmap.h NFS: Move nfs_idmap.h into fs/nfs/ 2015-04-23 15:16:14 -04:00
nfs_mount.h
nfs.h
nfsacl.h
nl80211.h cfg80211: change GO_CONCURRENT to IR_CONCURRENT for STA 2015-05-06 15:50:02 +02:00
nubus.h
nvme.h NVMe: Automatic namespace rescan 2015-06-05 10:58:34 -06:00
nvram.h
omap3isp.h
omapfb.h
oom.h
openvswitch.h ip_tunnel: Make ovs_tunnel_info and ovs_key_ipv4_tunnel generic 2015-07-21 10:39:05 -07:00
packet_diag.h
param.h
parport.h
patchkey.h
pci_regs.h PCI: Add defines for PCIe Max_Read_Request_Size 2015-01-27 08:14:26 -06:00
pci.h
perf_event.h perf tools: Add time out to force stop proc map processing 2015-06-19 18:20:15 -03:00
personality.h
pfkeyv2.h
pg.h
phantom.h
phonet.h
pkt_cls.h net: sched: pkt_cls: remove unused macros from uapi 2015-05-21 23:26:51 -04:00
pkt_sched.h net_sched: gred: add TCA_GRED_LIMIT attribute 2015-05-12 18:22:49 -04:00
pktcdvd.h
pmu.h
poll.h
posix_types.h
ppdev.h
ppp_defs.h
ppp-comp.h
ppp-ioctl.h
pps.h
prctl.h MIPS,prctl: add PR_[GS]ET_FP_MODE prctl options for MIPS 2015-02-12 12:30:29 +01:00
psci.h
ptp_clock.h
ptrace.h
qnx4_fs.h
qnxtypes.h
quota.h vfs: Add general support to enforce project quota limits 2015-03-18 21:55:08 +01:00
radeonfb.h
random.h
raw.h
rds.h net/rds: Declare SO_RDS_TRANSPORT and RDS_TRANS_* constants in uapi/linux/rds.h 2015-05-31 21:47:23 -07:00
reboot.h
reiserfs_fs.h
reiserfs_xattr.h
resource.h
rfkill.h
romfs_fs.h
rose.h
route.h
rtc.h
rtnetlink.h route: Per route IP tunnel metadata via lightweight tunnel 2015-07-21 10:39:06 -07:00
scc.h
sched.h
scif_ioctl.h misc: mic: SCIF header file and IOCTL interface 2015-05-24 12:13:36 -07:00
screen_info.h
sctp.h
sdla.h
seccomp.h
securebits.h
selinux_netlink.h
sem.h
serial_core.h serial: stm32-usart: Add STM32 USART Driver 2015-06-10 17:34:26 -07:00
serial_reg.h ARM: OMAP1: Move UART defines to prepare for sparse IRQ 2015-05-20 09:01:20 -07:00
serial.h serial: uapi: Declare all userspace-visible io types 2015-03-07 03:39:55 +01:00
serio.h
shm.h
signal.h
signalfd.h
smiapp.h
snmp.h net: track success and failure of TCP PMTU probing 2015-07-21 22:36:33 -07:00
sock_diag.h sock_diag: define destruction multicast groups 2015-06-15 19:49:22 -07:00
socket.h
sockios.h
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h
stddef.h
string.h
suspend_ioctls.h
swab.h
synclink.h
sysctl.h
sysinfo.h
target_core_user.h target: Version 2 of TCMU ABI 2015-04-19 22:40:26 -07:00
taskstats.h
tcp_metrics.h
tcp.h tcp: add tcpi_segs_in and tcpi_segs_out to tcp_info 2015-05-21 23:25:21 -04:00
telephony.h
termios.h
thermal.h
time.h
times.h
timex.h
tiocl.h
tipc_config.h tipc: convert legacy nl link stat to nl compat 2015-02-09 13:20:47 -08:00
tipc_netlink.h tipc: add ip/udp media type 2015-03-05 22:08:42 -05:00
tipc.h
toshiba.h
tty_flags.h tty: fix comment of ASYNCB_SPD_HI 2015-05-24 12:49:16 -07:00
tty.h NFC: nci: add generic uart support 2015-06-11 23:37:37 +02:00
types.h
udf_fs_i.h
udp.h
uhid.h
uinput.h
uio.h
ultrasound.h
un.h
unistd.h
unix_diag.h
usbdevice_fs.h USB: usbfs: allow URBs to be reaped after disconnection 2015-01-31 09:05:06 -08:00
usbip.h
utime.h
utsname.h
uuid.h
uvcvideo.h
v4l2-common.h
v4l2-controls.h [media] adv7180: Add fast switch support 2015-02-02 11:51:38 -02:00
v4l2-dv-timings.h [media] videodev2.h/v4l2-dv-timings.h: add V4L2_DV_FL_IS_CE_VIDEO flag 2015-04-08 06:36:52 -03:00
v4l2-mediabus.h [media] videodev2.h: add support for transfer functions 2015-06-05 11:45:45 -03:00
v4l2-subdev.h [media] v4l2-subdev.h: add 'which' field for the enum structs 2015-03-23 11:44:35 -07:00
veth.h
vfio.h vfio: powerpc/spapr: Support Dynamic DMA windows 2015-06-11 15:16:55 +10:00
vhost.h vhost: cross-endian support for legacy devices 2015-06-01 15:48:55 +02:00
videodev2.h [media] videodev2.h: fix copy-and-paste error in V4L2_MAP_XFER_FUNC_DEFAULT 2015-06-18 14:34:46 -03:00
virtio_9p.h
virtio_balloon.h include/uapi/linux/virtio_balloon.h: include linux/virtio_types.h 2015-06-01 15:46:54 +02:00
virtio_blk.h virtio_blk: fix comment for virtio 1.0 2015-03-10 11:48:29 +10:30
virtio_config.h virtio: Don't expose legacy config features when VIRTIO_CONFIG_NO_LEGACY defined. 2015-02-11 15:03:16 +10:30
virtio_console.h
virtio_gpu.h virtgpu: include linux/types.h to avoid warning. 2015-06-05 12:31:12 +10:00
virtio_ids.h Add virtio gpu driver. 2015-06-03 14:17:38 +02:00
virtio_input.h Add virtio-input driver. 2015-03-29 12:13:52 +10:30
virtio_net.h virtio_net: document VIRTIO_NET_CTRL_GUEST_OFFLOADS 2015-07-01 10:11:17 +02:00
virtio_pci.h virtio: define virtio_pci_cfg_cap in header. 2015-07-07 14:27:05 +03:00
virtio_ring.h virtio: Fix typecast of pointer in vring_init() 2015-07-07 14:27:04 +03:00
virtio_rng.h
virtio_scsi.h uapi/virtio_scsi: allow overriding CDB/SENSE size 2015-03-13 15:55:43 +10:30
virtio_types.h
vm_sockets.h
vsp1.h
vt.h
wait.h
wanrouter.h
watchdog.h
wil6210_uapi.h
wimax.h
wireless.h
x25.h
xattr.h
xfrm.h xfrm: simplify xfrm_address_t use 2015-03-31 13:58:35 -04:00
xilinx-v4l2-controls.h [media] v4l: xilinx: Add Test Pattern Generator driver 2015-04-03 01:04:18 -03:00
zorro_ids.h
zorro.h