diff options
Diffstat (limited to 'include/uapi/linux/openvswitch.h')
| -rw-r--r-- | include/uapi/linux/openvswitch.h | 15 | 
1 files changed, 15 insertions, 0 deletions
diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h index 59ed3992c760..375d812fea36 100644 --- a/include/uapi/linux/openvswitch.h +++ b/include/uapi/linux/openvswitch.h @@ -705,6 +705,15 @@ enum ovs_nat_attr {  #define OVS_NAT_ATTR_MAX (__OVS_NAT_ATTR_MAX - 1) +/* + * struct ovs_action_push_eth - %OVS_ACTION_ATTR_PUSH_ETH action argument. + * @addresses: Source and destination MAC addresses. + * @eth_type: Ethernet type + */ +struct ovs_action_push_eth { +	struct ovs_key_ethernet addresses; +}; +  /**   * enum ovs_action_attr - Action types.   * @@ -738,6 +747,10 @@ enum ovs_nat_attr {   * is no MPLS label stack, as determined by ethertype, no action is taken.   * @OVS_ACTION_ATTR_CT: Track the connection. Populate the conntrack-related   * entries in the flow key. + * @OVS_ACTION_ATTR_PUSH_ETH: Push a new outermost Ethernet header onto the + * packet. + * @OVS_ACTION_ATTR_POP_ETH: Pop the outermost Ethernet header off the + * packet.   *   * Only a single header can be set with a single %OVS_ACTION_ATTR_SET.  Not all   * fields within a header are modifiable, e.g. the IPv4 protocol and fragment @@ -765,6 +778,8 @@ enum ovs_action_attr {  				       * bits. */  	OVS_ACTION_ATTR_CT,           /* Nested OVS_CT_ATTR_* . */  	OVS_ACTION_ATTR_TRUNC,        /* u32 struct ovs_action_trunc. */ +	OVS_ACTION_ATTR_PUSH_ETH,     /* struct ovs_action_push_eth. */ +	OVS_ACTION_ATTR_POP_ETH,      /* No argument. */  	__OVS_ACTION_ATTR_MAX,	      /* Nothing past this will be accepted  				       * from userspace. */  | 
