[ovs-dev] [PATCH RFC] rhel: Add '--with dpdk' spec option to build DPDK-enabled packages
Panu Matilainen
pmatilai at redhat.com
Fri Jan 15 06:05:11 UTC 2016
On 01/14/2016 06:22 PM, Aaron Conole wrote:
> Panu Matilainen <pmatilai at 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 <pmatilai at 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 -
More information about the dev
mailing list