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

Ben Pfaff blp at nicira.com
Wed Jun 19 21:55:16 UTC 2013


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.
> >



More information about the dev mailing list