clone-like actions can also output to ports by specifying the port name.

Signed-off-by: Adrian Moreno <amore...@redhat.com>
---
 python/ovs/flow/ofp.py       |  6 ++++--
 python/ovs/tests/test_ofp.py | 13 +++++++++++++
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/python/ovs/flow/ofp.py b/python/ovs/flow/ofp.py
index bf832f71b..eac8d0851 100644
--- a/python/ovs/flow/ofp.py
+++ b/python/ovs/flow/ofp.py
@@ -402,10 +402,12 @@ class OFPFlow(Flow):
         return {
             "learn": decode_learn(action_decoders),
             "clone": nested_kv_decoder(
-                KVDecoders(action_decoders, ignore_case=True), is_list=True
+                KVDecoders(action_decoders, default_free=decode_free_output,
+                           ignore_case=True), is_list=True
             ),
             "write_actions": nested_kv_decoder(
-                KVDecoders(action_decoders, ignore_case=True), is_list=True
+                KVDecoders(action_decoders, default_free=decode_free_output,
+                           ignore_case=True), is_list=True
             ),
         }
 
diff --git a/python/ovs/tests/test_ofp.py b/python/ovs/tests/test_ofp.py
index e17188e2b..27bcf0c47 100644
--- a/python/ovs/tests/test_ofp.py
+++ b/python/ovs/tests/test_ofp.py
@@ -532,6 +532,19 @@ from ovs.flow.decoders import EthMask, IPMask, decode_mask
                 KeyValue("CONTROLLER", {"max_len": 123}),
             ],
         ),
+        (
+            "actions=LOCAL,clone(myport,CONTROLLER)",
+            [
+                KeyValue("output", {"port": "LOCAL"}),
+                KeyValue(
+                    "clone",
+                    [
+                        {"output": {"port": "myport"}},
+                        {"output": {"port": "CONTROLLER"}},
+                    ]
+                ),
+            ],
+        ),
         (
             "actions=doesnotexist(1234)",
             ParseError,
-- 
2.38.1

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to