Select required packet parsing level when full packet parsing is not
required.

Signed-off-by: Matias Elo <matias....@nokia.com>
---
 example/l2fwd_simple/odp_l2fwd_simple.c          | 5 +++++
 example/l3fwd/odp_l3fwd.c                        | 7 +++++++
 example/switch/odp_switch.c                      | 5 +++++
 test/common_plat/performance/odp_l2fwd.c         | 7 +++++++
 test/common_plat/performance/odp_pktio_ordered.c | 5 +++++
 5 files changed, 29 insertions(+)

diff --git a/example/l2fwd_simple/odp_l2fwd_simple.c 
b/example/l2fwd_simple/odp_l2fwd_simple.c
index b97808f..e638145 100644
--- a/example/l2fwd_simple/odp_l2fwd_simple.c
+++ b/example/l2fwd_simple/odp_l2fwd_simple.c
@@ -41,6 +41,7 @@ static odp_pktio_t create_pktio(const char *name, odp_pool_t 
pool,
        odp_pktin_queue_param_t in_queue_param;
        odp_pktout_queue_param_t out_queue_param;
        odp_pktio_t pktio;
+       odp_pktio_config_t config;
 
        odp_pktio_param_init(&pktio_param);
 
@@ -50,6 +51,10 @@ static odp_pktio_t create_pktio(const char *name, odp_pool_t 
pool,
                exit(1);
        }
 
+       odp_pktio_config_init(&config);
+       config.parser.layer = ODP_PKTIO_PARSER_LAYER_L2;
+       odp_pktio_config(pktio, &config);
+
        odp_pktin_queue_param_init(&in_queue_param);
        odp_pktout_queue_param_init(&out_queue_param);
 
diff --git a/example/l3fwd/odp_l3fwd.c b/example/l3fwd/odp_l3fwd.c
index ba06972..f579d36 100644
--- a/example/l3fwd/odp_l3fwd.c
+++ b/example/l3fwd/odp_l3fwd.c
@@ -101,6 +101,7 @@ static int create_pktio(const char *name, odp_pool_t pool,
        odp_pktio_param_t pktio_param;
        odp_pktio_t pktio;
        odp_pktio_capability_t capa;
+       odp_pktio_config_t config;
        int rc;
 
        odp_pktio_param_init(&pktio_param);
@@ -120,6 +121,12 @@ static int create_pktio(const char *name, odp_pool_t pool,
                return -1;
        }
 
+       odp_pktio_config_init(&config);
+       config.parser.layer = global.cmd_args.error_check ?
+                       ODP_PKTIO_PARSER_LAYER_ALL :
+                       ODP_PKTIO_PARSER_LAYER_L4;
+       odp_pktio_config(pktio, &config);
+
        fwd_pktio->nb_rxq = (int)capa.max_input_queues;
        fwd_pktio->nb_txq = (int)capa.max_output_queues;
 
diff --git a/example/switch/odp_switch.c b/example/switch/odp_switch.c
index 561c293..5bec6a0 100644
--- a/example/switch/odp_switch.c
+++ b/example/switch/odp_switch.c
@@ -217,6 +217,7 @@ static int create_pktio(const char *dev, int idx, int 
num_rx, int num_tx,
        odp_pktio_t pktio;
        odp_pktio_param_t pktio_param;
        odp_pktio_capability_t capa;
+       odp_pktio_config_t config;
        odp_pktin_queue_param_t pktin_param;
        odp_pktout_queue_param_t pktout_param;
        odp_pktio_op_mode_t mode_rx;
@@ -238,6 +239,10 @@ static int create_pktio(const char *dev, int idx, int 
num_rx, int num_tx,
                return -1;
        }
 
+       odp_pktio_config_init(&config);
+       config.parser.layer = ODP_PKTIO_PARSER_LAYER_L2;
+       odp_pktio_config(pktio, &config);
+
        odp_pktin_queue_param_init(&pktin_param);
        odp_pktout_queue_param_init(&pktout_param);
 
diff --git a/test/common_plat/performance/odp_l2fwd.c 
b/test/common_plat/performance/odp_l2fwd.c
index 8f5c5e1..5962fe2 100644
--- a/test/common_plat/performance/odp_l2fwd.c
+++ b/test/common_plat/performance/odp_l2fwd.c
@@ -596,6 +596,7 @@ static int create_pktio(const char *dev, int idx, int 
num_rx, int num_tx,
        odp_pktio_param_t pktio_param;
        odp_schedule_sync_t  sync_mode;
        odp_pktio_capability_t capa;
+       odp_pktio_config_t config;
        odp_pktin_queue_param_t pktin_param;
        odp_pktout_queue_param_t pktout_param;
        odp_pktio_op_mode_t mode_rx;
@@ -632,6 +633,12 @@ static int create_pktio(const char *dev, int idx, int 
num_rx, int num_tx,
                return -1;
        }
 
+       odp_pktio_config_init(&config);
+       config.parser.layer = gbl_args->appl.error_check ?
+                       ODP_PKTIO_PARSER_LAYER_ALL :
+                       ODP_PKTIO_PARSER_LAYER_NONE;
+       odp_pktio_config(pktio, &config);
+
        odp_pktin_queue_param_init(&pktin_param);
        odp_pktout_queue_param_init(&pktout_param);
 
diff --git a/test/common_plat/performance/odp_pktio_ordered.c 
b/test/common_plat/performance/odp_pktio_ordered.c
index bff4586..4bb0bef 100644
--- a/test/common_plat/performance/odp_pktio_ordered.c
+++ b/test/common_plat/performance/odp_pktio_ordered.c
@@ -586,6 +586,7 @@ static int create_pktio(const char *dev, int idx, int 
num_rx, int num_tx,
        odp_pktio_t pktio;
        odp_pktio_param_t pktio_param;
        odp_pktio_capability_t capa;
+       odp_pktio_config_t config;
        odp_pktin_queue_param_t pktin_param;
        odp_pktout_queue_param_t pktout_param;
        odp_pktio_op_mode_t mode_rx;
@@ -611,6 +612,10 @@ static int create_pktio(const char *dev, int idx, int 
num_rx, int num_tx,
                return -1;
        }
 
+       odp_pktio_config_init(&config);
+       config.parser.layer = ODP_PKTIO_PARSER_LAYER_L2;
+       odp_pktio_config(pktio, &config);
+
        odp_pktin_queue_param_init(&pktin_param);
        odp_pktout_queue_param_init(&pktout_param);
 
-- 
2.7.4

Reply via email to