From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi-Hung Wei Subject: [PATCH net-next v3 1/2] openvswitch: Add conntrack limit netlink definition Date: Mon, 30 Apr 2018 14:28:32 -0700 Message-ID: <1525123713-38891-2-git-send-email-yihung.wei@gmail.com> References: <1525123713-38891-1-git-send-email-yihung.wei@gmail.com> Cc: Yi-Hung Wei To: netdev@vger.kernel.org, pshelar@ovn.org Return-path: Received: from mail-pf0-f193.google.com ([209.85.192.193]:34565 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755055AbeD3V3n (ORCPT ); Mon, 30 Apr 2018 17:29:43 -0400 Received: by mail-pf0-f193.google.com with SMTP id a14so7733568pfi.1 for ; Mon, 30 Apr 2018 14:29:43 -0700 (PDT) In-Reply-To: <1525123713-38891-1-git-send-email-yihung.wei@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: Define netlink messages and attributes to support user kernel communication that uses the conntrack limit feature. Signed-off-by: Yi-Hung Wei --- include/uapi/linux/openvswitch.h | 62 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h index 713e56ce681f..ca63c16375ce 100644 --- a/include/uapi/linux/openvswitch.h +++ b/include/uapi/linux/openvswitch.h @@ -937,4 +937,66 @@ enum ovs_meter_band_type { #define OVS_METER_BAND_TYPE_MAX (__OVS_METER_BAND_TYPE_MAX - 1) +/* Conntrack limit */ +#define OVS_CT_LIMIT_FAMILY "ovs_ct_limit" +#define OVS_CT_LIMIT_MCGROUP "ovs_ct_limit" +#define OVS_CT_LIMIT_VERSION 0x1 + +enum ovs_ct_limit_cmd { + OVS_CT_LIMIT_CMD_UNSPEC, + OVS_CT_LIMIT_CMD_SET, /* Add or modify ct limit. */ + OVS_CT_LIMIT_CMD_DEL, /* Delete ct limit. */ + OVS_CT_LIMIT_CMD_GET /* Get ct limit. */ +}; + +enum ovs_ct_limit_attr { + OVS_CT_LIMIT_ATTR_UNSPEC, + OVS_CT_LIMIT_ATTR_OPTION, /* Nested OVS_CT_LIMIT_ATTR_* */ + __OVS_CT_LIMIT_ATTR_MAX +}; + +#define OVS_CT_LIMIT_ATTR_MAX (__OVS_CT_LIMIT_ATTR_MAX - 1) + +/** + * @OVS_CT_ZONE_LIMIT_ATTR_SET_REQ: Contains either + * OVS_CT_ZONE_LIMIT_ATTR_DEFAULT_LIMIT or a pair of + * OVS_CT_ZONE_LIMIT_ATTR_ZONE and OVS_CT_ZONE_LIMIT_ATTR_LIMIT. + * @OVS_CT_ZONE_LIMIT_ATTR_DEL_REQ: Contains OVS_CT_ZONE_LIMIT_ATTR_ZONE. + * @OVS_CT_ZONE_LIMIT_ATTR_GET_REQ: Contains OVS_CT_ZONE_LIMIT_ATTR_ZONE. + * @OVS_CT_ZONE_LIMIT_ATTR_GET_RLY: Contains either + * OVS_CT_ZONE_LIMIT_ATTR_DEFAULT_LIMIT or a triple of + * OVS_CT_ZONE_LIMIT_ATTR_ZONE, OVS_CT_ZONE_LIMIT_ATTR_LIMIT and + * OVS_CT_ZONE_LIMIT_ATTR_COUNT. + */ +enum ovs_ct_limit_option_attr { + OVS_CT_LIMIT_OPTION_ATTR_UNSPEC, + OVS_CT_ZONE_LIMIT_ATTR_SET_REQ, /* Nested OVS_CT_ZONE_LIMIT_ATTR_* + * attributes. */ + OVS_CT_ZONE_LIMIT_ATTR_DEL_REQ, /* Nested OVS_CT_ZONE_LIMIT_ATTR_* + * attributes. */ + OVS_CT_ZONE_LIMIT_ATTR_GET_REQ, /* Nested OVS_CT_ZONE_LIMIT_ATTR_* + * attributes. */ + OVS_CT_ZONE_LIMIT_ATTR_GET_RLY, /* Nested OVS_CT_ZONE_LIMIT_ATTR_* + * attributes. */ + __OVS_CT_LIMIT_OPTION_ATTR_MAX +}; + +#define OVS_CT_LIMIT_OPTION_ATTR_MAX (__OVS_CT_LIMIT_OPTION_ATTR_MAX - 1) + +enum ovs_ct_zone_limit_attr { + OVS_CT_ZONE_LIMIT_ATTR_UNSPEC, + OVS_CT_ZONE_LIMIT_ATTR_DEFAULT_LIMIT, /* u32 default conntrack limit + * for all zones. */ + OVS_CT_ZONE_LIMIT_ATTR_ZONE, /* u16 conntrack zone id. */ + OVS_CT_ZONE_LIMIT_ATTR_LIMIT, /* u32 max number of conntrack + * entries allowed in the + * corresponding zone. */ + OVS_CT_ZONE_LIMIT_ATTR_COUNT, /* u32 number of conntrack + * entries in the corresponding + * zone. */ + __OVS_CT_ZONE_LIMIT_ATTR_MAX +}; + +#define OVS_CT_ZONE_LIMIT_ATTR_MAX (__OVS_CT_ZONE_LIMIT_ATTR_MAX - 1) + #endif /* _LINUX_OPENVSWITCH_H */ -- 2.7.4