From nobody Wed Nov 19 13:37:48 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1616037137; cv=none; d=zohomail.com; s=zohoarc; b=ngwC4veJHPgAgvZAYEFmM2QD1rCL1ArI+X1iPpKOdYwTb1WTP7t+Cy+LbO2lNmcXVhHsUCFXYCWPc3GqowsVctOOK0Z92Olp7Pcz7GL7nhxjq/kTgAaiW7LYQq/T4hz/ruu2/asJ1HlzV4vTHd92JqY9I/Y7p1hoS8ctiT1uvEI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1616037137; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=nRIzGmlVEHdVcxMk4yQw0Tbs0pOVskqI1FJByEfmB6s=; b=ea9xix/KYDkVab03baAjm8TWmqjpCP+e6LfKEwlOrdEl3ErbhMNC8MrMHwxYU4qpCF3XSBh0cEazLAbZoiFuTK4UkvdadG42GItMyHs2chDPt8nWkfWeKhNOENKNL834LwF+yFok0/r9gxCy6JaR911tOc6tzrcYxeUYAV5v+d8= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1616037137084633.8257325182648; Wed, 17 Mar 2021 20:12:17 -0700 (PDT) Received: from localhost ([::1]:52994 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lMj55-00060Y-OO for importer@patchew.org; Wed, 17 Mar 2021 23:12:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55304) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lMj3g-0004Hn-P0 for qemu-devel@nongnu.org; Wed, 17 Mar 2021 23:10:48 -0400 Received: from mga09.intel.com ([134.134.136.24]:54696) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lMj3f-0005qP-2x for qemu-devel@nongnu.org; Wed, 17 Mar 2021 23:10:48 -0400 Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Mar 2021 20:10:44 -0700 Received: from unknown (HELO localhost.localdomain) ([10.239.13.19]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Mar 2021 20:10:42 -0700 IronPort-SDR: JCTv37OkvENCUhHWH5MutSbty33hTQxPgdbbATRB5XzDm2YvigMm1gmgTiUH3nPc0r8YP3rjvG Z8xXc41kyrlg== X-IronPort-AV: E=McAfee;i="6000,8403,9926"; a="189681343" X-IronPort-AV: E=Sophos;i="5.81,257,1610438400"; d="scan'208";a="189681343" IronPort-SDR: GZDNlh46FIFXMFtGbVavHt4jQkwlIEIQcEjGQFScJadl9xMDFdYYaCnphlwnT18UNM0votpoDG 9XkyFZYKxIWw== X-IronPort-AV: E=Sophos;i="5.81,257,1610438400"; d="scan'208";a="412898228" From: Zhang Chen To: Jason Wang , qemu-dev , Eric Blake , "Dr. David Alan Gilbert" , Markus Armbruster , Lukas Straub Subject: [PATCH V3 3/7] qapi/net: Add new QMP command for COLO passthrough Date: Thu, 18 Mar 2021 11:04:56 +0800 Message-Id: <20210318030500.55352-4-chen.zhang@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210318030500.55352-1-chen.zhang@intel.com> References: <20210318030500.55352-1-chen.zhang@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=134.134.136.24; envelope-from=chen.zhang@intel.com; helo=mga09.intel.com X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Zhang Chen , Zhang Chen Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" Since the real user scenario does not need COLO to monitor all traffic. Add colo-passthrough-add and colo-passthrough-del to maintain a COLO network passthrough list. QMP demo usage: {'execute': 'colo-passthrough-add', 'arguments': {'protocol': 'tcp', 'id': = 'comp0', 'src_ip':'10.239.48.105', 'dst_ip':'10.239.48.128', 'src_port':123= 4, 'dst_port':1235}} Signed-off-by: Zhang Chen --- net/net.c | 10 ++++++++++ qapi/net.json | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/net/net.c b/net/net.c index e1035f21d1..037dcc5973 100644 --- a/net/net.c +++ b/net/net.c @@ -1151,6 +1151,16 @@ void qmp_netdev_del(const char *id, Error **errp) qemu_del_net_client(nc); } =20 +void qmp_colo_passthrough_add(L4_Connection *conn, Error **errp) +{ + /* Setup passthrough connection */ +} + +void qmp_colo_passthrough_del(L4_Connection *conn, Error **errp) +{ + /* Delete passthrough connection */ +} + static void netfilter_print_info(Monitor *mon, NetFilterState *nf) { char *str; diff --git a/qapi/net.json b/qapi/net.json index b4958447f2..e0c6e1d8f3 100644 --- a/qapi/net.json +++ b/qapi/net.json @@ -770,3 +770,43 @@ { 'struct': 'L4_Connection', 'data': { 'protocol': 'IP_PROTOCOL', '*id': 'str', '*src_ip': 'str', '*d= st_ip': 'str', '*src_port': 'int', '*dst_port': 'int' } } + +## +# @colo-passthrough-add: +# +# Add passthrough entry according to customer's needs in COLO-compare. +# +# Returns: Nothing on success +# +# Since: 6.0 +# +# Example: +# +# -> { "execute": "colo-passthrough-add", +# "arguments": { "protocol": "tcp", "id": "object0", "src_ip": "192.1= 68.1.1", +# "dst_ip": "192.168.1.2", "src_port": 1234, "dst_port": 4321 } } +# <- { "return": {} } +# +## +{ 'command': 'colo-passthrough-add', 'boxed': true, + 'data': 'L4_Connection' } + +## +# @colo-passthrough-del: +# +# Delete passthrough entry according to customer's needs in COLO-compare. +# +# Returns: Nothing on success +# +# Since: 6.0 +# +# Example: +# +# -> { "execute": "colo-passthrough-del", +# "arguments": { "protocol": "tcp", "id": "object0", "src_ip": "192.1= 68.1.1", +# "dst_ip": "192.168.1.2", "src_port": 1234, "dst_port": 4321 } } +# <- { "return": {} } +# +## +{ 'command': 'colo-passthrough-del', 'boxed': true, + 'data': 'L4_Connection' } --=20 2.25.1