aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/odp-linux-generic.conf5
-rw-r--r--platform/linux-generic/include/odp_config_internal.h5
-rw-r--r--platform/linux-generic/include/odp_pool_internal.h1
-rw-r--r--platform/linux-generic/m4/odp_libconfig.m42
-rw-r--r--platform/linux-generic/odp_pool.c18
-rw-r--r--platform/linux-generic/odp_system_info.c1
-rw-r--r--platform/linux-generic/test/inline-timer.conf2
-rw-r--r--platform/linux-generic/test/packet_align.conf2
-rw-r--r--platform/linux-generic/test/process-mode.conf2
9 files changed, 25 insertions, 13 deletions
diff --git a/config/odp-linux-generic.conf b/config/odp-linux-generic.conf
index ced837a29..a03c8568f 100644
--- a/config/odp-linux-generic.conf
+++ b/config/odp-linux-generic.conf
@@ -16,7 +16,7 @@
# Mandatory fields
odp_implementation = "linux-generic"
-config_file_version = "0.1.13"
+config_file_version = "0.1.14"
# System options
system: {
@@ -72,6 +72,9 @@ pool: {
# Packet pool options
pkt: {
+ # Maximum packet data length in bytes
+ max_len = 65536
+
# Maximum number of packets per pool. Power of two minus one
# results optimal memory usage (e.g. (256 * 1024) - 1).
max_num = 262143
diff --git a/platform/linux-generic/include/odp_config_internal.h b/platform/linux-generic/include/odp_config_internal.h
index bd7f710d2..35f1c9142 100644
--- a/platform/linux-generic/include/odp_config_internal.h
+++ b/platform/linux-generic/include/odp_config_internal.h
@@ -92,11 +92,6 @@ extern "C" {
#define CONFIG_PACKET_TAILROOM 0
/*
- * Maximum packet data length in bytes
- */
-#define CONFIG_PACKET_MAX_LEN (64 * 1024)
-
-/*
* Maximum packet segment size including head- and tailrooms
*/
#define CONFIG_PACKET_SEG_SIZE (60 * 1024)
diff --git a/platform/linux-generic/include/odp_pool_internal.h b/platform/linux-generic/include/odp_pool_internal.h
index a0b4591e3..9deb63cd0 100644
--- a/platform/linux-generic/include/odp_pool_internal.h
+++ b/platform/linux-generic/include/odp_pool_internal.h
@@ -104,6 +104,7 @@ typedef struct pool_global_t {
odp_shm_t shm;
struct {
+ uint32_t pkt_max_len;
uint32_t pkt_max_num;
uint32_t local_cache_size;
uint32_t burst_size;
diff --git a/platform/linux-generic/m4/odp_libconfig.m4 b/platform/linux-generic/m4/odp_libconfig.m4
index c3a83ed89..325c62ad0 100644
--- a/platform/linux-generic/m4/odp_libconfig.m4
+++ b/platform/linux-generic/m4/odp_libconfig.m4
@@ -3,7 +3,7 @@
##########################################################################
m4_define([_odp_config_version_generation], [0])
m4_define([_odp_config_version_major], [1])
-m4_define([_odp_config_version_minor], [13])
+m4_define([_odp_config_version_minor], [14])
m4_define([_odp_config_version],
[_odp_config_version_generation._odp_config_version_major._odp_config_version_minor])
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;
diff --git a/platform/linux-generic/odp_system_info.c b/platform/linux-generic/odp_system_info.c
index 638c756e8..cbbadf336 100644
--- a/platform/linux-generic/odp_system_info.c
+++ b/platform/linux-generic/odp_system_info.c
@@ -595,7 +595,6 @@ void odp_sys_config_print(void)
ODP_PRINT("ODP_CONFIG_PKTIO_ENTRIES: %i\n", ODP_CONFIG_PKTIO_ENTRIES);
ODP_PRINT("CONFIG_PACKET_HEADROOM: %i\n", CONFIG_PACKET_HEADROOM);
ODP_PRINT("CONFIG_PACKET_TAILROOM: %i\n", CONFIG_PACKET_TAILROOM);
- ODP_PRINT("CONFIG_PACKET_MAX_LEN: %i\n", CONFIG_PACKET_MAX_LEN);
ODP_PRINT("ODP_CONFIG_SHM_BLOCKS: %i\n", ODP_CONFIG_SHM_BLOCKS);
ODP_PRINT("CONFIG_BURST_SIZE: %i\n", CONFIG_BURST_SIZE);
ODP_PRINT("CONFIG_POOL_MAX_NUM: %i\n", CONFIG_POOL_MAX_NUM);
diff --git a/platform/linux-generic/test/inline-timer.conf b/platform/linux-generic/test/inline-timer.conf
index a7fec6a98..096aab055 100644
--- a/platform/linux-generic/test/inline-timer.conf
+++ b/platform/linux-generic/test/inline-timer.conf
@@ -1,6 +1,6 @@
# Mandatory fields
odp_implementation = "linux-generic"
-config_file_version = "0.1.13"
+config_file_version = "0.1.14"
timer: {
# Enable inline timer implementation
diff --git a/platform/linux-generic/test/packet_align.conf b/platform/linux-generic/test/packet_align.conf
index 95ecaf413..24ed46b56 100644
--- a/platform/linux-generic/test/packet_align.conf
+++ b/platform/linux-generic/test/packet_align.conf
@@ -1,6 +1,6 @@
# Mandatory fields
odp_implementation = "linux-generic"
-config_file_version = "0.1.13"
+config_file_version = "0.1.14"
pool: {
pkt: {
diff --git a/platform/linux-generic/test/process-mode.conf b/platform/linux-generic/test/process-mode.conf
index 7cbc176fd..8e18feb2c 100644
--- a/platform/linux-generic/test/process-mode.conf
+++ b/platform/linux-generic/test/process-mode.conf
@@ -1,6 +1,6 @@
# Mandatory fields
odp_implementation = "linux-generic"
-config_file_version = "0.1.13"
+config_file_version = "0.1.14"
# Shared memory options
shm: {