[dpdk-dev] [PATCH] app/testpmd: fix build without ixgbe

Lu, Wenzhuo wenzhuo.lu at intel.com
Fri Jun 16 03:29:52 CEST 2017


Hi Radu,

> -----Original Message-----
> From: Nicolau, Radu
> Sent: Thursday, June 15, 2017 7:37 PM
> To: Thomas Monjalon
> Cc: Lu, Wenzhuo; dev at dpdk.org
> Subject: Re: [PATCH] app/testpmd: fix build without ixgbe
> 
> Looks ok to me, but why would one enable IXGBE_BYPASS without enabling
> IXGBE?
Although the scenario doesn't make sense, I think it's better to add more check to avoid the users making any mistake.

> 
> 
> On 6/15/2017 10:54 AM, Thomas Monjalon wrote:
> > When ixgbe bypass is not explictly disabled while ixgbe is disabled:
> > app/test-pmd/testpmd.c:304:27: error:
> > 	‘RTE_PMD_IXGBE_BYPASS_TMT_OFF’ undeclared here
> >
> > The ixgbe bypass feature is meaningful only if ixgbe is enabled.
> > So we need to check both.
> >
> > A best fix will be to enable bypass always and remove this option.
> >
> > Fixes: e261265e42a1 ("ethdev: move bypass functions to ixgbe PMD")
> >
> > Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
> > ---
> >   app/test-pmd/cmdline.c | 8 ++++----
> >   app/test-pmd/testpmd.c | 4 ++--
> >   2 files changed, 6 insertions(+), 6 deletions(-)
> >
> > diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
> > index b84c1ab40..7f5373a7e 100644
> > --- a/app/test-pmd/cmdline.c
> > +++ b/app/test-pmd/cmdline.c
> > @@ -3928,7 +3928,7 @@ cmd_set_bypass_mode_parsed(void
> *parsed_result,
> >   	portid_t port_id = res->port_id;
> >   	int32_t rc = -EINVAL;
> >
> > -#ifdef RTE_LIBRTE_IXGBE_BYPASS
> > +#if defined RTE_LIBRTE_IXGBE_PMD && defined
> RTE_LIBRTE_IXGBE_BYPASS
> >   	uint32_t bypass_mode = RTE_PMD_IXGBE_BYPASS_MODE_NORMAL;
> >
> >   	if (!strcmp(res->value, "bypass"))
> > @@ -3996,7 +3996,7 @@ cmd_set_bypass_event_parsed(void
> *parsed_result,
> >   	struct cmd_set_bypass_event_result *res = parsed_result;
> >   	portid_t port_id = res->port_id;
> >
> > -#ifdef RTE_LIBRTE_IXGBE_BYPASS
> > +#if defined RTE_LIBRTE_IXGBE_PMD && defined
> RTE_LIBRTE_IXGBE_BYPASS
> >   	uint32_t bypass_event = RTE_PMD_IXGBE_BYPASS_EVENT_NONE;
> >   	uint32_t bypass_mode = RTE_PMD_IXGBE_BYPASS_MODE_NORMAL;
> >
> > @@ -4101,7 +4101,7 @@ cmd_set_bypass_timeout_parsed(void
> *parsed_result,
> >   {
> >   	__rte_unused struct cmd_set_bypass_timeout_result *res =
> parsed_result;
> >
> > -#ifdef RTE_LIBRTE_IXGBE_BYPASS
> > +#if defined RTE_LIBRTE_IXGBE_PMD && defined
> RTE_LIBRTE_IXGBE_BYPASS
> >   	if (!strcmp(res->value, "1.5"))
> >   		bypass_timeout = RTE_PMD_IXGBE_BYPASS_TMT_1_5_SEC;
> >   	else if (!strcmp(res->value, "2"))
> > @@ -4164,7 +4164,7 @@ cmd_show_bypass_config_parsed(void
> *parsed_result,
> >   	struct cmd_show_bypass_config_result *res = parsed_result;
> >   	portid_t port_id = res->port_id;
> >   	int rc = -EINVAL;
> > -#ifdef RTE_LIBRTE_IXGBE_BYPASS
> > +#if defined RTE_LIBRTE_IXGBE_PMD && defined
> RTE_LIBRTE_IXGBE_BYPASS
> >   	uint32_t event_mode;
> >   	uint32_t bypass_mode;
> >   	uint32_t timeout = bypass_timeout;
> > diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
> > index d32cbb96d..b29328a69 100644
> > --- a/app/test-pmd/testpmd.c
> > +++ b/app/test-pmd/testpmd.c
> > @@ -299,7 +299,7 @@ uint32_t event_print_mask = (UINT32_C(1) <<
> RTE_ETH_EVENT_UNKNOWN) |
> >    * NIC bypass mode configuration options.
> >    */
> >
> > -#ifdef RTE_LIBRTE_IXGBE_BYPASS
> > +#if defined RTE_LIBRTE_IXGBE_PMD && defined
> RTE_LIBRTE_IXGBE_BYPASS
> >   /* The NIC bypass watchdog timeout. */
> >   uint32_t bypass_timeout = RTE_PMD_IXGBE_BYPASS_TMT_OFF;
> >   #endif
> > @@ -2015,7 +2015,7 @@ init_port_config(void)
> >   		rte_eth_macaddr_get(pid, &port->eth_addr);
> >
> >   		map_port_queue_stats_mapping_registers(pid, port);
> > -#ifdef RTE_LIBRTE_IXGBE_BYPASS
> > +#if defined RTE_LIBRTE_IXGBE_PMD && defined
> RTE_LIBRTE_IXGBE_BYPASS
> >   		rte_pmd_ixgbe_bypass_init(pid);
> >   #endif
> >



More information about the dev mailing list