[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