Hi Radu, > -----Original Message----- > From: Nicolau, Radu > Sent: Thursday, June 15, 2017 7:37 PM > To: Thomas Monjalon > Cc: Lu, Wenzhuo; dev@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 <tho...@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 > >