Patrick McHardy
3e135cd499
netfilter: nft_dynset: dynamic stateful expression instantiation
...
Support instantiating stateful expressions based on a template that
are associated with dynamically created set entries. The expressions
are evaluated when adding or updating the set element.
This allows to maintain per flow state using the existing set
infrastructure and expression types, with arbitrary definitions of
a flow.
Usage is currently restricted to anonymous sets, meaning only a single
binding can exist, since the desired semantics of multiple independant
bindings haven't been defined so far.
Examples (userspace syntax is still WIP):
1. Limit the rate of new SSH connections per host, similar to iptables
hashlimit:
flow ip saddr timeout 60s \
limit 10/second \
accept
2. Account network traffic between each set of /24 networks:
flow ip saddr & 255.255.255.0 . ip daddr & 255.255.255.0 \
counter
3. Account traffic to each host per user:
flow skuid . ip daddr \
counter
4. Account traffic for each combination of source address and TCP flags:
flow ip saddr . tcp flags \
counter
The resulting set content after a Xmas-scan look like this:
{
192.168.122.1 . fin | psh | urg : counter packets 1001 bytes 40040,
192.168.122.1 . ack : counter packets 74 bytes 3848,
192.168.122.1 . psh | ack : counter packets 35 bytes 3144
}
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2015-04-13 20:19:55 +02:00
..
android
android: uapi: binder.h
2014-10-20 10:30:15 +08:00
byteorder
caif
can
can: introduce new raw socket option to join the given CAN filters
2015-04-01 11:28:22 +02:00
cifs
dvb
genwqe
GenWQE: Update author information
2014-09-23 23:15:46 -07:00
hdlc
hsi
isdn
mmc
netfilter
netfilter: nft_dynset: dynamic stateful expression instantiation
2015-04-13 20:19:55 +02:00
netfilter_arp
uapi: netfilter_arp: use __u8 instead of u_int8_t
2014-08-20 15:13:08 +02:00
netfilter_bridge
uapi: ebtables: don't include linux/if.h
2015-04-13 20:08:38 +02:00
netfilter_ipv4
netfilter_ipv6
nfsd
nfsd: require an explicit option to enable pNFS
2015-03-30 16:05:26 -04:00
raid
md: discard PRINT_RAID_DEBUG ioctl
2014-10-14 13:08:29 +11: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] media: platform: add VPFE capture driver support for AM437X
2014-12-23 12:09:58 -02:00
apm_bios.h
arcfb.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
powerpc updates for 3.19 batch 2
2014-12-19 12:57:45 -08:00
auto_fs.h
auto_fs4.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.h
tc: bpf: add checksum helpers
2015-04-06 16:42:35 -04:00
bpf_common.h
net: filter: move common defines into bpf_common.h
2014-10-14 16:06:45 -04: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
capability.h
capi.h
cciss_defs.h
cciss_ioctl.h
cdrom.h
cgroupstats.h
chio.h
cm4000_cs.h
cn_proc.h
coda.h
coda_psdev.h
coff.h
connector.h
const.h
cramfs_fs.h
cuda.h
cyclades.h
cycx_cfm.h
dcbnl.h
net/dcb: Add IEEE QCN attribute
2015-03-06 21:50:02 -05:00
dccp.h
dlm.h
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlmconstants.h
dlm: adopt orphan locks
2014-11-19 14:48:02 -06:00
dm-ioctl.h
dm: allocate requests in target when stacking on blk-mq devices
2015-02-09 13:06:47 -05:00
dm-log-userspace.h
dn.h
dqblk_xfs.h
edd.h
efs_fs_sb.h
elf-em.h
Add ELF machine define for Nios2
2014-12-08 12:55:57 +08:00
elf-fdpic.h
elf.h
arm64: ptrace: add NT_ARM_SYSTEM_CALL regset
2014-11-28 10:19:49 +00:00
elfcore.h
errno.h
errqueue.h
net-timestamp: ACK timestamp for bytestreams
2014-08-05 16:35:54 -07:00
ethtool.h
ethtool: rename reserved1 memeber in ethtool_drvinfo for expansion ROM version
2015-02-09 14:07:54 -08:00
eventpoll.h
fadvise.h
falloc.h
fanotify.h
fb.h
fcntl.h
shm: add sealing API
2014-08-08 15:57:31 -07:00
fd.h
fdreg.h
fib_rules.h
fiemap.h
filter.h
filter: introduce SKF_AD_VLAN_TPID BPF extension
2015-03-24 15:25:15 -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: add FUSE_NO_OPEN_SUPPORT flag to INIT
2014-07-22 16:37:43 +02:00
futex.h
gameport.h
gen_stats.h
genetlink.h
gfs2_ondisk.h
gigaset_dev.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
Drivers: hv: util: make struct hv_do_fcopy match Hyper-V host messages
2014-11-07 10:21:44 -08:00
hysdn_if.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h
icmp.h
icmpv6.h
if.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
crypto: af_alg - add user space interface for AEAD
2014-12-05 23:56:55 +08:00
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h
bridge: support for multiple vlans and vlan ranges in setlink and dellink requests
2015-01-12 16:47:04 -05:00
if_cablemodem.h
if_eql.h
if_ether.h
net: dsa: reduce number of protocol hooks
2014-08-27 22:59:39 -07:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h
if_link: Add an additional parameter to ifla_vf_info for RSS querying
2015-04-10 21:57:22 -07:00
if_ltalk.h
if_packet.h
af_packet: pass checksum validation status to the user
2015-03-23 22:01:28 -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
if_tun: drop broken IFF_VNET_LE
2014-12-16 11:19:42 -05:00
if_tunnel.h
gue: TX support for using remote checksum offload option
2014-11-05 16:30:03 -05:00
if_vlan.h
if_x25.h
igmp.h
in.h
ip: Add offset parameter to ip_cmsg_recv
2015-01-05 22:44:46 -05:00
in6.h
in6: fix conflict with glibc
2014-12-22 16:12:36 -05:00
in_route.h
inet_diag.h
net: tcp: add DCTCP congestion control algorithm
2014-09-29 00:13:10 -04:00
inotify.h
input.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2015-04-03 14:58:48 -07:00
ioctl.h
ip.h
ip6_tunnel.h
ip_vs.h
ipvs: use 64-bit rates in stats
2015-02-09 16:59:03 +09:00
ipc.h
ipmi.h
ipmi_msgdefs.h
ipsec.h
ipv6.h
ipv6: introduce secret_stable to ipv6_devconf
2015-03-23 22:12:08 -04:00
ipv6_route.h
ipx.h
irda.h
irqnr.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
iso_fs.h
ivtv.h
ivtvfb.h
ixjuser.h
jffs2.h
joystick.h
Kbuild
fs/binfmt_som: Drop kernel support for HP-UX SOM binaries
2015-02-17 16:29:36 +01:00
kcmp.h
kcmp: Move kcmp.h into uapi
2014-12-02 13:52:53 -07:00
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: reformat IOCTL definitions to drm-style
2015-01-06 19:44:36 +02:00
kvm.h
KVM: s390: fixes and features for kvm/next (3.20)
2015-01-23 14:33:36 +01:00
kvm_para.h
l2tp.h
l2tp : multicast notification to the registered listeners
2014-12-31 14:17:20 -05:00
libc-compat.h
ipv6: fix redefinition of in6_pktinfo and ip6_mtuinfo
2015-01-08 19:29:11 -08:00
limits.h
llc.h
loop.h
lp.h
magic.h
take the targets of /proc/*/ns/* symlinks to separate fs
2014-12-10 21:30:20 -05:00
major.h
map_to_7segment.h
matroxfb.h
mdio.h
media-bus-format.h
[media] Move mediabus format definition to a more standard place
2014-11-14 17:47:47 -02:00
media.h
mei.h
memfd.h
shm: add memfd_create() syscall
2014-08-08 15:57:31 -07:00
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
mic_ioctl.h
mii.h
minix_fs.h
mman.h
mmtimer.h
module.h
mpls.h
mqueue.h
mroute.h
mroute6.h
msdos_fs.h
msdos_fs.h: fix 'fields' in comment
2015-01-20 13:51:06 +01:00
msg.h
ipc/msg: increase MSGMNI, remove scaling
2014-12-13 12:42:52 -08:00
mtio.h
n_r3964.h
nbd.h
ncp.h
ncp_fs.h
ncp_mount.h
ncp_no.h
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.h
net_dropmon.h
net_namespace.h
netns: add rtnl cmd to add and get peer netns ids
2015-01-19 14:21:18 -05:00
net_tstamp.h
net-timestamp: no-payload option
2015-02-02 18:46:51 -08: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_diag.h
netrom.h
nfc.h
NFC: Forward NFC_EVT_TRANSACTION to user space
2015-02-02 21:50:40 +01:00
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_mount.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfsacl.h
nl80211.h
nl80211: small clarification of the sched_scan delay attribute
2015-03-30 10:25:35 +02:00
nubus.h
nvme.h
NVMe: Update SCSI Inquiry VPD 83h translation
2015-02-19 16:15:35 -07:00
nvram.h
omap3isp.h
omapfb.h
oom.h
openvswitch.h
net: openvswitch: Support masked set actions.
2015-02-07 22:40:17 -08:00
packet_diag.h
param.h
parport.h
patchkey.h
pci.h
pci_regs.h
PCI: Add defines for PCIe Max_Read_Request_Size
2015-01-27 08:14:26 -06:00
perf_event.h
perf: Add ability to sample machine state on interrupt
2014-11-16 11:41:57 +01:00
personality.h
pfkeyv2.h
pg.h
phantom.h
phonet.h
pkt_cls.h
cls_bpf: add initial eBPF support for programmable classifiers
2015-03-01 14:05:19 -05:00
pkt_sched.h
pkt_sched: fq: better control of DDOS traffic
2015-02-04 22:15:45 -08:00
pktcdvd.h
pmu.h
poll.h
posix_types.h
ppdev.h
ppp-comp.h
ppp-ioctl.h
ppp_defs.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
quota: Cleanup flags definitions
2015-01-21 19:21:30 +01:00
radeonfb.h
random.h
random: introduce getrandom(2) system call
2014-08-05 16:41:22 -04:00
raw.h
rds.h
reboot.h
reiserfs_fs.h
reiserfs_xattr.h
resource.h
rfkill.h
romfs_fs.h
rose.h
route.h
rtc.h
rtnetlink.h
netns: notify netns id events
2015-04-07 17:29:41 -04:00
scc.h
sched.h
sched: Update comments about CLONE_NEWUTS and CLONE_NEWIPC
2014-11-16 10:58:53 +01:00
screen_info.h
sctp.h
sdla.h
seccomp.h
securebits.h
selinux_netlink.h
sem.h
ipc/sem.c: increase SEMMSL, SEMMNI, SEMOPM
2014-12-13 12:42:52 -08:00
serial.h
serial: uapi: Declare all userspace-visible io types
2015-03-07 03:39:55 +01:00
serial_core.h
serial: driver for ETRAX FS UART
2015-02-07 18:43:16 +08:00
serial_reg.h
tty: 8250: Add 64byte UART support for FSL platforms
2015-01-09 14:33:04 -08:00
serio.h
shm.h
signal.h
signalfd.h
smiapp.h
[media] smiapp: Add driver-specific test pattern menu item definitions
2014-08-21 15:25:11 -05:00
snmp.h
tcp: helpers to mitigate ACK loops by rate-limiting out-of-window dupacks
2015-02-08 01:03:12 -08:00
sock_diag.h
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
kernel: add panic_on_warn
2014-12-10 17:41:10 -08:00
sysinfo.h
target_core_user.h
uapi/linux/target_core_user.h: fix headers_install.sh badness
2014-12-18 11:07:27 -08:00
taskstats.h
tcp.h
tcp_metrics.h
telephony.h
termios.h
thermal.h
thermal: provide an UAPI header file
2014-12-09 14:10:41 +08:00
time.h
times.h
timex.h
tiocl.h
tipc.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
toshiba.h
tty.h
tty_flags.h
tty: warn on deprecated serial flags
2014-11-06 15:01:03 -08:00
types.h
udf_fs_i.h
udp.h
uhid.h
HID: uhid: report to user-space whether reports are numbered
2014-08-25 03:28:08 -05:00
uinput.h
Input: uinput - fix ioctl nr overflow for UI_GET_SYSNAME/VERSION
2015-01-11 16:27:25 -08:00
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
usbip: move usbip kernel code out of staging
2014-08-25 10:40:06 -07:00
utime.h
utsname.h
uuid.h
uvcvideo.h
v4l2-common.h
[media] v4l: Add V4L2_SEL_TGT_NATIVE_SIZE selection target
2014-12-04 12:37:01 -02:00
v4l2-controls.h
[media] adv7180: Add fast switch support
2015-02-02 11:51:38 -02:00
v4l2-dv-timings.h
Revert "[media] v4l2-dv-timings: fix a sparse warning"
2014-10-24 08:58:09 -02:00
v4l2-mediabus.h
[media] v4l2-mediabus.h: use two __u16 instead of two __u32
2014-12-16 23:21:36 -02:00
v4l2-subdev.h
[media] Make use of the new media_bus_format definitions
2014-11-14 17:51:18 -02:00
veth.h
vfio.h
vfio-pci: Add device request interface
2015-02-10 12:38:14 -07:00
vhost.h
videodev2.h
[media] v4l: Add packed Bayer raw10 pixel formats
2014-12-23 10:57:09 -02:00
virtio_9p.h
virtio_balloon.h
virtio_balloon: coding style fixes
2015-01-21 16:28:56 +10:30
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_console: virtio 1.0 support
2014-12-09 12:06:32 +02:00
virtio_ids.h
virtio_net.h
virtio_net: unconditionally define struct virtio_net_hdr_v1.
2015-02-17 16:19:27 +10:30
virtio_pci.h
virtio: define VIRTIO_PCI_CAP_PCI_CFG in header.
2015-02-11 15:03:15 +10:30
virtio_ring.h
virtio_ring: document alignment requirements
2014-12-29 10:54:54 +02: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
virtio: memory access APIs
2014-12-09 12:05:24 +02:00
vm_sockets.h
vsp1.h
vt.h
vt: Remove vt_get_kmsg_redirect() from uapi header
2014-11-05 20:18:30 -08:00
wait.h
wanrouter.h
watchdog.h
wil6210_uapi.h
wil6210: atomic I/O for the card memory
2014-10-02 14:23:14 -04:00
wimax.h
wireless.h
x25.h
xattr.h
xattr: fix check for simultaneous glibc header inclusion
2014-08-29 16:28:16 -07:00
xfrm.h
xfrm: simplify xfrm_address_t use
2015-03-31 13:58:35 -04:00
zorro.h
zorro_ids.h