From bff600848874ac60041c4ad91e80bb61241cf723 Mon Sep 17 00:00:00 2001 From: Yuichi Ito Date: Tue, 15 Apr 2014 14:52:58 +0900 Subject: [PATCH] sw test tool: Fix to compare OFPMatch ignoring fields that masks are all zero bits OF 1.3.3 spec (7.2.3.5 Flow Match Field Masking) says: An all-zero-bits oxm_mask is equivalent to omitting the OXM TLV entirely. An all-one-bits oxm_mask is equivalent to specifying 0 for oxm_hasmask and omitting oxm_mask. This patch fixes to compare OFPMatch ignoring fields that masks are all zero bits. Signed-off-by: Yuichi Ito Signed-off-by: FUJITA Tomonori --- ryu/tests/switch/tester.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ryu/tests/switch/tester.py b/ryu/tests/switch/tester.py index dd05050b..4b12e291 100644 --- a/ryu/tests/switch/tester.py +++ b/ryu/tests/switch/tester.py @@ -793,8 +793,12 @@ class OfTester(app_manager.RyuApp): # when mask is all one bits, remove mask if mbytes == '\xff' * ofb.type.size: united_value = value + # when mask is all zero bits, remove field. + elif mbytes == '\x00' * ofb.type.size: + united_value = None break - match_fields.append((key, united_value)) + if united_value is not None: + match_fields.append((key, united_value)) return match_fields attr_list = ['cookie', 'priority', 'hard_timeout', 'idle_timeout',