[ovs-dev] [PATCH v2.56] datapath: Add basic MPLS support to kernel

Jesse Gross jesse at nicira.com
Fri Apr 25 19:57:20 UTC 2014


On Fri, Apr 25, 2014 at 1:06 AM, YAMAMOTO Takashi
<yamamoto at valinux.co.jp> 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.

>>
>> 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.



More information about the dev mailing list