diff options
author | Matias Elo <matias.elo@nokia.com> | 2021-01-08 09:31:27 +0200 |
---|---|---|
committer | Matias Elo <matias.elo@nokia.com> | 2021-01-15 15:15:12 +0200 |
commit | dd9dc51b107bcf9ea6afb2d4fafd7c453f5cc240 (patch) | |
tree | 40ab2cb2b6f1847383380e7939c485a204d6f784 /platform/linux-generic/odp_pool.c | |
parent | 870b49483ce2ea973eff6e554ac0c98f5267dfb2 (diff) |
linux-gen: pool: add maximum packet length config option
Add configuration file option for the maximum packet data length in bytes.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
Diffstat (limited to 'platform/linux-generic/odp_pool.c')
-rw-r--r-- | platform/linux-generic/odp_pool.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/platform/linux-generic/odp_pool.c b/platform/linux-generic/odp_pool.c index d1fb7c933..9e6530eb6 100644 --- a/platform/linux-generic/odp_pool.c +++ b/platform/linux-generic/odp_pool.c @@ -210,6 +210,20 @@ static int read_config_file(pool_global_t *pool_glb) pool_glb->config.pkt_max_num = val; ODP_PRINT(" %s: %i\n", str, val); + str = "pool.pkt.max_len"; + if (!_odp_libconfig_lookup_int(str, &val)) { + ODP_ERR("Config option '%s' not found.\n", str); + return -1; + } + + if (val <= 0) { + ODP_ERR("Bad value %s = %i\n", str, val); + return -1; + } + + pool_glb->config.pkt_max_len = val; + ODP_PRINT(" %s: %i\n", str, val); + str = "pool.pkt.base_align"; if (!_odp_libconfig_lookup_int(str, &val)) { ODP_ERR("Config option '%s' not found.\n", str); @@ -571,7 +585,7 @@ static odp_pool_t pool_create(const char *name, const odp_pool_param_t *params, } seg_len = CONFIG_PACKET_MAX_SEG_LEN; - max_len = CONFIG_PACKET_MAX_LEN; + max_len = _odp_pool_glb->config.pkt_max_len; if (params->pkt.len && params->pkt.len < CONFIG_PACKET_MAX_SEG_LEN) @@ -1256,7 +1270,7 @@ int odp_pool_capability(odp_pool_capability_t *capa) /* Packet pools */ capa->pkt.max_pools = max_pools; - capa->pkt.max_len = CONFIG_PACKET_MAX_LEN; + capa->pkt.max_len = _odp_pool_glb->config.pkt_max_len; capa->pkt.max_num = _odp_pool_glb->config.pkt_max_num; capa->pkt.max_align = _odp_pool_glb->config.pkt_base_align; capa->pkt.min_headroom = CONFIG_PACKET_HEADROOM; |