On Fri, Nov 16, 2012 at 10:46:57AM -0800, Justin Pettit wrote:
> 
> On Nov 16, 2012, at 10:18 AM, Ben Pfaff <b...@nicira.com> wrote:
> 
> > On Fri, Nov 16, 2012 at 12:03:05AM -0800, Justin Pettit wrote:
> >> Commit acf608 (ofproto-dpif: Use a single underlying datapath across
> >> multiple bridges.) causes datapath flows from deleted ports to not be
> >> removed.  The issue is that the code that bulk deletes old flows doesn't
> >> know the datapath port number that makes up the datapath flow
> >> definition.  This commit keeps track of the datapath port in the facet
> >> for use when the datapath flow eventually needs to be removed.
> >> 
> >> Signed-off-by: Justin Pettit <jpet...@nicira.com>
> > 
> > This seems OK, but I wonder whether odp_in_port is more naturally a
> > member of struct subfacet, since that is tied more closely to kernel
> > flows than struct facet?  (I almost claimed that we could recover the
> > ODP in_port from the subfacet's ->key nlattrs without adding a new
> > member, but we discard that information in the common case.)
> 
> I thought about putting it with the subfacet, but I figured it would
> always be the same in both, but there are potentially more subfacets
> than facets, so it seems like it used less memory.  Are there cases
> where the in_port would look different from subfacet to subfacet in
> the same facet?

I doubt there's a case where subfacets within a facet could have
different in_ports.  VLAN splinters are the only case where something
odd is going on with ports, but that wouldn't change the in_port within
a single facet.

I don't think memory issues are a real consideration here.  The common
case is exactly one subfacet per facet.  So I would do whichever you
think makes more logical sense.  I think the subfacet is logically
a better location, but I can live with the facet too.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to