[dpdk-dev,v8,09/18] lib: add symbol versioning to distributor

Message ID 1488354455-142764-10-git-send-email-david.hunt@intel.com (mailing list archive)
State Superseded, archived
Headers

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/Intel-compilation fail Compilation issues

Commit Message

Hunt, David March 1, 2017, 7:47 a.m. UTC
  Also bumped up the ABI version number in the Makefile

Signed-off-by: David Hunt <david.hunt@intel.com>
---
 lib/librte_distributor/Makefile                    |  2 +-
 lib/librte_distributor/rte_distributor.c           |  8 ++++++++
 lib/librte_distributor/rte_distributor_v20.c       | 10 ++++++++++
 lib/librte_distributor/rte_distributor_version.map | 14 ++++++++++++++
 4 files changed, 33 insertions(+), 1 deletion(-)
  

Comments

Hunt, David March 1, 2017, 2:50 p.m. UTC | #1
ERROR:SPACING: space prohibited before that ',' (ctx:WxW)
#84: FILE: lib/librte_distributor/rte_distributor.c:172:
+BIND_DEFAULT_SYMBOL(rte_distributor_get_pkt, , 17.05);
                                               ^

FYI, checkpatch does not like this regardless of whether there's
a space there or not. It complains either way. :)

Regards,
Dave.



On 1/3/2017 7:47 AM, David Hunt wrote:
> Also bumped up the ABI version number in the Makefile
>
> Signed-off-by: David Hunt <david.hunt@intel.com>
> ---
>   lib/librte_distributor/Makefile                    |  2 +-
>   lib/librte_distributor/rte_distributor.c           |  8 ++++++++
>   lib/librte_distributor/rte_distributor_v20.c       | 10 ++++++++++
>   lib/librte_distributor/rte_distributor_version.map | 14 ++++++++++++++
>   4 files changed, 33 insertions(+), 1 deletion(-)
>
> diff --git a/lib/librte_distributor/Makefile b/lib/librte_distributor/Makefile
> index 2b28eff..2f05cf3 100644
> --- a/lib/librte_distributor/Makefile
> +++ b/lib/librte_distributor/Makefile
> @@ -39,7 +39,7 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
>   
>   EXPORT_MAP := rte_distributor_version.map
>   
> -LIBABIVER := 1
> +LIBABIVER := 2
>   
>   # all source are stored in SRCS-y
>   SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) := rte_distributor_v20.c
> diff --git a/lib/librte_distributor/rte_distributor.c b/lib/librte_distributor/rte_distributor.c
> index 6e1debf..2c5511d 100644
> --- a/lib/librte_distributor/rte_distributor.c
> +++ b/lib/librte_distributor/rte_distributor.c
> @@ -36,6 +36,7 @@
>   #include <rte_mbuf.h>
>   #include <rte_memory.h>
>   #include <rte_cycles.h>
> +#include <rte_compat.h>
>   #include <rte_memzone.h>
>   #include <rte_errno.h>
>   #include <rte_string_fns.h>
> @@ -168,6 +169,7 @@ rte_distributor_get_pkt(struct rte_distributor *d,
>   	}
>   	return count;
>   }
> +BIND_DEFAULT_SYMBOL(rte_distributor_get_pkt, , 17.05);
>   
>   int
>   rte_distributor_return_pkt(struct rte_distributor *d,
> @@ -197,6 +199,7 @@ rte_distributor_return_pkt(struct rte_distributor *d,
>   
>   	return 0;
>   }
> +BIND_DEFAULT_SYMBOL(rte_distributor_return_pkt, , 17.05);
>   
>   /**** APIs called on distributor core ***/
>   
> @@ -476,6 +479,7 @@ rte_distributor_process(struct rte_distributor *d,
>   
>   	return num_mbufs;
>   }
> +BIND_DEFAULT_SYMBOL(rte_distributor_process, , 17.05);
>   
>   /* return to the caller, packets returned from workers */
>   int
> @@ -504,6 +508,7 @@ rte_distributor_returned_pkts(struct rte_distributor *d,
>   
>   	return retval;
>   }
> +BIND_DEFAULT_SYMBOL(rte_distributor_returned_pkts, , 17.05);
>   
>   /*
>    * Return the number of packets in-flight in a distributor, i.e. packets
> @@ -549,6 +554,7 @@ rte_distributor_flush(struct rte_distributor *d)
>   
>   	return flushed;
>   }
> +BIND_DEFAULT_SYMBOL(rte_distributor_flush, , 17.05);
>   
>   /* clears the internal returns array in the distributor */
>   void
> @@ -565,6 +571,7 @@ rte_distributor_clear_returns(struct rte_distributor *d)
>   	for (wkr = 0; wkr < d->num_workers; wkr++)
>   		d->bufs[wkr].retptr64[0] = 0;
>   }
> +BIND_DEFAULT_SYMBOL(rte_distributor_clear_returns, , 17.05);
>   
>   /* creates a distributor instance */
>   struct rte_distributor *
> @@ -638,3 +645,4 @@ rte_distributor_create(const char *name,
>   
>   	return d;
>   }
> +BIND_DEFAULT_SYMBOL(rte_distributor_create, , 17.05);
> diff --git a/lib/librte_distributor/rte_distributor_v20.c b/lib/librte_distributor/rte_distributor_v20.c
> index 1f406c5..bb6c5d7 100644
> --- a/lib/librte_distributor/rte_distributor_v20.c
> +++ b/lib/librte_distributor/rte_distributor_v20.c
> @@ -38,6 +38,7 @@
>   #include <rte_memory.h>
>   #include <rte_memzone.h>
>   #include <rte_errno.h>
> +#include <rte_compat.h>
>   #include <rte_string_fns.h>
>   #include <rte_eal_memconfig.h>
>   #include "rte_distributor_v20.h"
> @@ -63,6 +64,7 @@ rte_distributor_request_pkt_v20(struct rte_distributor_v20 *d,
>   		rte_pause();
>   	buf->bufptr64 = req;
>   }
> +VERSION_SYMBOL(rte_distributor_request_pkt, _v20, 2.0);
>   
>   struct rte_mbuf *
>   rte_distributor_poll_pkt_v20(struct rte_distributor_v20 *d,
> @@ -76,6 +78,7 @@ rte_distributor_poll_pkt_v20(struct rte_distributor_v20 *d,
>   	int64_t ret = buf->bufptr64 >> RTE_DISTRIB_FLAG_BITS;
>   	return (struct rte_mbuf *)((uintptr_t)ret);
>   }
> +VERSION_SYMBOL(rte_distributor_poll_pkt, _v20, 2.0);
>   
>   struct rte_mbuf *
>   rte_distributor_get_pkt_v20(struct rte_distributor_v20 *d,
> @@ -87,6 +90,7 @@ rte_distributor_get_pkt_v20(struct rte_distributor_v20 *d,
>   		rte_pause();
>   	return ret;
>   }
> +VERSION_SYMBOL(rte_distributor_get_pkt, _v20, 2.0);
>   
>   int
>   rte_distributor_return_pkt_v20(struct rte_distributor_v20 *d,
> @@ -98,6 +102,7 @@ rte_distributor_return_pkt_v20(struct rte_distributor_v20 *d,
>   	buf->bufptr64 = req;
>   	return 0;
>   }
> +VERSION_SYMBOL(rte_distributor_return_pkt, _v20, 2.0);
>   
>   /**** APIs called on distributor core ***/
>   
> @@ -314,6 +319,7 @@ rte_distributor_process_v20(struct rte_distributor_v20 *d,
>   	d->returns.count = ret_count;
>   	return num_mbufs;
>   }
> +VERSION_SYMBOL(rte_distributor_process, _v20, 2.0);
>   
>   /* return to the caller, packets returned from workers */
>   int
> @@ -334,6 +340,7 @@ rte_distributor_returned_pkts_v20(struct rte_distributor_v20 *d,
>   
>   	return retval;
>   }
> +VERSION_SYMBOL(rte_distributor_returned_pkts, _v20, 2.0);
>   
>   /* return the number of packets in-flight in a distributor, i.e. packets
>    * being workered on or queued up in a backlog. */
> @@ -362,6 +369,7 @@ rte_distributor_flush_v20(struct rte_distributor_v20 *d)
>   
>   	return flushed;
>   }
> +VERSION_SYMBOL(rte_distributor_flush, _v20, 2.0);
>   
>   /* clears the internal returns array in the distributor */
>   void
> @@ -372,6 +380,7 @@ rte_distributor_clear_returns_v20(struct rte_distributor_v20 *d)
>   	memset(d->returns.mbufs, 0, sizeof(d->returns.mbufs));
>   #endif
>   }
> +VERSION_SYMBOL(rte_distributor_clear_returns, _v20, 2.0);
>   
>   /* creates a distributor instance */
>   struct rte_distributor_v20 *
> @@ -415,3 +424,4 @@ rte_distributor_create_v20(const char *name,
>   
>   	return d;
>   }
> +VERSION_SYMBOL(rte_distributor_create, _v20, 2.0);
> diff --git a/lib/librte_distributor/rte_distributor_version.map b/lib/librte_distributor/rte_distributor_version.map
> index 73fdc43..3a285b3 100644
> --- a/lib/librte_distributor/rte_distributor_version.map
> +++ b/lib/librte_distributor/rte_distributor_version.map
> @@ -13,3 +13,17 @@ DPDK_2.0 {
>   
>   	local: *;
>   };
> +
> +DPDK_17.05 {
> +	global:
> +
> +	rte_distributor_clear_returns;
> +	rte_distributor_create;
> +	rte_distributor_flush;
> +	rte_distributor_get_pkt;
> +	rte_distributor_poll_pkt;
> +	rte_distributor_process;
> +	rte_distributor_request_pkt;
> +	rte_distributor_return_pkt;
> +	rte_distributor_returned_pkts;
> +} DPDK_2.0;
  

Patch

diff --git a/lib/librte_distributor/Makefile b/lib/librte_distributor/Makefile
index 2b28eff..2f05cf3 100644
--- a/lib/librte_distributor/Makefile
+++ b/lib/librte_distributor/Makefile
@@ -39,7 +39,7 @@  CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
 
 EXPORT_MAP := rte_distributor_version.map
 
-LIBABIVER := 1
+LIBABIVER := 2
 
 # all source are stored in SRCS-y
 SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) := rte_distributor_v20.c
diff --git a/lib/librte_distributor/rte_distributor.c b/lib/librte_distributor/rte_distributor.c
index 6e1debf..2c5511d 100644
--- a/lib/librte_distributor/rte_distributor.c
+++ b/lib/librte_distributor/rte_distributor.c
@@ -36,6 +36,7 @@ 
 #include <rte_mbuf.h>
 #include <rte_memory.h>
 #include <rte_cycles.h>
+#include <rte_compat.h>
 #include <rte_memzone.h>
 #include <rte_errno.h>
 #include <rte_string_fns.h>
@@ -168,6 +169,7 @@  rte_distributor_get_pkt(struct rte_distributor *d,
 	}
 	return count;
 }
+BIND_DEFAULT_SYMBOL(rte_distributor_get_pkt, , 17.05);
 
 int
 rte_distributor_return_pkt(struct rte_distributor *d,
@@ -197,6 +199,7 @@  rte_distributor_return_pkt(struct rte_distributor *d,
 
 	return 0;
 }
+BIND_DEFAULT_SYMBOL(rte_distributor_return_pkt, , 17.05);
 
 /**** APIs called on distributor core ***/
 
@@ -476,6 +479,7 @@  rte_distributor_process(struct rte_distributor *d,
 
 	return num_mbufs;
 }
+BIND_DEFAULT_SYMBOL(rte_distributor_process, , 17.05);
 
 /* return to the caller, packets returned from workers */
 int
@@ -504,6 +508,7 @@  rte_distributor_returned_pkts(struct rte_distributor *d,
 
 	return retval;
 }
+BIND_DEFAULT_SYMBOL(rte_distributor_returned_pkts, , 17.05);
 
 /*
  * Return the number of packets in-flight in a distributor, i.e. packets
@@ -549,6 +554,7 @@  rte_distributor_flush(struct rte_distributor *d)
 
 	return flushed;
 }
+BIND_DEFAULT_SYMBOL(rte_distributor_flush, , 17.05);
 
 /* clears the internal returns array in the distributor */
 void
@@ -565,6 +571,7 @@  rte_distributor_clear_returns(struct rte_distributor *d)
 	for (wkr = 0; wkr < d->num_workers; wkr++)
 		d->bufs[wkr].retptr64[0] = 0;
 }
+BIND_DEFAULT_SYMBOL(rte_distributor_clear_returns, , 17.05);
 
 /* creates a distributor instance */
 struct rte_distributor *
@@ -638,3 +645,4 @@  rte_distributor_create(const char *name,
 
 	return d;
 }
+BIND_DEFAULT_SYMBOL(rte_distributor_create, , 17.05);
diff --git a/lib/librte_distributor/rte_distributor_v20.c b/lib/librte_distributor/rte_distributor_v20.c
index 1f406c5..bb6c5d7 100644
--- a/lib/librte_distributor/rte_distributor_v20.c
+++ b/lib/librte_distributor/rte_distributor_v20.c
@@ -38,6 +38,7 @@ 
 #include <rte_memory.h>
 #include <rte_memzone.h>
 #include <rte_errno.h>
+#include <rte_compat.h>
 #include <rte_string_fns.h>
 #include <rte_eal_memconfig.h>
 #include "rte_distributor_v20.h"
@@ -63,6 +64,7 @@  rte_distributor_request_pkt_v20(struct rte_distributor_v20 *d,
 		rte_pause();
 	buf->bufptr64 = req;
 }
+VERSION_SYMBOL(rte_distributor_request_pkt, _v20, 2.0);
 
 struct rte_mbuf *
 rte_distributor_poll_pkt_v20(struct rte_distributor_v20 *d,
@@ -76,6 +78,7 @@  rte_distributor_poll_pkt_v20(struct rte_distributor_v20 *d,
 	int64_t ret = buf->bufptr64 >> RTE_DISTRIB_FLAG_BITS;
 	return (struct rte_mbuf *)((uintptr_t)ret);
 }
+VERSION_SYMBOL(rte_distributor_poll_pkt, _v20, 2.0);
 
 struct rte_mbuf *
 rte_distributor_get_pkt_v20(struct rte_distributor_v20 *d,
@@ -87,6 +90,7 @@  rte_distributor_get_pkt_v20(struct rte_distributor_v20 *d,
 		rte_pause();
 	return ret;
 }
+VERSION_SYMBOL(rte_distributor_get_pkt, _v20, 2.0);
 
 int
 rte_distributor_return_pkt_v20(struct rte_distributor_v20 *d,
@@ -98,6 +102,7 @@  rte_distributor_return_pkt_v20(struct rte_distributor_v20 *d,
 	buf->bufptr64 = req;
 	return 0;
 }
+VERSION_SYMBOL(rte_distributor_return_pkt, _v20, 2.0);
 
 /**** APIs called on distributor core ***/
 
@@ -314,6 +319,7 @@  rte_distributor_process_v20(struct rte_distributor_v20 *d,
 	d->returns.count = ret_count;
 	return num_mbufs;
 }
+VERSION_SYMBOL(rte_distributor_process, _v20, 2.0);
 
 /* return to the caller, packets returned from workers */
 int
@@ -334,6 +340,7 @@  rte_distributor_returned_pkts_v20(struct rte_distributor_v20 *d,
 
 	return retval;
 }
+VERSION_SYMBOL(rte_distributor_returned_pkts, _v20, 2.0);
 
 /* return the number of packets in-flight in a distributor, i.e. packets
  * being workered on or queued up in a backlog. */
@@ -362,6 +369,7 @@  rte_distributor_flush_v20(struct rte_distributor_v20 *d)
 
 	return flushed;
 }
+VERSION_SYMBOL(rte_distributor_flush, _v20, 2.0);
 
 /* clears the internal returns array in the distributor */
 void
@@ -372,6 +380,7 @@  rte_distributor_clear_returns_v20(struct rte_distributor_v20 *d)
 	memset(d->returns.mbufs, 0, sizeof(d->returns.mbufs));
 #endif
 }
+VERSION_SYMBOL(rte_distributor_clear_returns, _v20, 2.0);
 
 /* creates a distributor instance */
 struct rte_distributor_v20 *
@@ -415,3 +424,4 @@  rte_distributor_create_v20(const char *name,
 
 	return d;
 }
+VERSION_SYMBOL(rte_distributor_create, _v20, 2.0);
diff --git a/lib/librte_distributor/rte_distributor_version.map b/lib/librte_distributor/rte_distributor_version.map
index 73fdc43..3a285b3 100644
--- a/lib/librte_distributor/rte_distributor_version.map
+++ b/lib/librte_distributor/rte_distributor_version.map
@@ -13,3 +13,17 @@  DPDK_2.0 {
 
 	local: *;
 };
+
+DPDK_17.05 {
+	global:
+
+	rte_distributor_clear_returns;
+	rte_distributor_create;
+	rte_distributor_flush;
+	rte_distributor_get_pkt;
+	rte_distributor_poll_pkt;
+	rte_distributor_process;
+	rte_distributor_request_pkt;
+	rte_distributor_return_pkt;
+	rte_distributor_returned_pkts;
+} DPDK_2.0;