From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 0DCEB2BA8 for ; Wed, 23 Mar 2016 13:27:35 +0100 (CET) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga102.fm.intel.com with ESMTP; 23 Mar 2016 05:27:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,382,1455004800"; d="scan'208";a="674381141" Received: from shvmail01.sh.intel.com ([10.239.29.42]) by FMSMGA003.fm.intel.com with ESMTP; 23 Mar 2016 05:27:23 -0700 Received: from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com [10.239.29.89]) by shvmail01.sh.intel.com with ESMTP id u2NCRLlr002035; Wed, 23 Mar 2016 20:27:21 +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 u2NCRJCs001326; Wed, 23 Mar 2016 20:27:21 +0800 Received: (from zhetao@localhost) by shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id u2NCRJJt001322; Wed, 23 Mar 2016 20:27:19 +0800 From: Zhe Tao To: dev@dpdk.org Cc: zhe.tao@intel.com, jingjing.wu@intel.com Date: Wed, 23 Mar 2016 20:27:09 +0800 Message-Id: <1458736030-1283-2-git-send-email-zhe.tao@intel.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1458736030-1283-1-git-send-email-zhe.tao@intel.com> References: <1456906110-15081-1-git-send-email-zhe.tao@intel.com> <1458736030-1283-1-git-send-email-zhe.tao@intel.com> Subject: [dpdk-dev] [PATCH 1/2 v5] 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: Wed, 23 Mar 2016 12:27:36 -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