From 927241b3f41c7c6e326975b3079437998e3e6022 Mon Sep 17 00:00:00 2001 From: Eishun Kondoh Date: Sun, 12 Aug 2018 22:31:44 +0900 Subject: [PATCH] Add a test for nx_clone action --- bin/enum_gen | Bin 1532497 -> 1532497 bytes test/ofp_action_test.exs | 17 +++++++++++++++++ test/packet_data/nx_clone.raw | Bin 32 -> 56 bytes 3 files changed, 17 insertions(+) diff --git a/bin/enum_gen b/bin/enum_gen index f74b013a620f211529635a4cc444c7ef2323b31c..1d28df9c35fdc738188bafc2c687ca18c50e0d6e 100755 GIT binary patch delta 8530 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 delta 8530 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 diff --git a/test/ofp_action_test.exs b/test/ofp_action_test.exs index 146b27d..616cfc8 100644 --- a/test/ofp_action_test.exs +++ b/test/ofp_action_test.exs @@ -626,5 +626,22 @@ defmodule OfpActionTest do assert actions_bin == packet assert actions == [resubmit_table_ct] end + + test "with clone(push_vlan:0x8100,set_field:5->vlan_vid,output:10)" do + test_file = "test/packet_data/nx_clone.raw" + packet = File.read!(test_file) + actions = Openflow.Action.read(packet) + clone = + Openflow.Action.NxClone.new( + [ + Openflow.Action.PushVlan.new(), + Openflow.Action.SetField.new({:vlan_vid, 5}), + Openflow.Action.Output.new(10) + ] + ) + actions_bin = Openflow.Action.to_binary(clone) + assert actions_bin == packet + assert actions == [clone] + end end end diff --git a/test/packet_data/nx_clone.raw b/test/packet_data/nx_clone.raw index 47e62ddfdbbd8cf24594ea6b21c6add95615075a..2af69bc494d11e45114974e514a8ac3765c044bb 100644 GIT binary patch literal 56 vcmezWpTUBGL0N%8iva=z88{k2EJ+4|1_mA`238OUj0G4N7`Xob2eTOf$-f2? literal 32 fcmezWpFx3vL0N%8iva={88{eN!AuSYE(QhwP3Z!x