[ovs-dev] [PATCH] flow: Support OF1.5+ (draft) actset_output field.

Jarno Rajahalme jrajahalme at nicira.com
Wed Oct 29 23:15:51 UTC 2014


On Oct 9, 2014, at 11:11 PM, Ben Pfaff <blp at nicira.com> wrote:

> On Thu, Oct 09, 2014 at 09:16:24AM -0700, Ben Pfaff wrote:
>> On Thu, Oct 09, 2014 at 08:46:00AM -0700, Jarno Rajahalme wrote:
>>> Small issues with the tests, otherwise:
>>> 
>>> Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>
>> 
>> Thanks.
>> 
>>> On Oct 9, 2014, at 8:05 AM, Ben Pfaff <blp at nicira.com> wrote:
>>> 
>>>> This field allows a flow table to match on the output port currently in the
>>>> action set.
>>>> 
>>>> OF1.3 and OF1.4 should use ONFOXM_ET_ACTSET_OUTPUT; OF1.5+ should use
>>>> OXM_OF_ACTSET_OUTPUT.  The current patch uses the former for all
>>>> versions.
>>>> 
>>> 
>>> You plan to fix this in another patch later?
>> 
>> I think doing it properly requires a generalization and update of the
>> nx-match layer.  I do plan to do that.  I forgot about it.
>> 
>> I'm tempted to say, "I'll commit this now and do that later," but I
>> don't think that's really acceptable.  I'll do it now and post a v2.
>> 
>>>> diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at
>>>> index 652a2a3..974720b 100644
>>>> --- a/tests/ofproto-dpif.at
>>>> +++ b/tests/ofproto-dpif.at
>>>> @@ -490,6 +490,83 @@ AT_CHECK([tail -1 stdout], [0], [Datapath actions: 2
>>>> OVS_VSWITCHD_STOP
>>>> AT_CLEANUP
>>>> 
>>>> +dnl Tests that 1.5 set-field with mask in the metadata register.
>>>> +AT_SETUP([ofproto-dpif - masked set-field into metadata])
>>>> +OVS_VSWITCHD_START
>>>> +ADD_OF_PORTS([br0], [1], [2], [3])
>>>> +AT_DATA([flows.txt], [dnl
>>>> +table=0     actions=set_field:0xfafafafa5a5a5a5a->metadata,goto_table(1)
>>>> +table=1     actions=set_field:0x6b/0xff->metadata,goto_table(2)
>>>> +table=2,metadata=0xfafafafa5a5a5a6b  actions=2
>>>> +
>>>> +# These low-priority rules shouldn't match.  They're here only to make really
>>>> +# sure that the test fails if either of the above rules fails to match.
>>>> +table=0,priority=0                        actions=3
>>>> +table=1,priority=0                        actions=3
>>>> +table=2,priority=0                        actions=3
>>>> +])
>>>> +AT_CHECK([ovs-ofctl -O OpenFlow15 add-flows br0 flows.txt])
>>>> +AT_CHECK([ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)'], [0], [stdout])
>>>> +AT_CHECK([tail -1 stdout], [0], [Datapath actions: 2
>>>> +])
>>>> +OVS_VSWITCHD_STOP
>>>> +AT_CLEANUP
>>>> +
>>> 
>>> Did the above belong to an earlier patch? I have no problem it being added with this patch, unless the test is already in.
>> 
>> This comes from a patch by Jean Tourrilhes that added a test for
>> actset_output.  I completely rewrote the actset_output test in that
>> patch and forgot about the other tests.  I will remove the additional
>> tests, because at this point they have been taken from Jean without
>> crediting him.  (Maybe I should add them back in a separate patch, since
>> a Signed-off-by was given, but it's not acceptable and not intentional
>> to take them without credit.)
> 
> I posted a v2:
>   http://openvswitch.org/pipermail/dev/2014-October/047145.html
> Despite your kind "ack", I'll wait for further acknowledgment before
> applying it.

Just to be clear: Are you waiting for someone else to review the v2, or should I review it?

  Jarno




More information about the dev mailing list