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
..
act_api.c
[NET_SCHED]: Use typeful attribute parsing helpers
2008-01-28 15:11:21 -08:00
act_gact.c
[NET_SCHED]: Use nla_policy for attribute validation in actions
2008-01-28 15:11:23 -08:00
act_ipt.c
[NET_SCHED]: Use nla_policy for attribute validation in actions
2008-01-28 15:11:23 -08:00
act_mirred.c
[NET_SCHED]: Use nla_policy for attribute validation in actions
2008-01-28 15:11:23 -08:00
act_nat.c
[NET_SCHED]: Use nla_policy for attribute validation in actions
2008-01-28 15:11:23 -08:00
act_pedit.c
[NET_SCHED]: Use nla_policy for attribute validation in actions
2008-01-28 15:11:23 -08:00
act_police.c
[NET_SCHED]: Use nla_policy for attribute validation in actions
2008-01-28 15:11:23 -08:00
act_simple.c
[NET_SCHED]: Use nla_policy for attribute validation in actions
2008-01-28 15:11:23 -08:00
cls_api.c
[NET_SCHED]: Constify struct tcf_ext_map
2008-01-31 19:28:34 -08:00
cls_basic.c
[NET_SCHED]: Constify struct tcf_ext_map
2008-01-31 19:28:34 -08:00
cls_flow.c
[NET_SCHED]: Add flow classifier
2008-01-31 19:28:36 -08:00
cls_fw.c
[NET_SCHED]: Constify struct tcf_ext_map
2008-01-31 19:28:34 -08:00
cls_route.c
[NET_SCHED]: Constify struct tcf_ext_map
2008-01-31 19:28:34 -08:00
cls_rsvp.c
cls_rsvp.h
[NET_SCHED]: Use nla_policy for attribute validation in classifiers
2008-01-28 15:11:23 -08:00
cls_rsvp6.c
cls_tcindex.c
[NET_SCHED]: Constify struct tcf_ext_map
2008-01-31 19:28:34 -08:00
cls_u32.c
[NET_SCHED]: Constify struct tcf_ext_map
2008-01-31 19:28:34 -08:00
em_cmp.c
[NET_SCHED]: ematch: module autoloading
2007-07-11 19:46:26 -07:00
em_meta.c
[NET_SCHED]: Use nla_policy for attribute validation in ematches
2008-01-28 15:11:24 -08:00
em_nbyte.c
[NET_SCHED]: ematch: module autoloading
2007-07-11 19:46:26 -07:00
em_text.c
[NET_SCHED]: Convert classifiers from rtnetlink to new netlink API
2008-01-28 15:11:11 -08:00
em_u32.c
[NET_SCHED]: ematch: module autoloading
2007-07-11 19:46:26 -07:00
ematch.c
[NET_SCHED]: Use nla_policy for attribute validation in ematches
2008-01-28 15:11:24 -08:00
Kconfig
[NET_SCHED]: Add flow classifier
2008-01-31 19:28:36 -08:00
Makefile
[NET_SCHED]: Add flow classifier
2008-01-31 19:28:36 -08:00
sch_api.c
[NET_SCHED]: sch_api: introduce constant for rate table size
2008-01-28 15:11:21 -08:00
sch_atm.c
[NET_SCHED]: Use nla_policy for attribute validation in packet schedulers
2008-01-28 15:11:22 -08:00
sch_blackhole.c
[NET]: Move Qdisc_class_ops and Qdisc_ops in appropriate sections.
2008-01-28 14:53:58 -08:00
sch_cbq.c
[NET_SCHED]: Use nla_policy for attribute validation in packet schedulers
2008-01-28 15:11:22 -08:00
sch_dsmark.c
[NET_SCHED]: Use nla_policy for attribute validation in packet schedulers
2008-01-28 15:11:22 -08:00
sch_fifo.c
[NET_SCHED]: Convert packet schedulers from rtnetlink to new netlink API
2008-01-28 15:11:10 -08:00
sch_generic.c
[NET_SCHED]: Convert packet schedulers from rtnetlink to new netlink API
2008-01-28 15:11:10 -08:00
sch_gred.c
[NET_SCHED]: Use nla_policy for attribute validation in packet schedulers
2008-01-28 15:11:22 -08:00
sch_hfsc.c
[NET_SCHED]: Use nla_policy for attribute validation in packet schedulers
2008-01-28 15:11:22 -08:00
sch_htb.c
[NET_SCHED]: Use nla_policy for attribute validation in packet schedulers
2008-01-28 15:11:22 -08:00
sch_ingress.c
[NET_SCHED]: sch_ingress: remove netfilter support
2008-01-31 19:28:25 -08:00
sch_netem.c
[NET_SCHED]: Use nla_policy for attribute validation in packet schedulers
2008-01-28 15:11:22 -08:00
sch_prio.c
[NET_SCHED]: Propagate nla_parse return value
2008-01-28 15:11:18 -08:00
sch_red.c
[NET_SCHED]: Use nla_policy for attribute validation in packet schedulers
2008-01-28 15:11:22 -08:00
sch_sfq.c
[NET_SCHED]: sch_sfq: make internal queues visible as classes
2008-01-31 19:28:35 -08:00
sch_tbf.c
[NET_SCHED]: Use nla_policy for attribute validation in packet schedulers
2008-01-28 15:11:22 -08:00
sch_teql.c
[PKT_SCHED] sch_teql.c: Duplicate IFF_BROADCAST in FMASK, remove 2nd.
2008-01-31 19:28:29 -08:00