From patchwork Wed Dec 23 08:49:47 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jijiang Liu X-Patchwork-Id: 9641 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 4C9E35A9D; Wed, 23 Dec 2015 09:50:11 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id B4E11593A for ; Wed, 23 Dec 2015 09:50:08 +0100 (CET) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP; 23 Dec 2015 00:50:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,468,1444719600"; d="scan'208";a="877328064" Received: from shvmail01.sh.intel.com ([10.239.29.42]) by orsmga002.jf.intel.com with ESMTP; 23 Dec 2015 00:50:01 -0800 Received: from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com [10.239.29.89]) by shvmail01.sh.intel.com with ESMTP id tBN8nx4o022297; Wed, 23 Dec 2015 16:49:59 +0800 Received: from shecgisg004.sh.intel.com (localhost [127.0.0.1]) by shecgisg004.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP id tBN8nugV012715; Wed, 23 Dec 2015 16:49:58 +0800 Received: (from jijiangl@localhost) by shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id tBN8nuqY012711; Wed, 23 Dec 2015 16:49:56 +0800 From: Jijiang Liu To: dev@dpdk.org Date: Wed, 23 Dec 2015 16:49:47 +0800 Message-Id: <1450860592-12673-2-git-send-email-jijiang.liu@intel.com> X-Mailer: git-send-email 1.7.12.2 In-Reply-To: <1450860592-12673-1-git-send-email-jijiang.liu@intel.com> References: <1450860592-12673-1-git-send-email-jijiang.liu@intel.com> Subject: [dpdk-dev] [RFC PATCH 1/6] rte_ether: extend rte_eth_tunnel_flow structure X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The purpose of extending this structure is to support more tunnel filter conditions. Signed-off-by: Jijiang Liu --- lib/librte_ether/rte_eth_ctrl.h | 14 +++++++++++--- 1 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/librte_ether/rte_eth_ctrl.h b/lib/librte_ether/rte_eth_ctrl.h index ce224ad..39f52d9 100644 --- a/lib/librte_ether/rte_eth_ctrl.h +++ b/lib/librte_ether/rte_eth_ctrl.h @@ -494,9 +494,17 @@ enum rte_eth_fdir_tunnel_type { * NVGRE */ struct rte_eth_tunnel_flow { - enum rte_eth_fdir_tunnel_type tunnel_type; /**< Tunnel type to match. */ - uint32_t tunnel_id; /**< Tunnel ID to match. TNI, VNI... */ - struct ether_addr mac_addr; /**< Mac address to match. */ + enum rte_eth_tunnel_type tunnel_type; + uint64_t tunnel_id; /**< Tunnel ID to match. TNI, VNI... */ + struct ether_addr outer_src_mac; /* for TX */ + struct ether_addr outer_peer_mac; /* for TX */ + enum rte_tunnel_iptype outer_ip_type; /**< IP address type. */ + union { + struct rte_eth_ipv4_flow outer_ipv4; + struct rte_eth_ipv6_flow outer_ipv6; + } outer_ip_addr; + uint16_t dst_port; + uint16_t src_port; }; /**