aboutsummaryrefslogtreecommitdiff
path: root/example/switch
diff options
context:
space:
mode:
authorMatias Elo <matias.elo@nokia.com>2022-09-12 13:10:19 +0300
committerMatias Elo <matias.elo@nokia.com>2022-09-14 10:40:08 +0300
commit1b854f99415c773bbe4ad77f84127fd787ee80bb (patch)
tree494ed1ffbc8f11a12d90d2df4a4fccc360dc6a5e /example/switch
parent7fc151473b9a1327d1b07b0074fed260ae7ebc48 (diff)
example: check pktio promisc mode status before enabling it
Some pktio devices may not support changing promisc mode but have it permanently enabled. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
Diffstat (limited to 'example/switch')
-rw-r--r--example/switch/odp_switch.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/example/switch/odp_switch.c b/example/switch/odp_switch.c
index f30d468f7..b40f5c07c 100644
--- a/example/switch/odp_switch.c
+++ b/example/switch/odp_switch.c
@@ -1079,10 +1079,12 @@ int main(int argc, char **argv)
if (create_pktio(dev, i, num_rx, num_workers, gbl_args->pool))
exit(EXIT_FAILURE);
- ret = odp_pktio_promisc_mode_set(gbl_args->pktios[i].pktio, 1);
- if (ret != 0) {
- printf("Error: failed to set port to promiscuous mode.\n");
- exit(EXIT_FAILURE);
+ if (odp_pktio_promisc_mode(gbl_args->pktios[i].pktio) != 1) {
+ ret = odp_pktio_promisc_mode_set(gbl_args->pktios[i].pktio, 1);
+ if (ret != 0) {
+ printf("Error: failed to set %s to promiscuous mode.\n", dev);
+ exit(EXIT_FAILURE);
+ }
}
}
gbl_args->pktios[i].pktio = ODP_PKTIO_INVALID;