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. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev