On Mon, Dec 16, 2013 at 06:42:23PM +0900, Simon Horman wrote:
> On Mon, Dec 16, 2013 at 02:55:39PM +0900, Simon Horman wrote:
> > Hi Ben,
> > 
> > On Fri, Dec 13, 2013 at 12:28:21AM -0800, Ben Pfaff wrote:
> > > I've been a little frustrated with the current approach to MPLS, because 
> > > it
> > > seems quite difficult to understand.  One particularly difficult bit for
> > > me is the variables used during translation, e.g. mpls_depth_delta and
> > > pre_push_mpls_lse.  And what we end up with is support for a single MPLS
> > > label, which I don't think is going to make any real-world users happy.
> > > 
> > > I think that we can do something easier to understand and more powerful
> > > by just keeping track of all the labels in struct flow.  This patch is a
> > > first stab at that.  It's incomplete--in particular I have not implemented
> > > commit_mpls_action() because it seems slightly tricky and it's very late
> > > at night here--and obviously untested, but I'd appreciate feedback on the
> > > approach.
> > 
> > Its quite a bit of code to digest but in general my feeling
> > at this point is that this approach could be made to work.
> > 
> > There are a number of corner cases that my patchset (the previous approach)
> > tries to address. And I believe they contributed to most of the more
> > difficult to understand code.
> > 
> > I have tried mentally running through a number of them to see how they
> > might work out with this new approach. One that seems slightly tricky
> > is the following in the case that MPLS LSEs are being pushed before VLAN 
> > tags.
> > 
> > Assuming no VLAN is present in the original packet:
> > 
> > push_vlan,push_mpls,push_vlan
> > 
> > Or, alternatively, if a VLAN is present in the original packet:
> > 
> > set_vlan_vid,push_mpls,push_vlan
> > 
> > I believe that with this new approach the first VLAN action would be
> > silently dropped. I believe that this case could be handled using
> > recirculation and in the mean time detected and rejected.  But I wanted to
> > bring it to your attention to see how you feel about it.
> > 
> > > I think that if this works out then it would obviate the need for patches
> > > "odp: Allow VLAN actions after MPLS actions" and "lib: Support pushing of
> > > MPLS LSE before or after VLAN tag".
> > 
> > Yes, that seems likely.
> 
> One thing I forgot in my previous email, would you like me to
> work on polishing up this patch?

I'd like to complete my work, and then it's fair game for anyone to
shoot holes in it or improve it.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to