On Feb 16, 2014, at 5:11 PM, Simon Horman <ho...@verge.net.au> wrote:

> On Mon, Feb 17, 2014 at 10:06:55AM +0900, Simon Horman wrote:
>> Remove the restriction that pop MPLS to an ethtype is
>> considered inconsistent.
>> 
>> As it happens this is allowed for OpenFlow 1.0, and thus
>> the tests in the Open vSwtich test-suite, by virtue of
>> inconsistent actions being allowed in the case of OpenFlow 1.0.
>> 
>> Its not clear to me why they should be considered inconsistent
>> or disallowed for other OpenFlow versions.
>> 
>> This was found using Ryu tests via the new make check-ryu target.
>> It allows all of the "POP_MPLS"[1] tests to pass where they previously
>> failed.
>> 
>> [1] http://osrg.github.io/ryu-certification/switch/ovs
>> 
>> Signed-off-by: Simon Horman <ho...@verge.net.au>
>> ---
>> lib/ofp-actions.c | 3 ---
>> 1 file changed, 3 deletions(-)
>> 
>> diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c
>> index 781c3a1..623c726 100644
>> --- a/lib/ofp-actions.c
>> +++ b/lib/ofp-actions.c
>> @@ -2068,9 +2068,6 @@ ofpact_check__(enum ofputil_protocol 
>> *usable_protocols, struct ofpact *a,
>> 
>>     case OFPACT_POP_MPLS:
>>         flow->dl_type = ofpact_get_POP_MPLS(a)->ethertype;
>> -        if (!eth_type_mpls(flow->dl_type)) {
>> -            inconsistent_match(usable_protocols);
>> -        }
>>         return 0;
>> 
>>     case OFPACT_SAMPLE:
> 
> Looking over this another time, I wonder if the eth_type_mpls()
> check should be moved to above the flow->dl_type = 
> ofpact_get_POP_MPLS(a)->ethertype
> line. pop MPLS on a non MPLS packet would indeed be inconsistent.


That sounds right to me,

  Jarno

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to