summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorFan Zhang <roy.fan.zhang@intel.com>2015-09-11 14:35:45 +0100
committerThomas Monjalon <thomas.monjalon@6wind.com>2015-10-19 17:00:36 +0200
commitba92d511ddacf863fafaaa14c0577f30ee57d092 (patch)
treef54fd072bfdef60e9a6fd5e38deb8ab187478f6b /app
parent5aaf45e09a76e7ba5155efcd60ed364b0024f202 (diff)
downloaddpdk-ba92d511ddacf863fafaaa14c0577f30ee57d092.zip
dpdk-ba92d511ddacf863fafaaa14c0577f30ee57d092.tar.gz
dpdk-ba92d511ddacf863fafaaa14c0577f30ee57d092.tar.xz
port: move metadata offset reference at mbuf head
This patch relates to ABI change proposed for librte_port. Macros to access the packet meta-data stored within the packet buffer has been adjusted to cover the packet mbuf structure. The LIBABIVER number is incremented. Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Diffstat (limited to 'app')
-rw-r--r--app/test-pipeline/main.h2
-rw-r--r--app/test-pipeline/pipeline_hash.c34
-rw-r--r--app/test-pipeline/pipeline_lpm.c2
-rw-r--r--app/test-pipeline/pipeline_lpm_ipv6.c2
-rw-r--r--app/test/test_table.h8
-rw-r--r--app/test/test_table_combined.c28
-rw-r--r--app/test/test_table_pipeline.c3
-rw-r--r--app/test/test_table_tables.c44
8 files changed, 67 insertions, 56 deletions
diff --git a/app/test-pipeline/main.h b/app/test-pipeline/main.h
index 0c90fc3..8dcd459 100644
--- a/app/test-pipeline/main.h
+++ b/app/test-pipeline/main.h
@@ -137,4 +137,6 @@ void app_main_loop_tx(void);
#define APP_FLUSH 0x3FF
#endif
+#define APP_METADATA_OFFSET(offset) (sizeof(struct rte_mbuf) + (offset))
+
#endif /* _MAIN_H_ */
diff --git a/app/test-pipeline/pipeline_hash.c b/app/test-pipeline/pipeline_hash.c
index 548615f..5e4e17f 100644
--- a/app/test-pipeline/pipeline_hash.c
+++ b/app/test-pipeline/pipeline_hash.c
@@ -163,8 +163,8 @@ app_main_loop_worker_pipeline_hash(void) {
.n_buckets_ext = 1 << 21,
.f_hash = test_hash,
.seed = 0,
- .signature_offset = 0,
- .key_offset = 32,
+ .signature_offset = APP_METADATA_OFFSET(0),
+ .key_offset = APP_METADATA_OFFSET(32),
};
struct rte_pipeline_table_params table_params = {
@@ -214,8 +214,8 @@ app_main_loop_worker_pipeline_hash(void) {
struct rte_table_hash_key8_ext_params table_hash_params = {
.n_entries = 1 << 24,
.n_entries_ext = 1 << 23,
- .signature_offset = 0,
- .key_offset = 32,
+ .signature_offset = APP_METADATA_OFFSET(0),
+ .key_offset = APP_METADATA_OFFSET(32),
.f_hash = test_hash,
.seed = 0,
};
@@ -238,8 +238,8 @@ app_main_loop_worker_pipeline_hash(void) {
{
struct rte_table_hash_key8_lru_params table_hash_params = {
.n_entries = 1 << 24,
- .signature_offset = 0,
- .key_offset = 32,
+ .signature_offset = APP_METADATA_OFFSET(0),
+ .key_offset = APP_METADATA_OFFSET(32),
.f_hash = test_hash,
.seed = 0,
};
@@ -263,8 +263,8 @@ app_main_loop_worker_pipeline_hash(void) {
struct rte_table_hash_key16_ext_params table_hash_params = {
.n_entries = 1 << 24,
.n_entries_ext = 1 << 23,
- .signature_offset = 0,
- .key_offset = 32,
+ .signature_offset = APP_METADATA_OFFSET(0),
+ .key_offset = APP_METADATA_OFFSET(32),
.f_hash = test_hash,
.seed = 0,
};
@@ -287,8 +287,8 @@ app_main_loop_worker_pipeline_hash(void) {
{
struct rte_table_hash_key16_lru_params table_hash_params = {
.n_entries = 1 << 24,
- .signature_offset = 0,
- .key_offset = 32,
+ .signature_offset = APP_METADATA_OFFSET(0),
+ .key_offset = APP_METADATA_OFFSET(32),
.f_hash = test_hash,
.seed = 0,
};
@@ -312,8 +312,8 @@ app_main_loop_worker_pipeline_hash(void) {
struct rte_table_hash_key32_ext_params table_hash_params = {
.n_entries = 1 << 24,
.n_entries_ext = 1 << 23,
- .signature_offset = 0,
- .key_offset = 32,
+ .signature_offset = APP_METADATA_OFFSET(0),
+ .key_offset = APP_METADATA_OFFSET(32),
.f_hash = test_hash,
.seed = 0,
};
@@ -337,8 +337,8 @@ app_main_loop_worker_pipeline_hash(void) {
{
struct rte_table_hash_key32_lru_params table_hash_params = {
.n_entries = 1 << 24,
- .signature_offset = 0,
- .key_offset = 32,
+ .signature_offset = APP_METADATA_OFFSET(0),
+ .key_offset = APP_METADATA_OFFSET(32),
.f_hash = test_hash,
.seed = 0,
};
@@ -456,8 +456,10 @@ app_main_loop_rx_metadata(void) {
m = app.mbuf_rx.array[j];
m_data = rte_pktmbuf_mtod(m, uint8_t *);
- signature = RTE_MBUF_METADATA_UINT32_PTR(m, 0);
- key = RTE_MBUF_METADATA_UINT8_PTR(m, 32);
+ signature = RTE_MBUF_METADATA_UINT32_PTR(m,
+ APP_METADATA_OFFSET(0));
+ key = RTE_MBUF_METADATA_UINT8_PTR(m,
+ APP_METADATA_OFFSET(32));
if (RTE_ETH_IS_IPV4_HDR(m->packet_type)) {
ip_hdr = (struct ipv4_hdr *)
diff --git a/app/test-pipeline/pipeline_lpm.c b/app/test-pipeline/pipeline_lpm.c
index c03799c..2d7bc01 100644
--- a/app/test-pipeline/pipeline_lpm.c
+++ b/app/test-pipeline/pipeline_lpm.c
@@ -116,7 +116,7 @@ app_main_loop_worker_pipeline_lpm(void) {
.n_rules = 1 << 24,
.entry_unique_size =
sizeof(struct rte_pipeline_table_entry),
- .offset = 32,
+ .offset = APP_METADATA_OFFSET(32),
};
struct rte_pipeline_table_params table_params = {
diff --git a/app/test-pipeline/pipeline_lpm_ipv6.c b/app/test-pipeline/pipeline_lpm_ipv6.c
index 02b7a9c..c895b62 100644
--- a/app/test-pipeline/pipeline_lpm_ipv6.c
+++ b/app/test-pipeline/pipeline_lpm_ipv6.c
@@ -118,7 +118,7 @@ app_main_loop_worker_pipeline_lpm_ipv6(void) {
.number_tbl8s = 1 << 21,
.entry_unique_size =
sizeof(struct rte_pipeline_table_entry),
- .offset = 32,
+ .offset = APP_METADATA_OFFSET(32),
};
struct rte_pipeline_table_params table_params = {
diff --git a/app/test/test_table.h b/app/test/test_table.h
index accc6f8..84d1845 100644
--- a/app/test/test_table.h
+++ b/app/test/test_table.h
@@ -78,6 +78,8 @@
#define MP_FLAGS 0
/* Macros */
+#define APP_METADATA_OFFSET(offset) (sizeof(struct rte_mbuf) + (offset))
+
#define RING_ENQUEUE(ring, value) do { \
struct rte_mbuf *m; \
uint32_t *k32, *signature; \
@@ -86,8 +88,10 @@
m = rte_pktmbuf_alloc(pool); \
if (m == NULL) \
return -1; \
- signature = RTE_MBUF_METADATA_UINT32_PTR(m, 0); \
- key = RTE_MBUF_METADATA_UINT8_PTR(m, 32); \
+ signature = RTE_MBUF_METADATA_UINT32_PTR(m, \
+ APP_METADATA_OFFSET(0)); \
+ key = RTE_MBUF_METADATA_UINT8_PTR(m, \
+ APP_METADATA_OFFSET(32)); \
k32 = (uint32_t *) key; \
k32[0] = (value); \
*signature = pipeline_test_hash(key, 0, 0); \
diff --git a/app/test/test_table_combined.c b/app/test/test_table_combined.c
index f5c7c9b..18daeec 100644
--- a/app/test/test_table_combined.c
+++ b/app/test/test_table_combined.c
@@ -296,7 +296,7 @@ test_table_lpm_combined(void)
.name = "LPM",
.n_rules = 1 << 16,
.entry_unique_size = 8,
- .offset = 0,
+ .offset = APP_METADATA_OFFSET(0),
};
struct rte_table_lpm_key lpm_key = {
@@ -357,7 +357,7 @@ test_table_lpm_ipv6_combined(void)
.n_rules = 1 << 16,
.number_tbl8s = 1 << 13,
.entry_unique_size = 8,
- .offset = 32,
+ .offset = APP_METADATA_OFFSET(32),
};
struct rte_table_lpm_ipv6_key lpm_ipv6_key = {
@@ -419,8 +419,8 @@ test_table_hash8lru(void)
.n_entries = 1<<24,
.f_hash = pipeline_test_hash,
.seed = 0,
- .signature_offset = 0,
- .key_offset = 32,
+ .signature_offset = APP_METADATA_OFFSET(0),
+ .key_offset = APP_METADATA_OFFSET(32),
};
uint8_t key8lru[8];
@@ -477,8 +477,8 @@ test_table_hash16lru(void)
.n_entries = 1<<16,
.f_hash = pipeline_test_hash,
.seed = 0,
- .signature_offset = 0,
- .key_offset = 32,
+ .signature_offset = APP_METADATA_OFFSET(0),
+ .key_offset = APP_METADATA_OFFSET(32),
};
uint8_t key16lru[16];
@@ -535,8 +535,8 @@ test_table_hash32lru(void)
.n_entries = 1<<16,
.f_hash = pipeline_test_hash,
.seed = 0,
- .signature_offset = 0,
- .key_offset = 32,
+ .signature_offset = APP_METADATA_OFFSET(0),
+ .key_offset = APP_METADATA_OFFSET(32),
};
uint8_t key32lru[32];
@@ -594,8 +594,8 @@ test_table_hash8ext(void)
.n_entries_ext = 1<<15,
.f_hash = pipeline_test_hash,
.seed = 0,
- .signature_offset = 0,
- .key_offset = 32,
+ .signature_offset = APP_METADATA_OFFSET(0),
+ .key_offset = APP_METADATA_OFFSET(32),
};
uint8_t key8ext[8];
@@ -660,8 +660,8 @@ test_table_hash16ext(void)
.n_entries_ext = 1<<15,
.f_hash = pipeline_test_hash,
.seed = 0,
- .signature_offset = 0,
- .key_offset = 32,
+ .signature_offset = APP_METADATA_OFFSET(0),
+ .key_offset = APP_METADATA_OFFSET(32),
};
uint8_t key16ext[16];
@@ -726,8 +726,8 @@ test_table_hash32ext(void)
.n_entries_ext = 1<<15,
.f_hash = pipeline_test_hash,
.seed = 0,
- .signature_offset = 0,
- .key_offset = 32,
+ .signature_offset = APP_METADATA_OFFSET(0),
+ .key_offset = APP_METADATA_OFFSET(32),
};
uint8_t key32ext[32];
diff --git a/app/test/test_table_pipeline.c b/app/test/test_table_pipeline.c
index a0a9e04..ff07cda 100644
--- a/app/test/test_table_pipeline.c
+++ b/app/test/test_table_pipeline.c
@@ -457,7 +457,8 @@ test_pipeline_single_filter(int test_type, int expected_count)
rte_panic("Failed to alloc mbuf from pool\n");
return -1;
}
- key = RTE_MBUF_METADATA_UINT8_PTR(m, 32);
+ key = RTE_MBUF_METADATA_UINT8_PTR(m,
+ APP_METADATA_OFFSET(32));
k32 = (uint32_t *) key;
k32[0] = 0xadadadad >> (j % 2);
diff --git a/app/test/test_table_tables.c b/app/test/test_table_tables.c
index 9d75fbf..cf7c62d 100644
--- a/app/test/test_table_tables.c
+++ b/app/test/test_table_tables.c
@@ -52,8 +52,10 @@ table_test table_tests[] = {
uint32_t *k32, *signature; \
uint8_t *key; \
mbuf = rte_pktmbuf_alloc(pool); \
- signature = RTE_MBUF_METADATA_UINT32_PTR(mbuf, 0); \
- key = RTE_MBUF_METADATA_UINT8_PTR(mbuf, 32); \
+ signature = RTE_MBUF_METADATA_UINT32_PTR(mbuf, \
+ APP_METADATA_OFFSET(0)); \
+ key = RTE_MBUF_METADATA_UINT8_PTR(mbuf, \
+ APP_METADATA_OFFSET(32)); \
memset(key, 0, 32); \
k32 = (uint32_t *) key; \
k32[0] = (value); \
@@ -206,7 +208,7 @@ test_table_array(void)
/* Initialize params and create tables */
struct rte_table_array_params array_params = {
.n_entries = 7,
- .offset = 1
+ .offset = APP_METADATA_OFFSET(1)
};
table = rte_table_array_ops.f_create(NULL, 0, 1);
@@ -226,13 +228,13 @@ test_table_array(void)
return -3;
array_params.n_entries = 1 << 24;
- array_params.offset = 1;
+ array_params.offset = APP_METADATA_OFFSET(1);
table = rte_table_array_ops.f_create(&array_params, 0, 1);
if (table == NULL)
return -4;
- array_params.offset = 32;
+ array_params.offset = APP_METADATA_OFFSET(32);
table = rte_table_array_ops.f_create(&array_params, 0, 1);
if (table == NULL)
@@ -325,7 +327,7 @@ test_table_lpm(void)
.name = "LPM",
.n_rules = 1 << 24,
.entry_unique_size = entry_size,
- .offset = 1
+ .offset = APP_METADATA_OFFSET(1)
};
table = rte_table_lpm_ops.f_create(NULL, 0, entry_size);
@@ -346,7 +348,7 @@ test_table_lpm(void)
return -3;
lpm_params.n_rules = 1 << 24;
- lpm_params.offset = 32;
+ lpm_params.offset = APP_METADATA_OFFSET(32);
lpm_params.entry_unique_size = 0;
table = rte_table_lpm_ops.f_create(&lpm_params, 0, entry_size);
@@ -490,7 +492,7 @@ test_table_lpm_ipv6(void)
.n_rules = 1 << 24,
.number_tbl8s = 1 << 21,
.entry_unique_size = entry_size,
- .offset = 32
+ .offset = APP_METADATA_OFFSET(32)
};
table = rte_table_lpm_ipv6_ops.f_create(NULL, 0, entry_size);
@@ -528,7 +530,7 @@ test_table_lpm_ipv6(void)
return -6;
lpm_params.entry_unique_size = entry_size;
- lpm_params.offset = 32;
+ lpm_params.offset = APP_METADATA_OFFSET(32);
table = rte_table_lpm_ipv6_ops.f_create(&lpm_params, 0, entry_size);
if (table == NULL)
@@ -666,8 +668,8 @@ test_table_hash_lru_generic(struct rte_table_ops *ops)
.n_entries = 1 << 10,
.f_hash = pipeline_test_hash,
.seed = 0,
- .signature_offset = 1,
- .key_offset = 32
+ .signature_offset = APP_METADATA_OFFSET(1),
+ .key_offset = APP_METADATA_OFFSET(32)
};
hash_params.n_entries = 0;
@@ -677,20 +679,20 @@ test_table_hash_lru_generic(struct rte_table_ops *ops)
return -1;
hash_params.n_entries = 1 << 10;
- hash_params.signature_offset = 1;
+ hash_params.signature_offset = APP_METADATA_OFFSET(1);
table = ops->f_create(&hash_params, 0, 1);
if (table == NULL)
return -2;
- hash_params.signature_offset = 0;
- hash_params.key_offset = 1;
+ hash_params.signature_offset = APP_METADATA_OFFSET(0);
+ hash_params.key_offset = APP_METADATA_OFFSET(1);
table = ops->f_create(&hash_params, 0, 1);
if (table == NULL)
return -3;
- hash_params.key_offset = 32;
+ hash_params.key_offset = APP_METADATA_OFFSET(32);
hash_params.f_hash = NULL;
table = ops->f_create(&hash_params, 0, 1);
@@ -781,8 +783,8 @@ test_table_hash_ext_generic(struct rte_table_ops *ops)
.n_entries_ext = 1 << 4,
.f_hash = pipeline_test_hash,
.seed = 0,
- .signature_offset = 1,
- .key_offset = 32
+ .signature_offset = APP_METADATA_OFFSET(1),
+ .key_offset = APP_METADATA_OFFSET(32)
};
hash_params.n_entries = 0;
@@ -798,19 +800,19 @@ test_table_hash_ext_generic(struct rte_table_ops *ops)
return -2;
hash_params.n_entries_ext = 1 << 4;
- hash_params.signature_offset = 1;
+ hash_params.signature_offset = APP_METADATA_OFFSET(1);
table = ops->f_create(&hash_params, 0, 1);
if (table == NULL)
return -2;
- hash_params.signature_offset = 0;
- hash_params.key_offset = 1;
+ hash_params.signature_offset = APP_METADATA_OFFSET(0);
+ hash_params.key_offset = APP_METADATA_OFFSET(1);
table = ops->f_create(&hash_params, 0, 1);
if (table == NULL)
return -3;
- hash_params.key_offset = 32;
+ hash_params.key_offset = APP_METADATA_OFFSET(32);
hash_params.f_hash = NULL;
table = ops->f_create(&hash_params, 0, 1);