diff options
Diffstat (limited to 'libc/kernel/uapi/linux/openvswitch.h')
-rw-r--r-- | libc/kernel/uapi/linux/openvswitch.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/libc/kernel/uapi/linux/openvswitch.h b/libc/kernel/uapi/linux/openvswitch.h index 724717111..bea44d0bc 100644 --- a/libc/kernel/uapi/linux/openvswitch.h +++ b/libc/kernel/uapi/linux/openvswitch.h @@ -123,6 +123,8 @@ enum ovs_vport_attr { OVS_VPORT_ATTR_UPCALL_PID, OVS_VPORT_ATTR_STATS, OVS_VPORT_ATTR_PAD, + OVS_VPORT_ATTR_IFINDEX, + OVS_VPORT_ATTR_NETNSID, __OVS_VPORT_ATTR_MAX }; #define OVS_VPORT_ATTR_MAX (__OVS_VPORT_ATTR_MAX - 1) @@ -182,6 +184,7 @@ enum ovs_key_attr { OVS_KEY_ATTR_CT_LABELS, OVS_KEY_ATTR_CT_ORIG_TUPLE_IPV4, OVS_KEY_ATTR_CT_ORIG_TUPLE_IPV6, + OVS_KEY_ATTR_NSH, __OVS_KEY_ATTR_MAX }; #define OVS_KEY_ATTR_MAX (__OVS_KEY_ATTR_MAX - 1) @@ -298,6 +301,25 @@ struct ovs_key_ct_tuple_ipv6 { __be16 dst_port; __u8 ipv6_proto; }; +enum ovs_nsh_key_attr { + OVS_NSH_KEY_ATTR_UNSPEC, + OVS_NSH_KEY_ATTR_BASE, + OVS_NSH_KEY_ATTR_MD1, + OVS_NSH_KEY_ATTR_MD2, + __OVS_NSH_KEY_ATTR_MAX +}; +#define OVS_NSH_KEY_ATTR_MAX (__OVS_NSH_KEY_ATTR_MAX - 1) +struct ovs_nsh_key_base { + __u8 flags; + __u8 ttl; + __u8 mdtype; + __u8 np; + __be32 path_hdr; +}; +#define NSH_MD1_CONTEXT_SIZE 4 +struct ovs_nsh_key_md1 { + __be32 context[NSH_MD1_CONTEXT_SIZE]; +}; enum ovs_flow_attr { OVS_FLOW_ATTR_UNSPEC, OVS_FLOW_ATTR_KEY, @@ -398,7 +420,50 @@ enum ovs_action_attr { OVS_ACTION_ATTR_TRUNC, OVS_ACTION_ATTR_PUSH_ETH, OVS_ACTION_ATTR_POP_ETH, + OVS_ACTION_ATTR_CT_CLEAR, + OVS_ACTION_ATTR_PUSH_NSH, + OVS_ACTION_ATTR_POP_NSH, + OVS_ACTION_ATTR_METER, __OVS_ACTION_ATTR_MAX, }; #define OVS_ACTION_ATTR_MAX (__OVS_ACTION_ATTR_MAX - 1) +#define OVS_METER_FAMILY "ovs_meter" +#define OVS_METER_MCGROUP "ovs_meter" +#define OVS_METER_VERSION 0x1 +enum ovs_meter_cmd { + OVS_METER_CMD_UNSPEC, + OVS_METER_CMD_FEATURES, + OVS_METER_CMD_SET, + OVS_METER_CMD_DEL, + OVS_METER_CMD_GET +}; +enum ovs_meter_attr { + OVS_METER_ATTR_UNSPEC, + OVS_METER_ATTR_ID, + OVS_METER_ATTR_KBPS, + OVS_METER_ATTR_STATS, + OVS_METER_ATTR_BANDS, + OVS_METER_ATTR_USED, + OVS_METER_ATTR_CLEAR, + OVS_METER_ATTR_MAX_METERS, + OVS_METER_ATTR_MAX_BANDS, + OVS_METER_ATTR_PAD, + __OVS_METER_ATTR_MAX +}; +#define OVS_METER_ATTR_MAX (__OVS_METER_ATTR_MAX - 1) +enum ovs_band_attr { + OVS_BAND_ATTR_UNSPEC, + OVS_BAND_ATTR_TYPE, + OVS_BAND_ATTR_RATE, + OVS_BAND_ATTR_BURST, + OVS_BAND_ATTR_STATS, + __OVS_BAND_ATTR_MAX +}; +#define OVS_BAND_ATTR_MAX (__OVS_BAND_ATTR_MAX - 1) +enum ovs_meter_band_type { + OVS_METER_BAND_TYPE_UNSPEC, + OVS_METER_BAND_TYPE_DROP, + __OVS_METER_BAND_TYPE_MAX +}; +#define OVS_METER_BAND_TYPE_MAX (__OVS_METER_BAND_TYPE_MAX - 1) #endif |