From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id F2FD22BD2 for ; Thu, 25 Feb 2016 07:31:58 +0100 (CET) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP; 24 Feb 2016 22:31:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,497,1449561600"; d="scan'208";a="54395205" Received: from shvmail01.sh.intel.com ([10.239.29.42]) by fmsmga004.fm.intel.com with ESMTP; 24 Feb 2016 22:31:57 -0800 Received: from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com [10.239.29.89]) by shvmail01.sh.intel.com with ESMTP id u1P6VtX1003598; Thu, 25 Feb 2016 14:31:55 +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 u1P6Vp9U023121; Thu, 25 Feb 2016 14:31:53 +0800 Received: (from zhetao@localhost) by shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id u1P6Vpj0023117; Thu, 25 Feb 2016 14:31:51 +0800 From: Zhe Tao To: dev@dpdk.org Date: Thu, 25 Feb 2016 14:31:40 +0800 Message-Id: <1456381901-23080-2-git-send-email-zhe.tao@intel.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1456381901-23080-1-git-send-email-zhe.tao@intel.com> References: <1456218796-15630-1-git-send-email-zhe.tao@intel.com> <1456381901-23080-1-git-send-email-zhe.tao@intel.com> Subject: [dpdk-dev] [PATCH 1/2 v3] i40e: support floating VEB config 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: , X-List-Received-Date: Thu, 25 Feb 2016 06:31:59 -0000 Add the new floating related argument option in the EAL. Using this parameter, all the samples can decide whether to use legacy VEB/VEPA, or floating VEB. Even the floating argument is provided in the EAL, but this floating feature are only support for FVL so far. Signed-off-by: Zhe Tao --- doc/guides/testpmd_app_ug/run_app.rst | 4 ++++ lib/librte_eal/common/eal_common_options.c | 4 ++++ lib/librte_eal/common/eal_internal_cfg.h | 1 + lib/librte_eal/common/eal_options.h | 2 ++ 4 files changed, 11 insertions(+) diff --git a/doc/guides/testpmd_app_ug/run_app.rst b/doc/guides/testpmd_app_ug/run_app.rst index f605564..2f02f63 100644 --- a/doc/guides/testpmd_app_ug/run_app.rst +++ b/doc/guides/testpmd_app_ug/run_app.rst @@ -156,6 +156,10 @@ See the DPDK Getting Started Guides for more information on these options. Use malloc instead of hugetlbfs. +* ``--floating`` + + Enable floating feature for virtual ethernet switch in the NIC. + Now only Intel i40e NIC supports this feature. Testpmd Command-line Options ---------------------------- diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c index 29942ea..29ed7bf 100644 --- a/lib/librte_eal/common/eal_common_options.c +++ b/lib/librte_eal/common/eal_common_options.c @@ -95,6 +95,7 @@ eal_long_options[] = { {OPT_VFIO_INTR, 1, NULL, OPT_VFIO_INTR_NUM }, {OPT_VMWARE_TSC_MAP, 0, NULL, OPT_VMWARE_TSC_MAP_NUM }, {OPT_XEN_DOM0, 0, NULL, OPT_XEN_DOM0_NUM }, + {OPT_FLOATING, 0, NULL, OPT_FLOATING_NUM }, {0, 0, NULL, 0 } }; @@ -896,6 +897,9 @@ eal_parse_common_option(int opt, const char *optarg, return -1; } break; + case OPT_FLOATING_NUM: + conf->floating = 1; + break; /* don't know what to do, leave this to caller */ default: diff --git a/lib/librte_eal/common/eal_internal_cfg.h b/lib/librte_eal/common/eal_internal_cfg.h index 5f1367e..19b321a 100644 --- a/lib/librte_eal/common/eal_internal_cfg.h +++ b/lib/librte_eal/common/eal_internal_cfg.h @@ -68,6 +68,7 @@ struct internal_config { volatile unsigned xen_dom0_support; /**< support app running on Xen Dom0*/ volatile unsigned no_pci; /**< true to disable PCI */ volatile unsigned no_hpet; /**< true to disable HPET */ + volatile unsigned floating; /**< true to enable floating VEB */ volatile unsigned vmware_tsc_map; /**< true to use VMware TSC mapping * instead of native TSC */ volatile unsigned no_shconf; /**< true if there is no shared config */ diff --git a/lib/librte_eal/common/eal_options.h b/lib/librte_eal/common/eal_options.h index a881c62..413c9e6 100644 --- a/lib/librte_eal/common/eal_options.h +++ b/lib/librte_eal/common/eal_options.h @@ -83,6 +83,8 @@ enum { OPT_VMWARE_TSC_MAP_NUM, #define OPT_XEN_DOM0 "xen-dom0" OPT_XEN_DOM0_NUM, +#define OPT_FLOATING "floating" + OPT_FLOATING_NUM, OPT_LONG_MAX_NUM }; -- 2.1.4