From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gregory Rose Subject: Re: [PATCH net-next 1/2] openvswitch: Add conntrack limit netlink definition Date: Mon, 16 Apr 2018 16:52:45 -0700 Message-ID: <2d8e22dc-b2e8-65db-a3df-59b8eeb89be5@gmail.com> References: <1523902550-10767-1-git-send-email-yihung.wei@gmail.com> <1523902550-10767-2-git-send-email-yihung.wei@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit To: Yi-Hung Wei , netdev@vger.kernel.org Return-path: Received: from mail-pl0-f67.google.com ([209.85.160.67]:38658 "EHLO mail-pl0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751164AbeDPXwt (ORCPT ); Mon, 16 Apr 2018 19:52:49 -0400 Received: by mail-pl0-f67.google.com with SMTP id c7-v6so10932108plr.5 for ; Mon, 16 Apr 2018 16:52:49 -0700 (PDT) In-Reply-To: <1523902550-10767-2-git-send-email-yihung.wei@gmail.com> Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 4/16/2018 11:15 AM, Yi-Hung Wei wrote: > Define netlink messages and attributes to support user kernel > communication that using conntrack limit feature. s/using/uses the/ > > 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 */ Is this something that other users  can use?  I searched around and didn't see any mention of it for other kernel users but perhaps I missed something? Thanks, - Greg