On Fri, Oct 04, 2013 at 09:31:05AM -0700, Ben Pfaff wrote:
> On Fri, Oct 04, 2013 at 05:09:57PM +0900, Simon Horman wrote:
> > From: Joe Stringer <j...@wand.net.nz>
> > 
> > This patch adds new ofpact_from_openflow13() and
> > ofpacts_from_openflow13() functions parallel to the existing ofpact
> > handling code. In the OpenFlow 1.3 version, push_mpls is handled
> > differently, but all other actions are handled by the existing code.
> > 
> > In the case of push_mpls for OpenFlow 1.3 the new mpls_before_vlan field of
> > struct ofpact_push_mpls is set to true.  This will be used by a subsequent
> > patch to allow allow the correct VLAN+MPLS datapath behaviour to be
> > determined at odp translation time.
> > 
> > Signed-off-by: Joe Stringer <j...@wand.net.nz>
> > Signed-off-by: Simon Horman <ho...@verge.net.au>
> 
> The need for a huge comment on mpls_before_vlan suggests to me that
> breaking it out as a separate type would be helpful.  How about this:
> 
> /* The position in the packet at which to insert an MPLS header.
>  *
>  * Used NXAST_PUSH_MPLS, OFPAT11_PUSH_MPLS. */
> enum ofpact_mpls_position {
>     /* Add the MPLS LSE after the Ethernet header but before any VLAN tags.
>      * OpenFlow 1.3+ requires this behavior. */
>     OFPACT_MPLS_BEFORE_VLAN,
> 
>     /* Add the MPLS LSE after the Ethernet header and any VLAN tags.
>      * OpenFlow 1.1 and 1.2 require this behavior. */
>     OFPACT_MPLS_AFTER_VLAN
> };
> 
> /* OFPACT_PUSH_VLAN/MPLS/PBB
>  *
>  * Used for NXAST_PUSH_MPLS, OFPAT11_PUSH_MPLS. */
> struct ofpact_push_mpls {
>     struct ofpact ofpact;
>     ovs_be16 ethertype;
>     enum ofpact_mpls_position position;
> };

Hi Ben,

thanks, that looks very nice.
I will incorporate it in the next revision of the patchset.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to