Loxi extensions for Egress Tables.
- Support for programming the action "set allow vlan translation"
which is used in l2 unfiltered ofdpa groups.
- Support for matching on "actset output" and "allow vlan translation"
fields which are used in egress vlan table and egress tpid table.
- Support for action copy_field for ofdpa which is used in egress tpid table.
Change-Id: I3cea6ed2234147c8dbe440ae1701856a60706e7c
diff --git a/openflow_input/ofdpa b/openflow_input/ofdpa
index c11aa89..e07d888 100644
--- a/openflow_input/ofdpa
+++ b/openflow_input/ofdpa
@@ -12,3 +12,11 @@
pad(6);
};
+struct of_action_onf : of_action_experimenter {
+ uint16_t type == 65535;
+ uint16_t len;
+ uint32_t experimenter == 0x4f4e4600;
+ uint16_t exp_type == ?;
+ pad(6);
+};
+
diff --git a/openflow_input/ofdpa_actions b/openflow_input/ofdpa_actions
index c24cc92..77c4e73 100644
--- a/openflow_input/ofdpa_actions
+++ b/openflow_input/ofdpa_actions
@@ -39,4 +39,29 @@
uint32_t experimenter == 0x1018;
uint16_t exp_type == 4;
pad(6);
-};
\ No newline at end of file
+};
+
+// Sets the allow vlan translation in l2 unfiltered group
+// Used in configuring groups that use the egress vlan tables
+struct of_action_ofdpa_set_vlan_translation : of_action_ofdpa {
+ uint16_t type == 65535;
+ uint16_t len;
+ uint32_t experimenter == 0x04EA;
+ uint16_t exp_type == 24;
+ pad(6);
+};
+
+// utilizes the copy_field action which is used in
+// the egress tpid table for change the tpid of outgoing packets
+struct of_action_onf_copy_field : of_action_onf {
+ uint16_t type == 65535;
+ uint16_t len;
+ uint32_t experimenter == 0x4f4e4600;
+ uint16_t exp_type == 3200;
+ uint16_t n_bits;
+ uint16_t src_offset;
+ uint16_t dst_offset;
+ uint32_t src;
+ uint32_t dst;
+};
+
diff --git a/openflow_input/ofdpa_match_fields b/openflow_input/ofdpa_match_fields
index 5ebd19b..1818b61 100644
--- a/openflow_input/ofdpa_match_fields
+++ b/openflow_input/ofdpa_match_fields
@@ -38,3 +38,17 @@
uint16_t value;
};
+// This struct defines the ACTSET_OUTPUT
+struct of_oxm_ofdpa_actset_output : of_oxm {
+ uint32_t type_len == 0xFFFF5608;
+ uint32_t experimenter_id == 0x4F4E4600;
+ uint32_t value;
+};
+
+// This struct defines the ALLOW_VLAN_TRANSLATION
+struct of_oxm_ofdpa_allow_vlan_translation : of_oxm {
+ uint32_t type_len == 0xFFFF3005;
+ uint32_t experimenter_id == 0x1018;
+ uint8_t value;
+};
+