From patchwork Mon Apr 16 18:15:49 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yi-Hung Wei X-Patchwork-Id: 898852 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="m1wgnbdr"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40PxRN2mJLz9rxs for ; Tue, 17 Apr 2018 04:16:48 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753206AbeDPSQq (ORCPT ); Mon, 16 Apr 2018 14:16:46 -0400 Received: from mail-pl0-f66.google.com ([209.85.160.66]:39704 "EHLO mail-pl0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753162AbeDPSQo (ORCPT ); Mon, 16 Apr 2018 14:16:44 -0400 Received: by mail-pl0-f66.google.com with SMTP id e7-v6so10487176plt.6 for ; Mon, 16 Apr 2018 11:16:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=/1VkS/27Ue7xNxXyUVmY1X872swLAf8qIvluZj3+09Q=; b=m1wgnbdr8rf6tnWOF2r627PlxcW8exyg2YlOxm0++m9w8W50Q0r5+GVhhfiBym3LKe nVaFlo0GH/eK0yUIhPAlfCEJl6faAJ5YTKs/tJR6JrZiNe09vPAlOJ8E3Cc9cutqXSIC C8jSvuQxjwOL7n3zgHkeWSPiPG8lNSrTjfqcRv83uAbf0XqMTcLDHrA+J6EOibLeU7LH eSfk11EGrPZBY+LF11/M5XiVXm8fBjxDshfHEgTf+5Y7z++WNmgJCQ0HLTnUf9pX6cx6 KmDrfMQJdEKh1U1nDxXVhVt0uD97FIsomizr1CIyzuyMAjr2ZQQ9iimOsjTYR3VFiWWN L2TQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=/1VkS/27Ue7xNxXyUVmY1X872swLAf8qIvluZj3+09Q=; b=ilUQXmD0TI/7Z3/zMTx8HKbSOvUVJIrQnv+KSDszz68sZUAaLH5mv0voMog3mOFm8Z bg4Aois0Mqs9XSOoy813pSlOAvUem57K09gZqJ2e4bdMf+FBqdJcWoIu54sb3ItyErxT qYm6g9aPKjrrBvx8v/NeCVGD/B+yXH350lUQEEmFdUYtwflt78T6gUClfDzEVaZjo77+ cA6N9CbCGqGTkWZwdCP2sVSVEz5Vd+jGOg1vhf9TnWovxK9msKsIKZVtJYFAnwDtOpY0 SvWkO5D4bI67Y5FjNd9hDq/fz1DGcROrHqolf+Du21a/f0mdToI70Y5dAIOkmemau0Do tycQ== X-Gm-Message-State: ALQs6tB+07DlOTJ0AIgILxpiYeNH7Ige1P/l/bvo1mdCtjHwF9arQn+G luI3ENKdgfVBJLw0eeI+oGCfCxYa X-Google-Smtp-Source: AIpwx49DH4mtEtxwNV8vTfkrleBa2+j4l4HlIDNGblNOgwQc97pel1yMdXXCT3r6sGrbMSDuVWYnxg== X-Received: by 2002:a17:902:d807:: with SMTP id a7-v6mr16837241plz.314.1523902603489; Mon, 16 Apr 2018 11:16:43 -0700 (PDT) Received: from Husky.eng.vmware.com ([66.170.99.1]) by smtp.gmail.com with ESMTPSA id y3sm21413547pgc.81.2018.04.16.11.16.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 16 Apr 2018 11:16:42 -0700 (PDT) From: Yi-Hung Wei To: netdev@vger.kernel.org Cc: Yi-Hung Wei Subject: [PATCH net-next 1/2] openvswitch: Add conntrack limit netlink definition Date: Mon, 16 Apr 2018 11:15:49 -0700 Message-Id: <1523902550-10767-2-git-send-email-yihung.wei@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1523902550-10767-1-git-send-email-yihung.wei@gmail.com> References: <1523902550-10767-1-git-send-email-yihung.wei@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Define netlink messages and attributes to support user kernel communication that using 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 */