Pier Ventre | 1821263 | 2016-10-24 11:49:41 -0700 | [diff] [blame] | 1 | #version 4 |
| 2 | |
| 3 | // Here we define the experimental actions supported by OFDPA pipeline |
| 4 | |
| 5 | // Push l2 header action. This action push an other ethernet |
| 6 | // header on top of the previous one. |
| 7 | struct of_action_ofdpa_push_l2_header : of_action_ofdpa { |
| 8 | uint16_t type == 65535; |
| 9 | uint16_t len; |
| 10 | uint32_t experimenter == 0x1018; |
| 11 | uint16_t exp_type == 1; |
| 12 | pad(6); |
| 13 | }; |
| 14 | |
| 15 | // Pop l2 header action. This action pop the outer ethernet |
| 16 | // header. |
| 17 | struct of_action_ofdpa_pop_l2_header : of_action_ofdpa { |
| 18 | uint16_t type == 65535; |
| 19 | uint16_t len; |
| 20 | uint32_t experimenter == 0x1018; |
| 21 | uint16_t exp_type == 2; |
| 22 | pad(6); |
| 23 | }; |
| 24 | |
| 25 | // Push MPLS-TP PW Control Word. The Control Word is initialized to zero. |
| 26 | struct of_action_ofdpa_push_cw : of_action_ofdpa { |
| 27 | uint16_t type == 65535; |
| 28 | uint16_t len; |
| 29 | uint32_t experimenter == 0x1018; |
| 30 | uint16_t exp_type == 3; |
| 31 | pad(6); |
| 32 | }; |
| 33 | |
| 34 | // Pop MPLS-TP PW Control Word or Associated Channel Header. |
| 35 | // Used in MPLS bottom of stack label match actions. |
| 36 | struct of_action_ofdpa_pop_cw : of_action_ofdpa { |
| 37 | uint16_t type == 65535; |
| 38 | uint16_t len; |
| 39 | uint32_t experimenter == 0x1018; |
| 40 | uint16_t exp_type == 4; |
| 41 | pad(6); |
Andreas Pantelopoulos | d4bcb69 | 2018-04-02 12:12:47 -0700 | [diff] [blame] | 42 | }; |
| 43 | |
| 44 | // Sets the allow vlan translation in l2 unfiltered group |
| 45 | // Used in configuring groups that use the egress vlan tables |
| 46 | struct of_action_ofdpa_set_vlan_translation : of_action_ofdpa { |
| 47 | uint16_t type == 65535; |
| 48 | uint16_t len; |
| 49 | uint32_t experimenter == 0x04EA; |
| 50 | uint16_t exp_type == 24; |
| 51 | pad(6); |
| 52 | }; |
| 53 | |
| 54 | // utilizes the copy_field action which is used in |
| 55 | // the egress tpid table for change the tpid of outgoing packets |
| 56 | struct of_action_onf_copy_field : of_action_onf { |
| 57 | uint16_t type == 65535; |
| 58 | uint16_t len; |
| 59 | uint32_t experimenter == 0x4f4e4600; |
| 60 | uint16_t exp_type == 3200; |
| 61 | uint16_t n_bits; |
| 62 | uint16_t src_offset; |
| 63 | uint16_t dst_offset; |
| 64 | uint32_t src; |
| 65 | uint32_t dst; |
| 66 | }; |
| 67 | |