kernel-fxtec-pro1x/include/linux/netfilter
Jozsef Kadlecsik a7b4f989a6 netfilter: ipset: IP set core support
The patch adds the IP set core support to the kernel.

The IP set core implements a netlink (nfnetlink) based protocol by which
one can create, destroy, flush, rename, swap, list, save, restore sets,
and add, delete, test elements from userspace. For simplicity (and backward
compatibilty and for not to force ip(6)tables to be linked with a netlink
library) reasons a small getsockopt-based protocol is also kept in order
to communicate with the ip(6)tables match and target.

The netlink protocol passes all u16, etc values in network order with
NLA_F_NET_BYTEORDER flag. The protocol enforces the proper use of the
NLA_F_NESTED and NLA_F_NET_BYTEORDER flags.

For other kernel subsystems (netfilter match and target) the API contains
the functions to add, delete and test elements in sets and the required calls
to get/put refereces to the sets before those operations can be performed.

The set types (which are implemented in independent modules) are stored
in a simple RCU protected list. A set type may have variants: for example
without timeout or with timeout support, for IPv4 or for IPv6. The sets
(i.e. the pointers to the sets) are stored in an array. The sets are
identified by their index in the array, which makes possible easy and
fast swapping of sets. The array is protected indirectly by the nfnl
mutex from nfnetlink. The content of the sets are protected by the rwlock
of the set.

There are functional differences between the add/del/test functions
for the kernel and userspace:

- kernel add/del/test: works on the current packet (i.e. one element)
- kernel test: may trigger an "add" operation  in order to fill
  out unspecified parts of the element from the packet (like MAC address)
- userspace add/del: works on the netlink message and thus possibly
  on multiple elements from the IPSET_ATTR_ADT container attribute.
- userspace add: may trigger resizing of a set

Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Signed-off-by: Patrick McHardy <kaber@trash.net>
2011-02-01 15:28:35 +01:00
..
ipset netfilter: ipset: IP set core support 2011-02-01 15:28:35 +01:00
Kbuild netfilter: xtables: remove extraneous header that slipped in 2011-01-20 08:48:15 +01:00
nf_conntrack_amanda.h
nf_conntrack_common.h netfilter: ctnetlink: add expectation deletion events 2010-10-19 10:19:06 +02:00
nf_conntrack_dccp.h
nf_conntrack_ftp.h
nf_conntrack_h323.h
nf_conntrack_h323_asn1.h
nf_conntrack_h323_types.h
nf_conntrack_irc.h
nf_conntrack_pptp.h
nf_conntrack_proto_gre.h
nf_conntrack_sane.h
nf_conntrack_sctp.h
nf_conntrack_sip.h netfilter: nf_conntrack_sip: Add callid parser 2010-10-04 22:45:23 +09:00
nf_conntrack_snmp.h netfilter: nf_conntrack: nf_conntrack snmp helper 2011-01-18 18:12:24 +01:00
nf_conntrack_tcp.h
nf_conntrack_tftp.h
nf_conntrack_tuple_common.h
nfnetlink.h netfilter: NFNL_SUBSYS_IPSET id and NLA_PUT_NET* macros 2011-02-01 15:20:14 +01:00
nfnetlink_compat.h
nfnetlink_conntrack.h netfilter: nf_conntrack_tstamp: add flow-based timestamp extension 2011-01-19 16:00:07 +01:00
nfnetlink_log.h nfnetlink_log: do not expose NFULNL_COPY_DISABLED to user-space 2010-07-15 11:27:41 +02:00
nfnetlink_queue.h
x_tables.h Merge branch 'master' of /repos/git/net-next-2.6 2011-01-19 23:51:37 +01:00
xt_AUDIT.h netfilter: audit target to record accepted/dropped packets 2011-01-16 18:10:28 +01:00
xt_CHECKSUM.h netfilter: correct CHECKSUM header and export it 2010-07-16 14:08:20 +02:00
xt_CLASSIFY.h
xt_cluster.h netfilter: xtables: add missing header inclusions for headers_check 2011-01-20 17:50:17 +01:00
xt_comment.h netfilter: xt_comment: drop unneeded unsigned qualifier 2011-01-13 12:05:11 +01:00
xt_connbytes.h
xt_connlimit.h netfilter: xtables: add missing header inclusions for headers_check 2011-01-20 17:50:17 +01:00
xt_CONNMARK.h
xt_connmark.h
xt_CONNSECMARK.h
xt_conntrack.h netfilter: xt_conntrack: support matching on port ranges 2011-01-13 12:05:12 +01:00
xt_cpu.h netfilter: add xt_cpu match 2010-07-23 12:59:36 +02:00
xt_CT.h netfilter: xtables: add missing header inclusions for headers_check 2011-01-20 17:50:17 +01:00
xt_dccp.h
xt_DSCP.h
xt_dscp.h
xt_esp.h
xt_hashlimit.h
xt_helper.h
xt_IDLETIMER.h header: fix broken headers for user space 2010-08-22 21:15:39 -07:00
xt_iprange.h
xt_ipvs.h netfilter: fix userspace header warning 2010-08-18 23:34:26 -07:00
xt_LED.h
xt_length.h
xt_limit.h
xt_mac.h
xt_mark.h
xt_MARK.h
xt_multiport.h
xt_NFLOG.h
xt_NFQUEUE.h netfilter: allow NFQUEUE bypass if no listener is available 2011-01-18 16:08:30 +01:00
xt_osf.h
xt_owner.h
xt_physdev.h
xt_pkttype.h
xt_policy.h
xt_quota.h netfilter: xtables: add missing header inclusions for headers_check 2011-01-20 17:50:17 +01:00
xt_RATEEST.h
xt_rateest.h
xt_realm.h
xt_recent.h
xt_sctp.h
xt_SECMARK.h secmark: make secmark object handling generic 2010-10-21 10:12:48 +11:00
xt_socket.h netfilter: xtables: add missing header inclusions for headers_check 2011-01-20 17:50:17 +01:00
xt_state.h
xt_statistic.h
xt_string.h
xt_TCPMSS.h
xt_tcpmss.h
xt_TCPOPTSTRIP.h netfilter: xtables: add missing header inclusions for headers_check 2011-01-20 17:50:17 +01:00
xt_tcpudp.h
xt_TEE.h
xt_time.h netfilter: xtables: add missing header inclusions for headers_check 2011-01-20 17:50:17 +01:00
xt_TPROXY.h netfilter: xtables: add missing header inclusions for headers_check 2011-01-20 17:50:17 +01:00
xt_u32.h netfilter: xtables: add missing header inclusions for headers_check 2011-01-20 17:50:17 +01:00