Currently, l3fwd-power will attempt to run even if the power env
is set to KVM, which is not supported. Fix this by preventing the
app from initializing unless the env is set to one of the supported
modes.

Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com>
---
 examples/l3fwd-power/main.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index 2cc5d7b121..5cee9d5387 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -2043,6 +2043,7 @@ static int check_ptype(uint16_t portid)
 static int
 init_power_library(void)
 {
+       enum power_management_env env;
        unsigned int lcore_id;
        int ret = 0;
 
@@ -2055,6 +2056,14 @@ init_power_library(void)
                                lcore_id);
                        return ret;
                }
+               /* we're not supporting the VM channel mode */
+               env = rte_power_get_env();
+               if (env != PM_ENV_ACPI_CPUFREQ &&
+                               env != PM_ENV_PSTATE_CPUFREQ) {
+                       RTE_LOG(ERR, POWER,
+                               "Only ACPI and PSTATE mode are supported\n");
+                       return -1;
+               }
        }
        return ret;
 }
-- 
2.17.1

Reply via email to