kernel-ark/net
Patrick McHardy e5dfb81518 [NET_SCHED]: Add flow classifier
Add new "flow" classifier, which is meant to extend the SFQ hashing
capabilities without hard-coding new hash functions and also allows
deterministic mappings of keys to classes, replacing some out of tree
iptables patches like IPCLASSIFY (maps IPs to classes), IPMARK (maps
IPs to marks, with fw filters to classes), ...

Some examples:

- Classic SFQ hash:

  tc filter add ... flow hash \
  	keys src,dst,proto,proto-src,proto-dst divisor 1024

- Classic SFQ hash, but using information from conntrack to work properly in
  combination with NAT:

  tc filter add ... flow hash \
  	keys nfct-src,nfct-dst,proto,nfct-proto-src,nfct-proto-dst divisor 1024

- Map destination IPs of 192.168.0.0/24 to classids 1-257:

  tc filter add ... flow map \
  	key dst addend -192.168.0.0 divisor 256

- alternatively:

  tc filter add ... flow map \
  	key dst and 0xff

- similar, but reverse ordered:

  tc filter add ... flow map \
  	key dst and 0xff xor 0xff

Perturbation is currently not supported because we can't reliable kill the
timer on destruction.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-01-31 19:28:36 -08:00
..
9p [NET] 9p: kill dead static inline buf_put_string 2008-01-31 19:27:05 -08:00
802 [TR] net/802/tr.c: sysctl_tr_rif_timeout static 2008-01-31 19:28:31 -08:00
8021q [VLAN]: set_rx_mode support for unicast address list 2008-01-31 19:28:24 -08:00
appletalk [APPLETALK]: Annotations to clear sparse warnings 2008-01-28 15:02:43 -08:00
atm [NETNS]: Add namespace parameter to ip_route_output_key. 2008-01-28 15:11:07 -08:00
ax25 [AX25]: Kill ax25_bind() user triggable printk. 2008-01-31 19:27:06 -08:00
bluetooth [BLUETOOTH]: Fix bugs in previous conn add/del workqueue changes. 2008-01-31 19:28:33 -08:00
bridge [NETFILTER]: ebtables: mark matches, targets and watchers __read_mostly 2008-01-31 19:27:34 -08:00
can [CAN]: Add virtual CAN netdevice driver 2008-01-28 14:54:12 -08:00
core [PKTGEN]: pktgen should not print info that it is spinning 2008-01-31 19:28:26 -08:00
dccp [NETNS]: Tcp-v6 sockets per-net lookup. 2008-01-31 19:28:20 -08:00
decnet [NETNS]: FIB rules API cleanup. 2008-01-28 15:08:13 -08:00
econet [NET]: Convert init_timer into setup_timer 2008-01-28 14:53:35 -08:00
ethernet [ETH]: Combine format_addr() with print_mac(). 2008-01-28 15:00:05 -08:00
ieee80211 ieee80211: beacon->capability is little-endian 2008-01-28 15:08:48 -08:00
ipv4 [TCP]: Unexport sysctl_tcp_tso_win_divisor 2008-01-31 19:28:32 -08:00
ipv6 [IPV6]: Update MSS even if MTU is unchanged. 2008-01-31 19:28:21 -08:00
ipx [NET]: Simple ctl_table to ctl_path conversions. 2008-01-28 15:01:07 -08:00
irda [IrDA]: LMP discovery timer not started by default 2008-01-28 15:10:54 -08:00
iucv [IUCV]: use LIST_HEAD instead of LIST_HEAD_INIT 2008-01-28 14:56:54 -08:00
key [XFRM] xfrm_policy_destroy: Rename and relative fixes. 2008-01-28 15:00:46 -08:00
lapb [LAPB] net/lapb/lapb_iface.c: use LIST_HEAD instead of LIST_HEAD_INIT 2008-01-28 14:56:52 -08:00
llc [NET]: Simple ctl_table to ctl_path conversions. 2008-01-28 15:01:07 -08:00
mac80211 mac80211: fixing null qos data frames check for reordering buffer 2008-01-31 19:26:38 -08:00
netfilter [NETFILTER]: xt_iprange: fix sparse warnings 2008-01-31 19:28:16 -08:00
netlabel NetLabel: Add auditing to the static labeling mechanism 2008-01-30 08:17:29 +11:00
netlink [NETNS]: Fix race between put_net() and netlink_kernel_create(). 2008-01-31 19:27:22 -08:00
netrom [NET]: Simple ctl_table to ctl_path conversions. 2008-01-28 15:01:07 -08:00
packet [PACKET]: Fix sparse warnings in af_packet.c 2008-01-28 15:00:48 -08:00
rfkill rfkill: add the WiMAX radio type 2008-01-31 19:26:46 -08:00
rose [ROSE]: Supress sparse warnings 2008-01-28 15:02:44 -08:00
rxrpc [AF_RXRPC]: constify function pointer tables 2008-01-31 19:27:18 -08:00
sched [NET_SCHED]: Add flow classifier 2008-01-31 19:28:36 -08:00
sctp [SCTP]: Fix miss of report unrecognized HMAC Algorithm parameter 2008-01-31 19:27:09 -08:00
sunrpc Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-02-01 11:45:47 +11:00
tipc [TIPC]: Use tipc_port_unlock 2008-01-28 15:01:05 -08:00
unix [NET]: Add some acquires/releases sparse annotations. 2008-01-28 15:00:31 -08:00
wanrouter [NET]: Make /proc/net per network namespace 2007-10-10 16:49:06 -07:00
wireless WEXT: remove unused variable 2008-01-28 15:10:48 -08:00
x25 [AX25]: Beautify x25_init() version printk. 2008-01-31 19:27:06 -08:00
xfrm [XFRM]: Fix statistics. 2008-01-31 19:28:30 -08:00
compat.c [NETFILTER]: ip6_tables: add compat support 2008-01-28 14:58:36 -08:00
Kconfig [NETFILTER]: Add CONFIG_NETFILTER_ADVANCED option 2008-01-28 14:59:12 -08:00
Makefile [CAN]: Add PF_CAN core module 2008-01-28 14:54:10 -08:00
nonet.c
socket.c [NET] sysctl: make sysctl_somaxconn per-namespace 2008-01-28 14:56:57 -08:00
sysctl_net.c [NET]: Remove the empty net_table 2008-01-28 14:56:29 -08:00
TUNABLE