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

Andy Zhou azhou at nicira.com
Wed Jun 19 21:52:52 UTC 2013


It is a good idea to capture this information in a table.   The following
table should be accurate:

Pre-megaflow:

    type                mask               matches
    ----------------    ----------------   ---------------------------
    eth_type(0x600+)    <none>       specified Ethertype II, or valid 802.3
SNAP
                                                   packet with valid
eth_type.
 Ethertype.
    <none>              <none>           any non-Ethernet II frame, except
valid 802.3 SNAP
                                                   packet with valid
eth_type.

Post-megaflow:

    type                mask               matches
    ----------------    ----------------   ---------------------------
    eth_type(0x600+)    eth_type(0xffff)   specified Ethertype II
Ethertype, or valid 802.3 SNAP packet with valid eth_type.
    eth_type(0x600+)    eth_type(0)        any Ethertype II frame or
non-Ethernet II frame.
    <none>              eth_type(0xffff)   any non-Ethernet II frame,
except valid 802.3 SNAP packet with valid eth_type.

--andy




On Wed, Jun 19, 2013 at 1:42 PM, Ben Pfaff <blp at nicira.com> wrote:

> 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?
>
> Thanks,
>
> Ben.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-dev/attachments/20130619/4fbed560/attachment-0003.html>


More information about the dev mailing list