On 01/14/2016 06:22 PM, Aaron Conole wrote:
Panu Matilainen <pmati...@redhat.com> writes:
Requires DPDK >= 2.2 as that is the first version to have a standard
install layout which we can discover without help from user.

Signed-off-by: Panu Matilainen <pmati...@redhat.com>
---

As a follow-up to this discussion (oh my, where did the time go...):
http://openvswitch.org/pipermail/dev/2015-November/062599.html

RFC only for now since rest of OVS hasn't been update for DPDK 2.2
yet.

I think the approach is good, just a minor comment below.

  rhel/openvswitch-fedora.spec.in | 9 +++++++++
  1 file changed, 9 insertions(+)

diff --git a/rhel/openvswitch-fedora.spec.in b/rhel/openvswitch-fedora.spec.in
index 15f5c60..1bf4c12 100644
--- a/rhel/openvswitch-fedora.spec.in
+++ b/rhel/openvswitch-fedora.spec.in
@@ -16,6 +16,8 @@
  # If libcap-ng isn't available and there is no need for running OVS
  # as regular user, specify the '--without libcapng'
  %bcond_without libcapng
+# To enable DPDK support, specify '--with dpdk' when building
+%bcond_with dpdk

  # Enable PIE, bz#955181
  %global _hardened_build 1
@@ -49,6 +51,10 @@ BuildRequires: procps-ng
  %if %{with libcapng}
  BuildRequires: libcap-ng libcap-ng-devel
  %endif
+%if %{with dpdk}
+BuildRequires: dpdk-devel >= 2.2.0
+Provides: %{name}-dpdk = %{version}-%{release}
+%endif

  Requires: openssl iproute module-init-tools
  #Upstream kernel commit 4f647e0a3c37b8d5086214128614a136064110c3
@@ -117,6 +123,9 @@ overlays and security groups.
  %else
        --disable-libcapng \
  %endif
+%if %{with dpdk}
+       --with-dpdk=$(dirname %{_datadir}/dpdk/*/.config) \
+%endif

dpdk-devel forces export of RTE_SDK - should that change from
${_datadir}/dpdk/*/.config
to
$(RTE_SDK)/*/.config ?

The RTE_SDK export is specific to Fedora DPDK packaging, the above is intentionally only relying on what upstream DPDK offers.


Also, not sure about the '*' - might be better to try and figure out the
config name somehow?

From a DPDK "make install", there can be precisely one directory (the target name) that matches the %{_datadir}/dpdk/*/.config glob. The alternative for figuring the config target name and would be parsing /usr/include/dpdk/rte_config.h and stiching the name back together from that, not worth the trouble IMO.

It probably deserves a bit of rationale in the commit message though :)

        - Panu -

        - Panu -



        - Panu -
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to