All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Horman <horms@verge.net.au>
To: Ben Pfaff <blp@nicira.com>
Cc: Joe Stringer <joestringernz@gmail.com>,
	dev@openvswitch.org, netdev@vger.kernel.org,
	Jesse Gross <jesse@nicira.com>,
	Pravin B Shelar <pshelar@nicira.com>, Ravi K <rkerur@gmail.com>,
	Isaku Yamahata <yamahata@valinux.co.jp>,
	Joe Stringer <joe@wand.net.nz>
Subject: Re: [PATCH v2.44 1/5] odp: Allow VLAN actions after MPLS actions
Date: Wed, 23 Oct 2013 07:30:44 +0100	[thread overview]
Message-ID: <20131023063044.GF14487@verge.net.au> (raw)
In-Reply-To: <20131022205541.GA29754@nicira.com>

On Tue, Oct 22, 2013 at 01:55:41PM -0700, Ben Pfaff wrote:
> On Tue, Oct 22, 2013 at 11:30:26AM -0700, Joe Stringer wrote:
> > You're quite right. I think for OF1.2, this is similar to existing
> > behaviour, but for OF1.3 it's just incorrect. There is an additional issue
> > with the LOAD action.
> > 
> > OF1.2:
> > "push_vlan(A),push_mpls,push_vlan(B)"
> > In OF1.2, this has the same result as:-
> > "push_mpls,push_vlan(A),push_vlan(B)"
> > 
> > When translated, this boils down to "(pop_vlan,)push_mpls,push_vlan(B)".
> > Correct me if I am wrong, but I think this is similar to the existing
> > behaviour, as we currently only support one layer of VLAN. It doesn't
> > matter if A == B.
> > 
> > OF1.3:
> > "mod_vlan_vid:A,push_mpls:0x8847,mod_vlan_vid:A" should work, but the
> > second mod_vlan is being dropped as it has the same VID as the first. This
> > is incorrect, as you point out.
> > 
> > LOAD:
> > "load:A->OXM_OF_VLAN_VID,push_mpls:0x8847,load:A->OXM_OF_VLAN_VID" doesn't
> > result in the correct vlan_vid from the first load action. I'm not sure
> > that vlan_tci_restore() is clear or correct---I believe its original
> > purpose was to properly handle the case where MPLS changes are made from
> > REG_LOAD and friends, in the way that the PUSH_MPLS case works. Instead, it
> > is handling all cases where MPLS actions have been applied in the past,
> > whether the current action modifies MPLS or not.
> > 
> > It's probably also worthwhile to make use of the ovs-ofctl monitor "-m"
> > option in the tests to actually verify these, rather than the current tests
> > where we just check the size of the resulting packet.
> 
> Thanks for the careful analysis.

Indeed, thanks Joe, I'll fix this up.

The idea that I have at this time is to track the VLAN depth delta
in a similar way to what is done for MPLS. But it is not a particularly
well thought out idea at this stage.

  reply	other threads:[~2013-10-23  6:32 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-17  1:15 [PATCH v2.44 0/5] MPLS actions and matches Simon Horman
2013-10-17  1:15 ` [PATCH v2.44 1/5] odp: Allow VLAN actions after MPLS actions Simon Horman
2013-10-21 20:41   ` Ben Pfaff
     [not found]     ` <20131021204102.GD15986-l0M0P4e3n4LQT0dZR+AlfA@public.gmane.org>
2013-10-22 18:30       ` Joe Stringer
2013-10-22 20:55         ` Ben Pfaff
2013-10-23  6:30           ` Simon Horman [this message]
2013-10-17  1:15 ` [PATCH v2.44 2/5] ofp-actions: Add separate OpenFlow 1.3 action parser Simon Horman
2013-10-21 20:19   ` Ben Pfaff
     [not found] ` <1381972511-27221-1-git-send-email-horms-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org>
2013-10-17  1:15   ` [PATCH v2.44 3/5] lib: Support pushing of MPLS LSE before or after VLAN tag Simon Horman
2013-10-17  1:15 ` [PATCH v2.44 4/5] datapath: Break out deacceleration portion of vlan_push Simon Horman
2013-10-17  1:15 ` [PATCH v2.44 5/5] datapath: Add basic MPLS support to kernel Simon Horman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20131023063044.GF14487@verge.net.au \
    --to=horms@verge.net.au \
    --cc=blp@nicira.com \
    --cc=dev@openvswitch.org \
    --cc=jesse@nicira.com \
    --cc=joe@wand.net.nz \
    --cc=joestringernz@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=pshelar@nicira.com \
    --cc=rkerur@gmail.com \
    --cc=yamahata@valinux.co.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.