twx-linux/include/uapi/linux
Willem de Bruijn bc31c905e9 net-tc: convert tc_from to tc_from_ingress and tc_redirected
The tc_from field fulfills two roles. It encodes whether a packet was
redirected by an act_mirred device and, if so, whether act_mirred was
called on ingress or egress. Split it into separate fields.

The information is needed by the special IFB loop, where packets are
taken out of the normal path by act_mirred, forwarded to IFB, then
reinjected at their original location (ingress or egress) by IFB.

The IFB device cannot use skb->tc_at_ingress, because that may have
been overwritten as the packet travels from act_mirred to ifb_xmit,
when it passes through tc_classify on the IFB egress path. Cache this
value in skb->tc_from_ingress.

That field is valid only if a packet arriving at ifb_xmit came from
act_mirred. Other packets can be crafted to reach ifb_xmit. These
must be dropped. Set tc_redirected on redirection and drop all packets
that do not have this bit set.

Both fields are set only on cloned skbs in tc actions, so original
packet sources do not have to clear the bit when reusing packets
(notably, pktgen and octeon).

Signed-off-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-08 20:58:52 -05:00
..
android
byteorder
caif
can can: bcm: add support for CAN FD frames 2016-06-17 15:39:46 +02:00
cifs
dvb [media] fix broken references on dvb/video*rst 2016-09-09 09:53:35 -03:00
genwqe
hdlc
hsi HSI: hsi_char.h: use __u32 from linux/types.h 2016-08-22 22:43:35 +02:00
iio iio: Implement counter channel type and info constants 2016-10-01 17:06:02 +01:00
isdn
mmc mmc: block: Change MMC_IOC_MAX_BYTES 2016-11-29 09:00:30 +01:00
netfilter Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next 2016-12-07 19:16:46 -05:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
raid md/failfast: add failfast flag for md to be used by some personalities. 2016-11-22 08:58:17 -08:00
spi
sunrpc
tc_act Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-06 21:33:19 -05:00
tc_ematch
usb usb: ch9: make usb_endpoint_maxp() return only packet size 2016-11-03 10:38:22 +02: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
atalk.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h Revert "include/uapi/linux/atm_zatm.h: include linux/time.h" 2016-11-13 12:35:13 -05:00
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 Merge branch 'stable-4.10' of git://git.infradead.org/users/pcmoore/audit 2016-12-14 14:06:40 -08:00
auto_dev-ioctl.h autofs4: move linux/auto_dev-ioctl.h to uapi/linux 2016-10-11 15:06:31 -07:00
auto_fs4.h
auto_fs.h autofs: move inclusion of linux/limits.h to uapi 2016-10-11 15:06:31 -07:00
auxvec.h
ax25.h
b1lli.h
batman_adv.h batman-adv: add backbone table netlink support 2016-08-09 07:54:43 +02:00
baycom.h
bcache.h
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
blkpg.h
blktrace_api.h
blkzoned.h blk-zoned: implement ioctls 2016-10-18 10:05:42 -06:00
bpf_common.h
bpf_perf_event.h bpf: introduce BPF_PROG_TYPE_PERF_EVENT program type 2016-09-02 10:46:44 -07:00
bpf.h bpf: xdp: Allow head adjustment in XDP prog 2016-12-08 14:25:13 -05:00
bpqether.h net: bpqether.h: remove if_ether.h guard 2016-11-13 00:57:53 -05:00
bsg.h
bt-bmc.h ipmi: add an Aspeed BT IPMI BMC driver 2016-09-29 19:05:06 -05:00
btrfs_tree.h
btrfs.h Btrfs: catch invalid free space trees 2016-10-03 18:52:14 +02:00
can.h can: raw: raw_setsockopt: limit number of can_filter that can be set 2016-12-07 10:45:57 +01:00
capability.h uapi: move forward declarations of internal structures 2016-08-02 17:31:41 -04:00
capi.h
cciss_defs.h
cciss_ioctl.h
cdrom.h
cec-funcs.h [media] cec.h/cec-funcs.h: don't use bool in public headers 2016-11-16 15:43:10 -02:00
cec.h [media] cec.h/cec-funcs.h: don't use bool in public headers 2016-11-16 15:43:10 -02:00
cgroupstats.h
chio.h
cm4000_cs.h
cn_proc.h
coda_psdev.h
coda.h
coff.h
connector.h
const.h
coresight-stm.h coresight: stm: adding driver for CoreSight STM component 2016-05-03 14:59:30 -07:00
cramfs_fs.h
cryptouser.h crypto: acomp - add asynchronous compression api 2016-10-25 11:08:30 +08:00
cuda.h
cyclades.h
cycx_cfm.h
dcbnl.h
dccp.h
devlink.h devlink: Add E-Switch inline mode control 2016-11-24 16:01:14 -05:00
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlm.h
dlmconstants.h
dm-ioctl.h dm: add infrastructure for DAX support 2016-07-20 23:49:49 -04:00
dm-log-userspace.h uapi dm-log-userspace.h: use __u32, __s32, __u64 and __s64 from linux/types.h 2016-11-21 09:52:02 -05:00
dma-buf.h
dn.h
dqblk_xfs.h
edd.h
efs_fs_sb.h
elf-em.h bpf, elf: add official ELF machine define for eBPF 2016-07-20 12:37:39 -07:00
elf-fdpic.h
elf.h powerpc updates for 4.8 #2 2016-08-05 09:00:54 -04:00
elfcore.h
errno.h
errqueue.h
ethtool.h ethtool: (uapi) Add ETHTOOL_PHY_DOWNSHIFT to PHY tunables 2016-11-18 12:12:14 -05:00
eventpoll.h
fadvise.h
falloc.h vfs: add a FALLOC_FL_UNSHARE mode to fallocate to unshare a range of blocks 2016-10-03 09:11:14 -07:00
fanotify.h
fb.h
fcntl.h
fd.h
fdreg.h
fib_rules.h net: core: add UID to flows, rules, and routes 2016-11-04 14:45:23 -04:00
fiemap.h
filter.h
firewire-cdev.h
firewire-constants.h
flat.h
fou.h
fs.h This merge request includes the dax-4.0-iomap-pmd branch which is 2016-12-14 09:17:42 -08:00
fsl_hypervisor.h
fuse.h fuse: Add posix ACL support 2016-10-01 07:32:32 +02:00
futex.h
gameport.h
gen_stats.h
genetlink.h genetlink: use idr to track families 2016-10-27 16:16:09 -04:00
gfs2_ondisk.h
gigaset_dev.h
gpio.h gpio: userspace ABI for reading GPIO line events 2016-06-15 09:29:17 +02:00
gsmmux.h
gtp.h gtp: #define _UAPI_LINUX_GTP_H_ and not _UAPI_LINUX_GTP_H__ 2016-06-07 16:25:49 -07:00
hash_info.h
hdlc.h
hdlcdrv.h
hdreg.h
hid.h
hiddev.h
hidraw.h
hpet.h
hsr_netlink.h
hw_breakpoint.h hw_breakpoint: Allow watchpoint of length 3,5,6 and 7 2016-11-18 17:23:17 +00:00
hyperv.h
hysdn_if.h
i2c-dev.h
i2c.h i2c: smbus: add SMBus Host Notify support 2016-06-17 13:24:05 +02:00
i2o-dev.h
i8k.h
icmp.h ipv6: RFC 4884 partial support for SIT/GRE tunnels 2016-06-18 22:11:39 -07:00
icmpv6.h
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h net: bridge: export vlan flags with the stats 2016-08-18 23:18:42 -07:00
if_cablemodem.h
if_eql.h
if_ether.h ethernet: use net core MTU range checking in more drivers 2016-10-20 14:51:08 -04:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h bpf, xdp: allow to pass flags to dev_change_xdp_fd 2016-11-30 10:27:20 -05:00
if_ltalk.h
if_macsec.h macsec: limit ICV length to 16 octets 2016-07-25 10:55:39 -07:00
if_packet.h
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h net: l2tp: deprecate PPPOL2TP_MSG_* in favour of L2TP_MSG_* 2016-12-10 23:29:11 -05:00
if_pppox.h include/uapi/linux/if_pppox.h: include linux/in.h and linux/in6.h 2016-08-22 16:25:15 -07:00
if_slip.h
if_team.h
if_tun.h
if_tunnel.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2016-09-25 23:34:19 +02:00
if_vlan.h
if_x25.h
if.h uapi glibc compat: fix outer guard of net device flags enum 2016-12-06 10:43:32 -05:00
igmp.h
ila.h
in6.h ipv6: add IPV6_RECVFRAGSIZE cmsg 2016-11-03 15:41:11 -04:00
in_route.h
in.h ipv4: add IP_RECVFRAGSIZE cmsg 2016-11-03 15:41:11 -04:00
inet_diag.h net: ip, diag -- Add diag interface for raw sockets 2016-10-23 19:35:24 -04:00
inotify.h
input-event-codes.h Input: change KEY_DATA from 0x275 to 0x277 2016-11-30 08:59:26 -08:00
input.h HID: intel-ish-hid: ISH HID client driver 2016-08-17 11:13:08 +02:00
ioctl.h
ip6_tunnel.h
ip_vs.h
ip.h
ipc.h
ipmi_msgdefs.h
ipmi.h
ipsec.h
ipv6_route.h
ipv6.h ipv6 addrconf: Implemented enhanced DAD (RFC7527) 2016-12-03 23:21:37 -05:00
ipx.h include/uapi/linux/ipx.h: fix conflicting defitions with glibc netipx/ipx.h 2016-08-22 16:25:15 -07:00
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 media updates for v4.10-rc1 2016-12-16 09:39:16 -08:00
kcm.h
kcmp.h
kcov.h
kd.h
kdev_t.h
kernel-page-flags.h
kernel.h
kernelcapi.h
kexec.h arm64/kexec: Add core kexec support 2016-06-27 16:31:25 +01:00
keyboard.h
keyctl.h
kfd_ioctl.h
kvm_para.h
kvm.h Small release, the most interesting stuff is x86 nested virt improvements. 2016-12-13 15:47:02 -08:00
l2tp.h net: l2tp: export debug flags to UAPI 2016-12-10 23:29:11 -05:00
libc-compat.h include/uapi/linux/ipx.h: fix conflicting defitions with glibc netipx/ipx.h 2016-08-22 16:25:15 -07:00
lightnvm.h
limits.h
lirc.h [media] lirc.h: remove several unused ioctls 2016-07-11 10:49:52 -03:00
llc.h
loop.h
lp.h
lwtunnel.h bpf: BPF for lightweight tunnel infrastructure 2016-12-02 10:51:49 -05:00
magic.h x86/intel_rdt: Add basic resctrl filesystem support 2016-10-30 19:10:14 -06:00
major.h docs: fix locations of several documents that got moved 2016-10-24 08:12:35 -02:00
map_to_7segment.h
matroxfb.h
mdio.h
media-bus-format.h [media] media: Add 1X16 16-bit raw bayer media bus code definitions 2016-09-09 11:16:36 -03:00
media.h [media] v4l2-core: Add support for touch devices 2016-08-23 16:28:04 -03:00
mei.h
membarrier.h
memfd.h
mempolicy.h
meye.h
mic_common.h
mic_ioctl.h
mii.h net: Add mask for Control register 10Mbps speed 2016-08-12 16:57:20 -07:00
minix_fs.h
mman.h
mmtimer.h
module.h
mpls_iptunnel.h
mpls.h
mqueue.h
mroute6.h
mroute.h
msdos_fs.h
msg.h
mtio.h
n_r3964.h
nbd.h nbd: move multi-connection bit to unused value 2016-11-22 13:11:55 -07:00
ncp_fs.h
ncp_mount.h
ncp_no.h
ncp.h
ndctl.h libnvdimm: fix SMART Health DSM payload definition 2016-08-15 11:07:21 -07:00
neighbour.h
net_dropmon.h
net_namespace.h
net_tstamp.h tcp: SOF_TIMESTAMPING_OPT_STATS option for SO_TIMESTAMPING 2016-11-30 10:04:25 -05:00
net.h
netconf.h
netdevice.h
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h netfilter: deprecate NF_STOP 2016-11-03 10:56:17 +01:00
netlink_diag.h netlink: Add comment to warn about deprecated netlink rings attribute request 2016-06-16 14:00:50 -07:00
netlink.h
netrom.h
nfc.h
nfs2.h
nfs3.h
nfs4_mount.h
nfs4.h nfs: add a new NFS4_OPEN_RESULT_MAY_NOTIFY_LOCK constant 2016-09-26 15:20:37 -04:00
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfs.h
nfsacl.h
nilfs2_api.h nilfs2: move ioctl interface and disk layout to uapi separately 2016-08-02 19:35:21 -04:00
nilfs2_ondisk.h nilfs2: move ioctl interface and disk layout to uapi separately 2016-08-02 19:35:21 -04:00
nl80211.h nl80211: Use different attrs for BSSID and random MAC addr in scan req 2016-12-09 12:47:19 +01:00
nsfs.h nsfs: add ioctl to get a parent namespace 2016-09-22 19:59:41 -05:00
nubus.h
nvme_ioctl.h NVMe: Allow user initiated rescan 2016-05-17 17:14:21 -06:00
nvram.h
omap3isp.h
omapfb.h
oom.h
openvswitch.h openvswitch: add Ethernet push and pop actions 2016-11-13 00:51:02 -05:00
packet_diag.h
param.h
parport.h
patchkey.h
pci_regs.h PCI: Move config space size macros to pci_regs.h 2016-12-12 10:05:22 -06:00
pci.h
perf_event.h perf core: Per event callchain limit 2016-05-30 12:41:44 -03:00
personality.h
pfkeyv2.h
pg.h
phantom.h
phonet.h
pkt_cls.h net-tc: convert tc_from to tc_from_ingress and tc_redirected 2017-01-08 20:58:52 -05:00
pkt_sched.h net_sched: sch_fq: account for schedule/timers drifts 2016-09-23 07:19:06 -04:00
pktcdvd.h
pmu.h
poll.h
posix_acl_xattr.h posix_acl: uapi header split 2016-09-27 21:52:00 -04:00
posix_acl.h posix_acl: uapi header split 2016-09-27 21:52:00 -04:00
posix_types.h
ppdev.h
ppp_defs.h
ppp-comp.h
ppp-ioctl.h
pps.h
pr.h
prctl.h
psci.h
ptp_clock.h
ptrace.h
qnx4_fs.h
qnxtypes.h
qrtr.h net: Add Qualcomm IPC router 2016-05-08 23:46:14 -04:00
quota.h
radeonfb.h
random.h
raw.h
rds.h RDS: add receive message trace used by application 2017-01-02 14:02:59 -08:00
reboot.h
reiserfs_fs.h
reiserfs_xattr.h
resource.h
rfkill.h
rio_cm_cdev.h rapidio: add RapidIO channelized messaging driver 2016-08-02 19:35:31 -04:00
rio_mport_cdev.h rapidio/mport_cdev: fix uapi type definitions 2016-05-05 17:38:53 -07:00
romfs_fs.h
rose.h
route.h
rtc.h
rtnetlink.h ipmr, ip6mr: add RTNH_F_UNRESOLVED flag to unresolved cache entries 2017-01-03 10:04:31 -05:00
scc.h
sched.h
scif_ioctl.h
screen_info.h
sctp.h sctp: Export struct sctp_info to userspace 2016-08-08 12:51:58 -07:00
sdla.h
seccomp.h
securebits.h
seg6_genl.h ipv6: sr: add code base for control plane support of SR-IPv6 2016-11-09 20:40:06 -05:00
seg6_hmac.h ipv6: sr: add core files for SR HMAC support 2016-11-09 20:40:06 -05:00
seg6_iptunnel.h ipv6: sr: add support for SRH encapsulation and injection with lwtunnels 2016-11-09 20:40:06 -05:00
seg6.h ipv6: implement dataplane support for rthdr type 4 (Segment Routing Header) 2016-11-09 20:40:06 -05:00
selinux_netlink.h
sem.h
serial_core.h TTY and Serial driver update for 4.7-rc1 2016-05-20 20:57:27 -07:00
serial_reg.h serial: 8250: Set Altera 16550 TX FIFO Threshold 2016-09-27 12:55:50 +02:00
serial.h
serio.h [media] input: serio - add new protocol for the Pulse-Eight USB-CEC Adapter 2016-07-12 13:42:10 -03:00
shm.h
signal.h signals/sigaltstack: Change SS_AUTODISARM to (1U << 31) 2016-05-04 08:34:14 +02:00
signalfd.h
smiapp.h
snmp.h tcp: md5: add LINUX_MIB_TCPMD5FAILURE counter 2016-08-25 16:43:11 -07:00
sock_diag.h
socket.h
sockios.h driver: tun: Use new macro SOCK_IOC_TYPE instead of literal number 0x89 2016-10-31 10:56:47 -04:00
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h
stddef.h
stm.h
string.h
suspend_ioctls.h
swab.h byteswap: try to avoid __builtin_constant_p gcc bug 2016-05-05 17:38:53 -07:00
sync_file.h dma-buf/sync_file: fix documentation error 2016-09-20 18:12:38 +05:30
synclink.h
sysctl.h uapi: move forward declarations of internal structures 2016-08-02 17:31:41 -04:00
sysinfo.h
target_core_user.h
taskstats.h
tcp_metrics.h
tcp.h tcp: SOF_TIMESTAMPING_OPT_STATS option for SO_TIMESTAMPING 2016-11-30 10:04:25 -05:00
telephony.h
termios.h
thermal.h
time.h
times.h
timex.h
tiocl.h
tipc_config.h
tipc_netlink.h tipc: add the ability to get UDP options via netlink 2016-08-26 21:38:41 -07:00
tipc.h tipc: introduce constants for tipc address validation 2016-07-26 14:26:42 -07:00
toshiba.h
tty_flags.h
tty.h
types.h linux/types.h: enable endian checks for all sparse builds 2016-12-16 00:13:39 +02:00
udf_fs_i.h
udp.h gtp: add initial driver for datapath of GPRS Tunneling Protocol (GTP-U) 2016-05-10 12:25:04 -04:00
uhid.h
uinput.h
uio.h
uleds.h leds: Introduce userspace LED class driver 2016-11-22 12:07:02 +01:00
ultrasound.h
un.h
unistd.h
unix_diag.h
usbdevice_fs.h
usbip.h
userfaultfd.h
userio.h
utime.h
utsname.h
uuid.h lib/uuid.c: remove FSF address 2016-05-20 17:58:30 -07:00
uvcvideo.h
v4l2-common.h
v4l2-controls.h [media] v4l: ctrls: Add deinterlacing mode control 2016-11-16 16:16:08 -02:00
v4l2-dv-timings.h [media] v4l2-dv-timings: add VICs and picture aspect ratio 2016-11-16 15:13:18 -02:00
v4l2-mediabus.h
v4l2-subdev.h
veth.h
vfio.h vfio: Define device_api strings 2016-11-17 08:33:20 -07:00
vhost.h vhost: remove unused feature bit 2016-12-16 00:13:38 +02:00
videodev2.h [media] v4l: Add 16-bit raw bayer pixel formats 2016-11-23 20:04:22 -02:00
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_config.h virtio: new feature to detect IOMMU device quirk 2016-08-01 21:44:52 +03:00
virtio_console.h
virtio_crypto.h crypto: add virtio-crypto driver 2016-12-16 00:13:32 +02:00
virtio_gpu.h
virtio_ids.h crypto: add virtio-crypto driver 2016-12-16 00:13:32 +02:00
virtio_input.h
virtio_net.h virtio_net: add _UAPI prefix to virtio_net header guards 2016-06-10 23:03:55 -07:00
virtio_pci.h
virtio_ring.h
virtio_rng.h
virtio_scsi.h
virtio_types.h linux: drop __bitwise__ everywhere 2016-12-16 00:13:41 +02:00
virtio_vsock.h virtio-vsock: fix include guard typo 2016-08-09 13:42:38 +03:00
vm_sockets.h
vt.h
vtpm_proxy.h tpm, tpm_vtpm_proxy: add kdoc comments for VTPM_PROXY_IOC_NEW_DEV 2016-11-28 01:31:31 +02:00
wait.h
wanrouter.h
watchdog.h
wil6210_uapi.h
wimax.h
wireless.h wext: reformat struct/union declarations 2016-06-09 10:14:39 +02:00
x25.h
xattr.h
xfrm.h xfrm: fix header file comment reference to struct xfrm_replay_state_esn 2016-09-09 09:10:07 +02:00
xilinx-v4l2-controls.h
zorro_ids.h
zorro.h