Netdev List
 help / color / mirror / Atom feed
From: yamamoto-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org (YAMAMOTO Takashi)
To: jesse-l0M0P4e3n4LQT0dZR+AlfA@public.gmane.org
Cc: dev-yBygre7rU0TnMu66kgdUjQ@public.gmane.org,
	netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	rkerur-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Subject: Re: [PATCH v2.56] datapath: Add basic MPLS support to	kernel
Date: Mon, 28 Apr 2014 11:04:14 +0900 (JST)	[thread overview]
Message-ID: <20140428020414.F1F7971E58@kuma.localdomain> (raw)
In-Reply-To: Your message of "Fri, 25 Apr 2014 12:57:20 -0700" <CAEP_g=8y=jXukP=a2xyk4XMTrBLYWPQOgbTO_h8LE_mVMB9tFQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

> On Fri, Apr 25, 2014 at 1:06 AM, YAMAMOTO Takashi
> <yamamoto-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org> wrote:
>>> On Thu, Apr 24, 2014 at 05:57:29PM +0900, YAMAMOTO Takashi wrote:
>>>> hi,
>>>>
>>>> > + * Due to the sample action there may be multiple possible eth types.
>>>> > + * In order to correctly validate actions all possible types are tracked
>>>> > + * and verified. This is done using struct eth_types.
>>>>
>>>> is there any real-world use cases of these actions inside a sample?
>>>> otherwise, how about just rejecting such combinations?
>>>> it doesn't seem to worth the code complexity to me.
>>>> (sorry if it has been already discussed.  it's the first time for me
>>>> to seriously read this long-lived patch.)
>>>
>>> Good point, the code is rather complex.
>>>
>>> My understanding is that it comes into effect in the case
>>> of sflow or ipfix being configured on the bridge. I tend
>>> to think these are real-world use-cases, though that thinking
>>> is by no means fixed.
>>>
>>> My reading of the code is that in the case of sflow and ipfix a single
>>> sample rule appears at the beginning of the flow. And that it may be
>>> possible to replace the code that you are referring to with something
>>> simpler to handle these cases.
>>
>> it seems that they put only a userland action inside a sample.
>> it's what i expected from its name "sample".
> 
> Yes, that's the only current use case. In theory, this could be used
> more generally although nothing has come up yet.
> 
> In retrospect, I regret the design of the sample action - not the part
> that allows it to handle different actions but the fact that the
> results can affect things outside of the sample action list. I think
> that if we had made it more like a subroutine then that would have
> retained all of the functionality but none of the complexity here.
> Perhaps if we can find a clean way to restructure it without breaking
> compatibility then that would simplify the validation here.

how about

a. just disallow packet-modifying actions in a sample

or

b. unconditionally restore the packet at the end of sample

or, if you prefer to retain compatibility more,
c. disallow push/pop actions in a sample

given the known use cases, i guess a. is good enough.

YAMAMOTO Takashi

> 
>>>
>>> My understanding is that the code you are referring to also comes into
>>> effect when a sample action (a Nicira extension) is used directly in a
>>> rule.  I am less sure that this is a real-world case but the complex logic
>>> you are referring to should to handle this use-case.
>>
>> probably nicira folks can clarify?
> 
> It's the same set of use cases, just extending it to OpenFlow to
> enable building sampling into different situations.
> _______________________________________________
> dev mailing list
> dev-yBygre7rU0TnMu66kgdUjQ@public.gmane.org
> http://openvswitch.org/mailman/listinfo/dev

  parent reply	other threads:[~2014-04-28  2:04 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-01  3:46 [PATCH v2.56] datapath: Add basic MPLS support to kernel Simon Horman
     [not found] ` <1396323981-20700-1-git-send-email-horms-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org>
2014-04-01  3:46   ` Simon Horman
2014-04-24  8:57     ` [ovs-dev] " YAMAMOTO Takashi
2014-04-24 23:24       ` Simon Horman
     [not found]         ` <20140424232441.GA6282-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org>
2014-04-25  8:06           ` YAMAMOTO Takashi
     [not found]             ` <20140425080639.DDFA371E74-0CV7wKnmZOB82hYKe6nXyg@public.gmane.org>
2014-04-25 19:57               ` Jesse Gross
     [not found]                 ` <CAEP_g=8y=jXukP=a2xyk4XMTrBLYWPQOgbTO_h8LE_mVMB9tFQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-04-28  2:04                   ` YAMAMOTO Takashi [this message]
2014-04-28  7:00                   ` Simon Horman
     [not found]                     ` <20140428070012.GB21494-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org>
2014-04-28 21:37                       ` Jesse Gross
2014-04-29  0:13                         ` [ovs-dev] " Simon Horman
2014-04-29 18:41                           ` Jesse Gross
2014-04-30  5:58                             ` Simon Horman
     [not found]                               ` <20140430055807.GA8246-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org>
2014-04-30 22:56                                 ` Jesse Gross
2014-05-01  8:54                                   ` [ovs-dev] " Simon Horman
     [not found]                                     ` <20140501085442.GA20410-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org>
2014-05-01 16:45                                       ` Jesse Gross
     [not found]                                         ` <CAEP_g=-rBXBJ4-CMRuPTxGnrqT-0PNMttvA5_HdugeM5to5Cew-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-11  2:49                                           ` Simon Horman
2014-04-09 23:33   ` 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=20140428020414.F1F7971E58@kuma.localdomain \
    --to=yamamoto-jcdqpdek3idl9jvzuh4aog@public.gmane.org \
    --cc=dev-yBygre7rU0TnMu66kgdUjQ@public.gmane.org \
    --cc=jesse-l0M0P4e3n4LQT0dZR+AlfA@public.gmane.org \
    --cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=rkerur-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox