examples/vm_power: add conditional compilation for PMD specific code

Message ID 1554228857-55396-1-git-send-email-drc@linux.vnet.ibm.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series examples/vm_power: add conditional compilation for PMD specific code |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS
ci/Intel-compilation success Compilation OK

Commit Message

David Christensen April 2, 2019, 6:14 p.m. UTC
  Signed-off-by: David Christensen <drc@linux.vnet.ibm.com>
---
Running the devtools/test-build.sh script on IBM Power systems fails
because the IXGBE_PMD is explicity disabled for Power as an untested
driver, but the examples/vm_power_manager application has a hard
dependency on a function call in the IXGBE_PMD.

Modify the example application so that all dependencies on PMD code
are conditionally compiled.

 examples/vm_power_manager/main.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)
  

Comments

Hunt, David April 15, 2019, 9:18 a.m. UTC | #1
Hi David,

On 2/4/2019 7:14 PM, David Christensen wrote:
> Signed-off-by: David Christensen <drc@linux.vnet.ibm.com>
> ---
> Running the devtools/test-build.sh script on IBM Power systems fails
> because the IXGBE_PMD is explicity disabled for Power as an untested
> driver, but the examples/vm_power_manager application has a hard
> dependency on a function call in the IXGBE_PMD.
>
> Modify the example application so that all dependencies on PMD code
> are conditionally compiled.
>
>   examples/vm_power_manager/main.c | 13 +++++++++++++
>   1 file changed, 13 insertions(+)
>
> diff --git a/examples/vm_power_manager/main.c b/examples/vm_power_manager/main.c
> index 893bf4c..bb50a2a 100644
> --- a/examples/vm_power_manager/main.c
> +++ b/examples/vm_power_manager/main.c
> @@ -31,9 +31,15 @@
>   #include "vm_power_cli.h"
>   #include "oob_monitor.h"
>   #include "parse.h"
> +#ifdef RTE_LIBRTE_IXGBE_PMD
>   #include <rte_pmd_ixgbe.h>
> +#endif
> +#ifdef RTE_LIBRTE_I40E_PMD
>   #include <rte_pmd_i40e.h>
> +#endif
> +#ifdef RTE_LIBRTE_BNXT_PMD
>   #include <rte_pmd_bnxt.h>
> +#endif
>   
>   #define RX_RING_SIZE 1024
>   #define TX_RING_SIZE 1024
> @@ -369,14 +375,21 @@
>   			for (w = 0; w < MAX_VFS; w++) {
>   				eth.addr_bytes[5] = w + 0xf0;
>   
> +        ret = -ENOTSUP;
> +#ifdef RTE_LIBRTE_IXGBE_PMD
>   				ret = rte_pmd_ixgbe_set_vf_mac_addr(portid,
>   							w, &eth);
> +#endif
> +#ifdef RTE_LIBRTE_I40E_PMD
>   				if (ret == -ENOTSUP)
>   					ret = rte_pmd_i40e_set_vf_mac_addr(
>   							portid, w, &eth);
> +#endif
> +#ifdef RTE_LIBRTE_BNXT_PMD
>   				if (ret == -ENOTSUP)
>   					ret = rte_pmd_bnxt_set_vf_mac_addr(
>   							portid, w, &eth);
> +#endif
>   
>   				switch (ret) {
>   				case 0:

Acked-by: David Hunt <david.hunt@intel.com>
  
Kevin Traynor April 15, 2019, 4:40 p.m. UTC | #2
On 02/04/2019 19:14, David Christensen wrote:

I think it should have Fixes: and probably stable tags.

> Signed-off-by: David Christensen <drc@linux.vnet.ibm.com>
> ---
> Running the devtools/test-build.sh script on IBM Power systems fails
> because the IXGBE_PMD is explicity disabled for Power as an untested
> driver, but the examples/vm_power_manager application has a hard
> dependency on a function call in the IXGBE_PMD.
> 
> Modify the example application so that all dependencies on PMD code
> are conditionally compiled.
> 
>  examples/vm_power_manager/main.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
  

Patch

diff --git a/examples/vm_power_manager/main.c b/examples/vm_power_manager/main.c
index 893bf4c..bb50a2a 100644
--- a/examples/vm_power_manager/main.c
+++ b/examples/vm_power_manager/main.c
@@ -31,9 +31,15 @@ 
 #include "vm_power_cli.h"
 #include "oob_monitor.h"
 #include "parse.h"
+#ifdef RTE_LIBRTE_IXGBE_PMD
 #include <rte_pmd_ixgbe.h>
+#endif
+#ifdef RTE_LIBRTE_I40E_PMD
 #include <rte_pmd_i40e.h>
+#endif
+#ifdef RTE_LIBRTE_BNXT_PMD
 #include <rte_pmd_bnxt.h>
+#endif
 
 #define RX_RING_SIZE 1024
 #define TX_RING_SIZE 1024
@@ -369,14 +375,21 @@ 
 			for (w = 0; w < MAX_VFS; w++) {
 				eth.addr_bytes[5] = w + 0xf0;
 
+        ret = -ENOTSUP;
+#ifdef RTE_LIBRTE_IXGBE_PMD
 				ret = rte_pmd_ixgbe_set_vf_mac_addr(portid,
 							w, &eth);
+#endif
+#ifdef RTE_LIBRTE_I40E_PMD
 				if (ret == -ENOTSUP)
 					ret = rte_pmd_i40e_set_vf_mac_addr(
 							portid, w, &eth);
+#endif
+#ifdef RTE_LIBRTE_BNXT_PMD
 				if (ret == -ENOTSUP)
 					ret = rte_pmd_bnxt_set_vf_mac_addr(
 							portid, w, &eth);
+#endif
 
 				switch (ret) {
 				case 0: