I took a look at the datapath code - saw only single table, which its entries are microflows and megaflows the megaflows are indicated by non-zero mask fields Sara
On Wed, Aug 16, 2017 at 9:59 AM, Sara Gittlin <sara.gitt...@gmail.com> wrote: > Thank you Joe > Few questions: > 1. Are there 2 separate flow tables in the kernel data-path ? for > microflows and megaflows ? > > 2. If the answer is yes : > - When pkt arrives, is it first checked against the microflows > table and if there is no match, then it checked against the megaflows > table ? > > - Then if the pkt matches a megaflow - a new microflow will be > generated by the kernel for this pkt ? this make sense to improve > performance. > > > Sara > > > On Tue, Aug 15, 2017 at 7:16 PM, Joe Stringer <j...@ovn.org> wrote: >> On the first point - it's a little more subtle than that. A traffic >> flow (eg, a connection) must arrive at OVS, the first packet is sent >> through userspace, which causes userspace to install a megaflow into >> the datapath. Subsequently, if any traffic which matches that megaflow >> arrives, it will directly 'hit' the megaflow entry and execute the >> associated actions without going to userspace. Typically we use >> "microflow" to refer to a packet headers description which >> exact-matches all known fields, while "megaflow" allows a mask to be >> applied in addition to this, which allows the traffic which would >> otherwise be handled by multiple microflows to instead be handled by a >> single megaflow. There is no dependency between megaflows and >> microflows. >> >> Cheers, >> Joe _______________________________________________ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss