diff mbox series

[ovs-dev,dpdk-latest,3/3] netdev-dpdk: Remove experimental API flag.

Message ID 20200427102535.32731-3-david.marchand@redhat.com
State Superseded
Headers show
Series [ovs-dev,dpdk-latest,1/3] travis: Remove explicit DPDK kmods configuration. | expand

Commit Message

David Marchand April 27, 2020, 10:25 a.m. UTC
rfc4115 meter APIs are now part of 20.02 stable ABI so we can remove the
forced ALLOW_EXPERIMENTAL_API define.
Still, compiling against DPDK experimental API could bite us when we need
one of them, add dedicated jobs in Travis.

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 .travis.yml            | 4 ++++
 .travis/linux-build.sh | 3 +++
 lib/netdev-dpdk.c      | 6 ------
 3 files changed, 7 insertions(+), 6 deletions(-)

Comments

Ilya Maximets April 27, 2020, 3:47 p.m. UTC | #1
On 4/27/20 12:25 PM, David Marchand wrote:
> rfc4115 meter APIs are now part of 20.02 stable ABI so we can remove the
> forced ALLOW_EXPERIMENTAL_API define.
> Still, compiling against DPDK experimental API could bite us when we need
> one of them, add dedicated jobs in Travis.

Hi, David.

I didn't look close to this patch series, but I think that this patch should
be split in two.  First part that removes ALLOW_EXPERIMENTAL_API define and
the second that adds travis job.  The reason is that the first one will go
to master someday and the second one should not.

Best regards, Ilya Maximets.
David Marchand April 28, 2020, 4:15 p.m. UTC | #2
Hello Ilya,

On Mon, Apr 27, 2020 at 5:47 PM Ilya Maximets <i.maximets@ovn.org> wrote:
>
> On 4/27/20 12:25 PM, David Marchand wrote:
> > rfc4115 meter APIs are now part of 20.02 stable ABI so we can remove the
> > forced ALLOW_EXPERIMENTAL_API define.
> > Still, compiling against DPDK experimental API could bite us when we need
> > one of them, add dedicated jobs in Travis.
>
> Hi, David.
>
> I didn't look close to this patch series, but I think that this patch should
> be split in two.  First part that removes ALLOW_EXPERIMENTAL_API define and
> the second that adds travis job.  The reason is that the first one will go
> to master someday and the second one should not.

Sorry, thought I had sent this reply, but I just found it in my drafts..
"Yes, for v2." and well the v2 is already on the ml :-).
diff mbox series

Patch

diff --git a/.travis.yml b/.travis.yml
index 9c5c9c5c02..97249c1ce8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -44,6 +44,7 @@  env:
   - KERNEL_LIST="4.15 4.14 4.9  4.4  3.19 3.16"
   - AFXDP=1 KERNEL=5.3
   - M32=1 OPTS="--disable-ssl"
+  - DPDK=1 DPDK_EXPERIMENTAL=1
   - DPDK=1 OPTS="--enable-shared"
   - DPDK_SHARED=1
   - DPDK_SHARED=1 OPTS="--enable-shared"
@@ -56,6 +57,9 @@  matrix:
     - arch: arm64
       compiler: gcc
       env: TESTSUITE=1 DPDK=1
+    - arch: arm64
+      compiler: gcc
+      env: DPDK=1 DPDK_EXPERIMENTAL=1
     - arch: arm64
       compiler: gcc
       env: KERNEL_LIST="5.5 4.19"
diff --git a/.travis/linux-build.sh b/.travis/linux-build.sh
index 0628db6872..33b359a61f 100755
--- a/.travis/linux-build.sh
+++ b/.travis/linux-build.sh
@@ -173,6 +173,9 @@  if [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
         # Disregard cast alignment errors until DPDK is fixed
         CFLAGS_FOR_OVS="${CFLAGS_FOR_OVS} -Wno-cast-align"
     fi
+    if [ -n "$DPDK_EXPERIMENTAL" ]; then
+        CFLAGS_FOR_OVS="${CFLAGS_FOR_OVS} -DALLOW_EXPERIMENTAL_API"
+    fi
 fi
 
 if [ "$CC" = "clang" ]; then
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index 44ebf96da8..9d2b4104cf 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -26,12 +26,6 @@ 
 #include <sys/socket.h>
 #include <linux/if.h>
 
-/* Include rte_compat.h first to allow experimental API's needed for the
- * rte_meter.h rfc4115 functions. Once they are no longer marked as
- * experimental the #define and rte_compat.h include can be removed.
- */
-#define ALLOW_EXPERIMENTAL_API
-#include <rte_compat.h>
 #include <rte_bus_pci.h>
 #include <rte_config.h>
 #include <rte_cycles.h>