[ovs-dev] [PATCH 2/2] ovs-dpctl: Add mega flow support

Ben Pfaff blp at nicira.com
Wed Jun 19 20:42:24 UTC 2013

I don't really care about the formatting, only about the kernel ABI.

Pre-megaflows, the ABI was:

    type                mask               matches
    ----------------    ----------------   ---------------------------
    eth_type(0x600+)    <none>             specified Ethertype II Ethertype.
    <none>              <none>             any non-Ethernet II frame

Now, my understanding is that the above continue to be valid, with the
same meanings, but the following are also supported:

    type                mask               matches
    ----------------    ----------------   ---------------------------
    eth_type(0x600+)    eth_type(0xffff)   specified Ethertype II Ethertype.
    eth_type(0x600+)    eth_type(0)        any Ethertype II frame
    <none>              eth_type(0xffff)   any non-Ethernet II frame

Is that right?

On Wed, Jun 19, 2013 at 10:40:28AM -0700, Andy Zhou wrote:
> We will continue to allow missing eth_type in the netlink attribute to
> imply Ethernet II type. 802.3 frames requires a specific eth_type
> attribute.

I don't understand the first sentence.  We have never interpreted a
missing eth_type as implying an Ethernet II frame; the opposite, in
fact: a missing eth_type matches only non-Ethernet II frames.

> With Mega flows, we further require a missing eth_type in the key attribute
> to have a exact match (oxffff) in the eth_type of the mask attribute (if
> present).

That's really weird.  What's the rationale?



More information about the dev mailing list