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

Andy Zhou azhou at nicira.com
Wed Jun 19 22:04:56 UTC 2013


Good idea. There may be other aspects of the mega related kernel ABI needs
document as well. Wonder if Justin and Jesse have more inputs on this.


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

> OK, can we add that in the tree somewhere, maybe datapath/README?
>
> Thanks,
>
> Ben.
>
> On Wed, Jun 19, 2013 at 02:52:52PM -0700, Andy Zhou wrote:
> > 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/ea0a74c1/attachment-0003.html>


More information about the dev mailing list