tests/integrated: Match on MPLS dl_type for flows with pop MPLS actions

OpenFlow 1.2 section 6.7 describes inconsistent action in a flow
as an action whose operation is inconsistent with the flows match.

In terms of the above pop MPLS actions are inconsistent if the flow
does not match on one of the MPLS dl_types.

This patch add such a match for the flow that has a pop MPLS action.

Also enable the pop MPLS test, it appears to be supported by Open vSwitch.

I noticed this when using Open vSwitch's "make ryu-check" as
Open vSwitch enforces action consistency for the set NW TTL action.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
Simon Horman 2014-04-25 10:20:12 +09:00 committed by FUJITA Tomonori
parent 9e5e9ce56c
commit f6e1fa4c57

View File

@ -145,7 +145,9 @@ class RunTest(tester.TestFlowBase):
self._verify = [dp.ofproto.OFPAT_POP_MPLS,
'ethertype', ethertype]
actions = [dp.ofproto_parser.OFPActionPopMpls(ethertype), ]
self.add_apply_actions(dp, actions)
match = dp.ofproto_parser.OFPMatch()
match.set_dl_type(ether.ETH_TYPE_MPLS)
self.add_apply_actions(dp, actions, match)
# Test of Set-Filed Actions
def test_action_set_field_dl_dst(self, dp):
@ -482,7 +484,6 @@ class RunTest(tester.TestFlowBase):
'test_action_copy_ttl_in',
'test_action_copy_ttl_out',
'test_action_dec_mpls_ttl',
'test_action_pop_mpls',
'test_action_push_mpls',
'test_action_set_field_mpls_label',
'test_action_set_field_mpls_tc',