Classifier: Staged subtable matching.
authorJarno Rajahalme <jrajahalme@nicira.com>
Wed, 20 Nov 2013 01:31:29 +0000 (17:31 -0800)
committerJarno Rajahalme <jrajahalme@nicira.com>
Wed, 20 Nov 2013 01:31:29 +0000 (17:31 -0800)
commit476f36e83bc5b0ca7f11952a23bb0fef76d1cc4b
tree04a140d5fbd415459d5492b6272dfc803988d234
parent4f88b5e5cf2f1da2afe62e339327b6878168875a
Classifier: Staged subtable matching.

Subtable lookup is performed in ranges defined for struct flow,
starting from metadata (registers, in_port, etc.), then L2 header, L3,
and finally L4 ports.  Whenever it is found that there are no matches
in the current subtable, the rest of the subtable can be skipped.  The
rationale of this logic is that as many fields as possible can remain
wildcarded.

Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
15 files changed:
lib/classifier.c
lib/classifier.h
lib/dpif-netdev.c
lib/flow.c
lib/flow.h
lib/match.c
lib/match.h
lib/nx-match.c
lib/ofp-util.c
ofproto/ofproto-dpif-xlate.c
ofproto/ofproto-dpif.c
ofproto/ofproto.c
tests/classifier.at
tests/test-classifier.c
utilities/ovs-ofctl.c