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