blob: 77c4e73ce7968d6e9b008bf5d522f8b9094e7e9b [file] [log] [blame]
#version 4
// Here we define the experimental actions supported by OFDPA pipeline
// Push l2 header action. This action push an other ethernet
// header on top of the previous one.
struct of_action_ofdpa_push_l2_header : of_action_ofdpa {
uint16_t type == 65535;
uint16_t len;
uint32_t experimenter == 0x1018;
uint16_t exp_type == 1;
pad(6);
};
// Pop l2 header action. This action pop the outer ethernet
// header.
struct of_action_ofdpa_pop_l2_header : of_action_ofdpa {
uint16_t type == 65535;
uint16_t len;
uint32_t experimenter == 0x1018;
uint16_t exp_type == 2;
pad(6);
};
// Push MPLS-TP PW Control Word. The Control Word is initialized to zero.
struct of_action_ofdpa_push_cw : of_action_ofdpa {
uint16_t type == 65535;
uint16_t len;
uint32_t experimenter == 0x1018;
uint16_t exp_type == 3;
pad(6);
};
// Pop MPLS-TP PW Control Word or Associated Channel Header.
// Used in MPLS bottom of stack label match actions.
struct of_action_ofdpa_pop_cw : of_action_ofdpa {
uint16_t type == 65535;
uint16_t len;
uint32_t experimenter == 0x1018;
uint16_t exp_type == 4;
pad(6);
};
// 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;
};