table: add name to LPM parameters
authorJasvinder Singh <jasvinder.singh@intel.com>
Thu, 17 Sep 2015 16:03:19 +0000 (17:03 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 12 Oct 2015 14:03:19 +0000 (16:03 +0200)
This patch relates to ABI change proposed for librte_table
(lpm table). A new parameter to hold the table name has
been added to the LPM table parameter structures
rte_table_lpm_params and rte_table_lpm_ipv6_params.

The LIBABIVER number is incremented. The release notes
is updated and the deprecation announcement is removed.

Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
doc/guides/rel_notes/deprecation.rst
doc/guides/rel_notes/release_2_2.rst
lib/librte_table/Makefile
lib/librte_table/rte_table_lpm.c
lib/librte_table/rte_table_lpm.h
lib/librte_table/rte_table_lpm_ipv6.c
lib/librte_table/rte_table_lpm_ipv6.h

index fa55117..1f47e3d 100644 (file)
@@ -50,9 +50,6 @@ Deprecation Notices
   as currently they are able to access any packet buffer location except the
   packet mbuf structure.
 
-* librte_table LPM: A new parameter to hold the table name will be added to
-  the LPM table parameter structure.
-
 * librte_table: New functions for table entry bulk add/delete will be added
   to the table operations structure.
 
index 5687676..5a62bc6 100644 (file)
@@ -98,6 +98,8 @@ ABI Changes
 
 * The LPM structure is changed. The deprecated field mem_location is removed.
 
+* librte_table LPM: A new parameter to hold the table name will be added to
+  the LPM table parameter structure.
 
 Shared Library Versions
 -----------------------
@@ -130,6 +132,6 @@ The libraries prepended with a plus sign were incremented in this version.
      librte_reorder.so.1
      librte_ring.so.1
      librte_sched.so.1
-     librte_table.so.1
+   + librte_table.so.2
      librte_timer.so.1
      librte_vhost.so.1
index c5b3eaf..7f02af3 100644 (file)
@@ -41,7 +41,7 @@ CFLAGS += $(WERROR_FLAGS)
 
 EXPORT_MAP := rte_table_version.map
 
-LIBABIVER := 1
+LIBABIVER := 2
 
 #
 # all source are stored in SRCS-y
index b218d64..849d899 100644 (file)
@@ -103,7 +103,11 @@ rte_table_lpm_create(void *params, int socket_id, uint32_t entry_size)
                        __func__);
                return NULL;
        }
-
+       if (p->name == NULL) {
+               RTE_LOG(ERR, TABLE, "%s: Table name is NULL\n",
+                       __func__);
+               return NULL;
+       }
        entry_size = RTE_ALIGN(entry_size, sizeof(uint64_t));
 
        /* Memory allocation */
@@ -119,7 +123,7 @@ rte_table_lpm_create(void *params, int socket_id, uint32_t entry_size)
        }
 
        /* LPM low-level table creation */
-       lpm->lpm = rte_lpm_create("LPM", socket_id, p->n_rules, 0);
+       lpm->lpm = rte_lpm_create(p->name, socket_id, p->n_rules, 0);
        if (lpm->lpm == NULL) {
                rte_free(lpm);
                RTE_LOG(ERR, TABLE, "Unable to create low-level LPM table\n");
index c08c958..06e8410 100644 (file)
@@ -77,6 +77,9 @@ extern "C" {
 
 /** LPM table parameters */
 struct rte_table_lpm_params {
+       /** Table name */
+       const char *name;
+
        /** Maximum number of LPM rules (i.e. IP routes) */
        uint32_t n_rules;
 
index ff4a9c2..e9bc6a7 100644 (file)
@@ -109,7 +109,11 @@ rte_table_lpm_ipv6_create(void *params, int socket_id, uint32_t entry_size)
                        __func__);
                return NULL;
        }
-
+       if (p->name == NULL) {
+               RTE_LOG(ERR, TABLE, "%s: Table name is NULL\n",
+                       __func__);
+               return NULL;
+       }
        entry_size = RTE_ALIGN(entry_size, sizeof(uint64_t));
 
        /* Memory allocation */
@@ -128,7 +132,7 @@ rte_table_lpm_ipv6_create(void *params, int socket_id, uint32_t entry_size)
        lpm6_config.max_rules = p->n_rules;
        lpm6_config.number_tbl8s = p->number_tbl8s;
        lpm6_config.flags = 0;
-       lpm->lpm = rte_lpm6_create("LPM IPv6", socket_id, &lpm6_config);
+       lpm->lpm = rte_lpm6_create(p->name, socket_id, &lpm6_config);
        if (lpm->lpm == NULL) {
                rte_free(lpm);
                RTE_LOG(ERR, TABLE,
index 91fb0d8..43aea39 100644 (file)
@@ -79,6 +79,9 @@ extern "C" {
 
 /** LPM table parameters */
 struct rte_table_lpm_ipv6_params {
+       /** Table name */
+       const char *name;
+
        /** Maximum number of LPM rules (i.e. IP routes) */
        uint32_t n_rules;