[API-NEXT,2/2] linux-gen: pktio: parser default config

Message ID 1487341207-31908-2-git-send-email-petri.savolainen@linaro.org
State Accepted
Commit 29b29677ed7d5d396f4aec1d0f3197efbf119113
Headers show
Series
  • [API-NEXT,1/2] api: pktio: add parser configuration
Related show

Commit Message

Petri Savolainen Feb. 17, 2017, 2:20 p.m.
Fill default parser configuration and capability. All pktios
use same parser code, so the capability is the same (all layers).

Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org>

---
 platform/linux-generic/odp_packet_io.c        | 13 +++++++++++--
 test/common_plat/validation/api/pktio/pktio.c |  2 ++
 2 files changed, 13 insertions(+), 2 deletions(-)

-- 
2.8.1

Patch

diff --git a/platform/linux-generic/odp_packet_io.c b/platform/linux-generic/odp_packet_io.c
index 98460a5..5e783d8 100644
--- a/platform/linux-generic/odp_packet_io.c
+++ b/platform/linux-generic/odp_packet_io.c
@@ -923,6 +923,8 @@  void odp_pktout_queue_param_init(odp_pktout_queue_param_t *param)
 void odp_pktio_config_init(odp_pktio_config_t *config)
 {
 	memset(config, 0, sizeof(odp_pktio_config_t));
+
+	config->parser.layer = ODP_PKTIO_PARSER_LAYER_ALL;
 }
 
 int odp_pktio_info(odp_pktio_t hdl, odp_pktio_info_t *info)
@@ -1098,6 +1100,7 @@  int odp_pktio_term_global(void)
 int odp_pktio_capability(odp_pktio_t pktio, odp_pktio_capability_t *capa)
 {
 	pktio_entry_t *entry;
+	int ret;
 
 	entry = get_pktio_entry(pktio);
 	if (entry == NULL) {
@@ -1106,9 +1109,15 @@  int odp_pktio_capability(odp_pktio_t pktio, odp_pktio_capability_t *capa)
 	}
 
 	if (entry->s.ops->capability)
-		return entry->s.ops->capability(entry, capa);
+		ret = entry->s.ops->capability(entry, capa);
+	else
+		ret = single_capability(capa);
 
-	return single_capability(capa);
+	/* The same parser is used for all pktios */
+	if (ret == 0)
+		capa->config.parser.layer = ODP_PKTIO_PARSER_LAYER_ALL;
+
+	return ret;
 }
 
 unsigned odp_pktio_max_index(void)
diff --git a/test/common_plat/validation/api/pktio/pktio.c b/test/common_plat/validation/api/pktio/pktio.c
index 4f3c0c0..8d62bb1 100644
--- a/test/common_plat/validation/api/pktio/pktio.c
+++ b/test/common_plat/validation/api/pktio/pktio.c
@@ -1178,6 +1178,8 @@  void pktio_test_pktio_config(void)
 
 	odp_pktio_config_init(&config);
 
+	CU_ASSERT(config.parser.layer == ODP_PKTIO_PARSER_LAYER_ALL);
+
 	CU_ASSERT(odp_pktio_config(pktio, NULL) == 0);
 
 	CU_ASSERT(odp_pktio_config(pktio, &config) == 0);