twx-linux/include/uapi/linux
Pablo Neira Ayuso 958bee14d0 netfilter: nf_tables: use new transaction infrastructure to handle sets
This patch reworks the nf_tables API so set updates are included in
the same batch that contains rule updates. This speeds up rule-set
updates since we skip a dialog of four messages between kernel and
user-space (two on each direction), from:

 1) create the set and send netlink message to the kernel
 2) process the response from the kernel that contains the allocated name.
 3) add the set elements and send netlink message to the kernel.
 4) process the response from the kernel (to check for errors).

To:

 1) add the set to the batch.
 2) add the set elements to the batch.
 3) add the rule that points to the set.
 4) send batch to the kernel.

This also introduces an internal set ID (NFTA_SET_ID) that is unique
in the batch so set elements and rules can refer to new sets.

Backward compatibility has been only retained in userspace, this
means that new nft versions can talk to the kernel both in the new
and the old fashion.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2014-05-19 12:06:10 +02:00
..
byteorder
caif
can can: allow to change the device mtu for CAN FD capable devices 2014-03-07 09:18:23 +01:00
cifs cifs: Move and expand MAX_SERVER_SIZE definition 2013-09-08 14:34:22 -05:00
dvb
genwqe GenWQE PCI support, health monitoring and recovery 2013-12-18 16:51:15 -08:00
hdlc
hsi
isdn
mmc
netfilter netfilter: nf_tables: use new transaction infrastructure to handle sets 2014-05-19 12:06:10 +02:00
netfilter_arp
netfilter_bridge uapi: Convert some uses of 6 to ETH_ALEN 2013-08-02 12:33:54 -07:00
netfilter_ipv4 uapi: Convert some uses of 6 to ETH_ALEN 2013-08-02 12:33:54 -07:00
netfilter_ipv6
nfsd
raid md: Change handling of save_raid_disk and metadata update during recovery. 2014-01-14 16:44:21 +11:00
spi
sunrpc
tc_act net_sched: act: pick a different type for act_xt 2014-01-16 17:24:11 -08:00
tc_ematch
usb USB: cdc: add MBIM extended functional descriptor structure 2014-03-20 16:57:34 -04:00
wimax uapi: Convert some uses of 6 to ETH_ALEN 2013-08-02 12:33:54 -07:00
a.out.h
acct.h
adb.h
adfs_fs.h
affs_hardblocks.h
agpgart.h
aio_abi.h
apm_bios.h apm-emulation: add hibernation APM events to support suspend2disk 2014-01-07 13:50:28 +01:00
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 Merge git://git.infradead.org/users/eparis/audit 2014-01-23 18:08:10 -08:00
auto_fs4.h
auto_fs.h
auxvec.h
ax25.h
b1lli.h
baycom.h
bcache.h bcache: Add bch_btree_keys_u64s_remaining() 2014-01-08 13:05:13 -08:00
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
blkpg.h
blktrace_api.h
bpqether.h
bsg.h
btrfs.h Revert "btrfs: add ioctl to export size of global metadata reservation" 2014-02-14 13:42:13 -08:00
can.h can: add explicit copyrights to can userspace header 2014-02-04 09:34:33 +01:00
capability.h
capi.h
cciss_defs.h
cciss_ioctl.h
cdrom.h
cgroupstats.h
chio.h
cm4000_cs.h Omnikey Cardman 4000: pull in ioctl.h in user header 2013-08-28 19:26:38 -07:00
cn_proc.h
coda_psdev.h
coda.h
coff.h
connector.h
const.h
cramfs_fs.h
cuda.h
cyclades.h
cycx_cfm.h
dcbnl.h
dccp.h
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlm.h
dlmconstants.h
dm-ioctl.h dm: allow remove to be deferred 2013-11-09 18:20:22 -05:00
dm-log-userspace.h dm log userspace: allow mark requests to piggyback on flush requests 2014-01-21 23:46:27 -05:00
dn.h include/uapi/linux/dn.h: pull in ioctl.h header 2014-01-23 16:36:55 -08:00
dqblk_xfs.h quota: Add a new quotactl command Q_XGETQSTATV 2013-08-20 16:53:58 -05:00
edd.h
efs_fs_sb.h
elf-em.h Drop remaining references to H8/300 architecture 2013-09-16 18:20:24 -07:00
elf-fdpic.h
elf.h
elfcore.h
errno.h
errqueue.h
ethtool.h ethtool: Fix unwanted section breaks in kernel-doc 2014-02-12 17:33:04 -05:00
eventpoll.h epoll: drop EPOLLWAKEUP if PM_SLEEP is disabled 2013-12-03 15:35:52 +01:00
fadvise.h
falloc.h
fanotify.h
fb.h
fcntl.h
fd.h floppy: bail out in open() if drive is not responding to block0 read 2014-01-17 11:12:06 +01:00
fdreg.h
fib_rules.h fib_rules: fix suppressor names and default values 2013-08-03 10:40:23 -07:00
fiemap.h ext4: add support for extent pre-caching 2013-08-16 22:05:14 -04:00
filter.h
firewire-cdev.h firewire: fix libdc1394/FlyCap2 iso event regression 2013-07-27 20:24:36 +02:00
firewire-constants.h
flat.h
fs.h fs: bump inode and dentry counters to long 2013-09-10 18:56:29 -04:00
fsl_hypervisor.h
fuse.h
futex.h
gameport.h
gen_stats.h
genetlink.h genetlink/pmcraid: use proper genetlink multicast API 2013-11-28 18:26:30 -05:00
gfs2_ondisk.h GFS2: Add hints to directory leaf blocks 2014-01-08 12:14:57 +00:00
gigaset_dev.h
hash_info.h crypto: provide single place for hash algo information 2013-10-25 17:14:03 -04:00
hdlc.h
hdlcdrv.h
hdreg.h
hid.h
hiddev.h
hidraw.h
hpet.h
hsr_netlink.h net/hsr: Add support for the High-availability Seamless Redundancy protocol (HSRv0) 2013-11-03 23:20:14 -05:00
hw_breakpoint.h
hysdn_if.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h
icmp.h
icmpv6.h ICMPv6: treat dest unreachable codes 5 and 6 as EACCES, not EPROTO 2013-09-03 22:11:44 -04:00
if_addr.h ipv6 addrconf: add IFA_F_NOPREFIXROUTE flag to suppress creation of IP6 routes 2014-01-15 17:00:40 -08:00
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h net: if_arp: add ARPHRD_6LOWPAN type 2013-12-11 12:57:55 -08:00
if_bonding.h bonding: modify the old and add new xmit hash policies 2013-10-03 15:36:38 -04:00
if_bridge.h uapi: Convert some uses of 6 to ETH_ALEN 2013-08-02 12:33:54 -07:00
if_cablemodem.h
if_eql.h
if_ether.h ether: add loopback type ETH_P_LOOPBACK 2014-03-14 22:20:57 -04:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h net-sysfs: expose number of carrier on/off changes 2014-03-31 16:24:52 -04:00
if_ltalk.h
if_packet.h af_packet: Add Queue mapping mode to af_packet fanout operation 2014-01-22 17:35:50 -08:00
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h pptp: fix byte order warnings 2013-08-13 15:10:22 -07:00
if_slip.h
if_team.h
if_tun.h tun: Get skfilter layout 2013-08-21 12:21:45 -07:00
if_tunnel.h
if_vlan.h
if_x25.h
if.h net: move net_device priv_flags out from UAPI 2014-02-27 15:59:09 -05:00
igmp.h
in6.h ipv6: yet another new IPV6_MTU_DISCOVER option IPV6_PMTUDISC_OMIT 2014-02-26 15:51:01 -05:00
in_route.h
in.h ipv4: yet another new IP_MTU_DISCOVER option IP_PMTUDISC_OMIT 2014-02-26 15:51:00 -05:00
inet_diag.h
inotify.h
input.h Input: define KEY_WWAN for Wireless WAN 2013-12-16 02:20:40 -08:00
ioctl.h
ip6_tunnel.h
ip_vs.h ipvs: fix the IPVS_CMD_ATTR_MAX definition 2013-10-15 10:36:01 +09:00
ip.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-08-26 16:37:08 -04:00
ipc.h
ipmi_msgdefs.h
ipmi.h
ipsec.h
ipv6_route.h
ipv6.h ipv6: drop fragmented ndisc packets by default (RFC 6980) 2013-08-29 15:32:08 -04: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 zorro/UAPI: Disintegrate include/linux/zorro*.h 2013-11-26 11:09:08 +01:00
kd.h
kdev_t.h
kernel-page-flags.h
kernel.h
kernelcapi.h
kexec.h m68k: Add kexec support 2013-12-08 11:01:47 +01:00
keyboard.h
keyctl.h KEYS: Add per-user_namespace registers for persistent per-UID kerberos caches 2013-09-24 10:35:19 +01:00
kvm_para.h kvm uapi: Add KICK_CPU and PV_UNHALT definition to uapi 2013-08-26 12:46:01 +03:00
kvm.h add support for Hyper-V reference time counter 2014-01-17 10:22:08 +01:00
l2tp.h
libc-compat.h net: sync some IP headers with glibc 2013-09-04 13:12:43 -04:00
limits.h
llc.h
loop.h
lp.h
magic.h Btrfs: add tests for find_lock_delalloc_range 2013-11-11 21:56:51 -05:00
major.h mtd: Move major number definitions to major.h 2013-11-06 23:32:59 -08:00
map_to_7segment.h
matroxfb.h
mdio.h
media.h [media] media: Add pad flag MEDIA_PAD_FL_MUST_CONNECT 2013-12-04 14:59:20 -02:00
mei.h
mempolicy.h
meye.h
mic_common.h misc: mic: Fix endianness issues. 2013-11-27 11:03:38 -08:00
mic_ioctl.h misc: mic: fix possible signed underflow (undefined behavior) in userspace API 2014-02-07 15:30:34 -08:00
mii.h
minix_fs.h
mman.h
mmtimer.h
module.h
mpls.h UAPI: add MPLS label stack definition 2014-03-04 13:51:06 -05:00
mqueue.h uapi: Use __kernel_long_t in struct mq_attr 2014-01-20 14:45:33 -08:00
mroute6.h
mroute.h
msdos_fs.h fatfs: add FAT_IOCTL_GET_VOLUME_ID 2013-07-09 10:33:25 -07:00
msg.h uapi: Use __kernel_long_t in struct msgbuf 2014-01-20 14:44:50 -08:00
mtio.h
n_r3964.h
nbd.h
ncp_fs.h
ncp_mount.h
ncp_no.h
ncp.h
neighbour.h neighbour.h: fix comment 2014-01-22 10:34:15 +01:00
net_dropmon.h
net_tstamp.h net_tstamp: Add SIOCGHWTSTAMP ioctl to match SIOCSHWTSTAMP 2013-11-19 19:07:21 +00:00
net.h
netconf.h netconf: rename PROXY_ARP to NEIGH_PROXY 2013-12-22 18:02:43 -05:00
netdevice.h net: export NET_ADDR_* values to user-space API 2014-03-31 16:09:06 -04:00
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h netfilter: nf_tables: add "inet" table for IPv4/IPv6 2014-01-07 23:57:25 +01:00
netlink_diag.h diag: warn about missing first netlink attribute 2013-11-28 18:16:43 -05:00
netlink.h
netrom.h
nfc.h NFC: Add ISO/IEC 15693 header definitions 2014-02-16 23:49:53 +01:00
nfs2.h
nfs3.h
nfs4_mount.h
nfs4.h uapi: convert u64 to __u64 in exported headers 2014-01-23 16:36:55 -08:00
nfs_fs.h
nfs_idmap.h
nfs_mount.h NFS: stop using NFS_MOUNT_SECFLAVOUR server flag 2013-10-28 15:37:56 -04:00
nfs.h
nfsacl.h
nl80211.h cfg80211: regulatory: allow getting DFS CAC time from userspace 2014-02-25 17:29:25 +01:00
nubus.h
nvme.h NVMe: Abort timed out commands 2014-01-27 19:27:53 -05:00
nvram.h
omap3isp.h
omapfb.h
oom.h
openvswitch.h openvswitch: Drop user features if old user space attempted to create datapath 2014-01-06 15:53:00 -08:00
packet_diag.h diag: warn about missing first netlink attribute 2013-11-28 18:16:43 -05:00
param.h
parport.h
patchkey.h
pci_regs.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-01-25 11:17:34 -08:00
pci.h
perf_event.h uapi: convert u64 to __u64 in exported headers 2014-01-23 16:36:55 -08:00
personality.h
pfkeyv2.h ipsec: add support of limited SA dump 2014-02-17 07:18:19 +01:00
pg.h
phantom.h
phonet.h
pkt_cls.h net: sched: cls_bpf: add BPF-based classifier 2013-10-29 17:33:17 -04:00
pkt_sched.h net: pkt_sched: PIE AQM scheme 2014-01-06 15:13:01 -05:00
pktcdvd.h
pmu.h
poll.h
posix_types.h
ppdev.h
ppp_defs.h
ppp-comp.h
ppp-ioctl.h include/uapi/linux/ppp-ioctl.h: pull in ppp_defs.h 2014-01-23 16:36:55 -08:00
pps.h
prctl.h
ptp_clock.h ptp: introduce programmable pins. 2014-03-21 14:21:13 -04:00
ptrace.h
qnx4_fs.h
qnxtypes.h
quota.h
radeonfb.h
random.h random32: move rnd_state to linux/random.h 2013-11-11 14:32:14 -05:00
raw.h
rds.h
reboot.h
reiserfs_fs.h
reiserfs_xattr.h xattr: Constify ->name member of "struct xattr". 2013-07-25 19:30:03 +10:00
resource.h uapi: Use __kernel_long_t/__kernel_ulong_t in <linux/resource.h> 2014-01-20 14:44:17 -08:00
rfkill.h
romfs_fs.h
rose.h
route.h
rtc.h
rtnetlink.h
scc.h
sched.h sched: Move SCHED_RESET_ON_FORK into attr::sched_flags 2014-01-16 09:27:17 +01:00
screen_info.h
sctp.h sctp: Fix FSF address in file headers 2013-12-06 12:37:56 -05:00
sdla.h
seccomp.h
securebits.h
selinux_netlink.h
sem.h
serial_core.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile 2013-09-06 11:14:33 -07:00
serial_reg.h Revert "OMAP: UART: Keep the TX fifo full when possible" 2013-08-27 16:02:18 -07:00
serial.h
serio.h
shm.h uapi: Use __kernel_ulong_t in shmid64_ds/shminfo64/shm_info 2014-01-20 14:45:25 -08:00
signal.h
signalfd.h
snmp.h tcp: snmp stats for Fast Open, SYN rtx, and data pkts 2014-03-03 15:58:03 -05:00
sock_diag.h
socket.h
sockios.h net_tstamp: Add SIOCGHWTSTAMP ioctl to match SIOCSHWTSTAMP 2013-11-19 19:07:21 +00:00
som.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
taskstats.h
tcp_metrics.h tcp: switch rtt estimations to usec resolution 2014-02-26 17:08:40 -05:00
tcp.h tcp: add pacing_rate information into tcp_info 2014-02-14 16:09:43 -05:00
telephony.h
termios.h
time.h
times.h
timex.h uapi: Use __kernel_long_t in struct timex 2014-01-20 14:44:05 -08:00
tiocl.h
tipc_config.h
tipc.h
toshiba.h
tty_flags.h
tty.h
types.h
udf_fs_i.h
udp.h
uhid.h HID: uhid: use generic hidinput_input_event() 2013-07-31 10:33:05 +02:00
uinput.h
uio.h
ultrasound.h
un.h
unistd.h
unix_diag.h diag: warn about missing first netlink attribute 2013-11-28 18:16:43 -05:00
usbdevice_fs.h
utime.h
utsname.h
uuid.h
uvcvideo.h
v4l2-common.h
v4l2-controls.h [media] s5p-mfc: Add controls to set vp8 enc profile 2014-01-13 10:59:11 -02:00
v4l2-dv-timings.h [media] v4l2-dv-timings.h: remove duplicate V4L2_DV_BT_DMT_1366X768P60 2013-08-18 08:13:51 -03:00
v4l2-mediabus.h [media] v4l: Add media format codes for AHSV8888 on 32-bit busses 2013-12-11 09:21:37 -02:00
v4l2-subdev.h
veth.h
vfio.h vfio-pci: PCI hot reset interface 2013-09-04 11:28:04 -06:00
vhost.h
videodev2.h [media] videodev2: Set vb2_rect's width and height as unsigned 2014-01-07 08:02:39 -02:00
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_config.h virtio: VIRTIO_F_ANY_LAYOUT feature 2013-07-09 10:47:45 +09:30
virtio_console.h
virtio_ids.h
virtio_net.h uapi: Convert some uses of 6 to ETH_ALEN 2013-08-02 12:33:54 -07:00
virtio_pci.h
virtio_ring.h
virtio_rng.h
vm_sockets.h
vsp1.h [media] v4l: vsp1: Add LUT support 2013-12-11 09:25:20 -02:00
vt.h
wait.h
wanrouter.h
watchdog.h
wimax.h
wireless.h
x25.h
xattr.h Btrfs: add support for inode properties 2014-01-28 13:20:24 -08:00
xfrm.h xfrm: rename struct xfrm_filter 2014-03-07 08:12:37 +01:00
zorro_ids.h zorro/UAPI: Disintegrate include/linux/zorro*.h 2013-11-26 11:09:08 +01:00
zorro.h zorro/UAPI: Use proper types (endianness/size) in <linux/zorro.h> 2013-11-26 11:09:09 +01:00