On Feb 24, 2012, at 5:11 AM, Luiz Ozaki wrote:

>> Does anyone of you know what's the classifier table? What's the difference 
>> between that particular table and the others?
>> 
> 
> If I remember correctly OVS uses only the classifier table, making a hash of 
> the openflow fields for lookup.

Yes, this is correct.  You can think of the classifier as the piece that holds 
the OpenFlow flows that are pushed down from the controller or set up using 
ovs-ofctl.  The kernel datapath has a hash table it uses to lookup exact match 
flows, which are constructed based on a consultation with the classifier.

> You might use the other tables to do "jumps", like in iptables. But on these 
> tables it should be linear lookup (Not sure).

Open vSwitch 1.3.0 introduced up to 255 classifier tables.  Table 0 is the 
first table to be consulted, and other tables can be consulted by using the 
NXAST_RESUBMIT_TABLE action.

> Don't know any case that you need to use the other tables, if anyone have a 
> use case for them, please tell us. Im curious as well now.


Typically they're used to prevent an explosion of rules by having to produce 
the Cartesian product.  For example, you may have a set of IP address you want 
to filter and a set of ports for those IP addresses.  By using multiple tables, 
you only need (number of IPs) + (number of ports).  If you only have a single 
table consultation, you have to multiply those two sets, which can become quite 
a large number.

--Justin


_______________________________________________
discuss mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to