[ovs-dev] [PATCH RFC dpdk-latest] build: Add support for DPDK meson build.

Pai G, Sunil sunil.pai.g at intel.com
Fri Jul 3 13:57:30 UTC 2020


> -----Original Message-----
> From: Ilya Maximets <i.maximets at ovn.org>
> Sent: Thursday, July 2, 2020 9:54 PM
> To: Pai G, Sunil <sunil.pai.g at intel.com>; Richardson, Bruce
> <bruce.richardson at intel.com>; Ilya Maximets <i.maximets at ovn.org>;
> dev at openvswitch.org
> Cc: Stokes, Ian <ian.stokes at intel.com>; david.marchand at redhat.com;
> Tummala, Sivaprasad <sivaprasad.tummala at intel.com>
> Subject: Re: [PATCH RFC dpdk-latest] build: Add support for DPDK meson
> build.
> 
> On 7/2/20 6:10 PM, Pai G, Sunil wrote:
> >> -----Original Message-----
> >> From: Richardson, Bruce <bruce.richardson at intel.com>
> >> Sent: Thursday, July 2, 2020 9:32 PM
> >> To: Pai G, Sunil <sunil.pai.g at intel.com>; Ilya Maximets
> >> <i.maximets at ovn.org>; dev at openvswitch.org
> >> Cc: Stokes, Ian <ian.stokes at intel.com>; david.marchand at redhat.com;
> >> Tummala, Sivaprasad <sivaprasad.tummala at intel.com>
> >> Subject: RE: [PATCH RFC dpdk-latest] build: Add support for DPDK
> >> meson build.
> >>
> >>
> >>
> >>> -----Original Message-----
> >>> From: Pai G, Sunil <sunil.pai.g at intel.com>
> >>> Sent: Thursday, July 2, 2020 4:25 PM
> >>> To: Ilya Maximets <i.maximets at ovn.org>; dev at openvswitch.org
> >>> Cc: Stokes, Ian <ian.stokes at intel.com>; david.marchand at redhat.com;
> >>> Richardson, Bruce <bruce.richardson at intel.com>; Tummala, Sivaprasad
> >>> <sivaprasad.tummala at intel.com>
> >>> Subject: RE: [PATCH RFC dpdk-latest] build: Add support for DPDK
> >>> meson build.
> >>>
> >>>> -----Original Message-----
> >>>> From: Ilya Maximets <i.maximets at ovn.org>
> >>>> Sent: Thursday, July 2, 2020 7:26 PM
> >>>> To: Pai G, Sunil <sunil.pai.g at intel.com>; dev at openvswitch.org
> >>>> Cc: Stokes, Ian <ian.stokes at intel.com>; i.maximets at ovn.org;
> >>>> david.marchand at redhat.com; Richardson, Bruce
> >>>> <bruce.richardson at intel.com>; Tummala, Sivaprasad
> >>>> <sivaprasad.tummala at intel.com>; i.maximets at ovn.org
> >>>> Subject: Re: [PATCH RFC dpdk-latest] build: Add support for DPDK
> >>>> meson
> >>> build.
> >>>>
> >>>> On 7/2/20 3:13 PM, Sunil Pai G wrote:
> >>>>> Make based build is deprecated in DPDK. Meson based build to be
> >>>>> used for future DPDK releases.
> >>>>>
> >>>>> This updates travis, configure script and documentation for using
> >>>>> DPDK Meson with OVS.
> >>>>>
> >>>>> Signed-off-by: Sunil Pai G <sunil.pai.g at intel.com>
> >>>>
> >>>> Thanks for working on this!
> >>>> Not a full review, just a few quick bits.
> >>>>
> >>>> At first, why dpdk-latest?  Is there issue with meson build on 19.11?
> >>>
> >>> The linker always picked the shared DPDK libraries over static when
> >>> built with Meson in DPDK-19.11. -Bstatic flag would get jumbled by
> >>> libtool causing this.
> >>> Thanks to Bruce, there was recently merged series which fixed a
> >>> bunch of issues along with this :
> >>> https://patches.dpdk.org/project/dpdk/list/?series=10690
> >>> It is requested for a back port of this series to DPDK-19.11.
> >>>
> >>>>
> >>>> Few more comments inline.
> >>>>
> >>>> Best regards, Ilya Maximets.
> >>>>
> >>>>> ---
> >>>>>  .travis.yml                           |  3 ++
> >>>>>  .travis/linux-build.sh                | 37 +++++++++-------
> >>>>>  .travis/linux-prepare.sh              |  1 +
> >>>>>  Documentation/intro/install/afxdp.rst |  2 +-
> >>>>> Documentation/intro/install/dpdk.rst  | 56 ++++++++++++++++++++-
> --
> >> -
> >>>>>  Makefile.am                           |  3 +-
> >>>>>  acinclude.m4                          | 42 ++++++++++++------
> >>>>>  parse_pkg_cfg.py                      | 62
> >>> +++++++++++++++++++++++++++
> >>>>>  8 files changed, 167 insertions(+), 39 deletions(-)  create mode
> >>>>> 100644 parse_pkg_cfg.py
> >>>>>
> >>>>> diff --git a/.travis.yml b/.travis.yml index 97249c1ce..46d7ad9bb
> >>>>> 100644
> >>>>> --- a/.travis.yml
> >>>>> +++ b/.travis.yml
> >>>>> @@ -27,6 +27,9 @@ addons:
> >>>>>        - selinux-policy-dev
> >>>>>        - libunbound-dev
> >>>>>        - libunwind-dev
> >>>>> +      - python3-setuptools
> >>>>> +      - python3-wheel
> >>>>> +      - ninja-build
> >>>>>
> >>>>>  before_install: ./.travis/${TRAVIS_OS_NAME}-prepare.sh
> >>>>>
> >>>>> diff --git a/.travis/linux-build.sh b/.travis/linux-build.sh index
> >>>>> 33b359a61..7fa7e738c 100755
> >>>>> --- a/.travis/linux-build.sh
> >>>>> +++ b/.travis/linux-build.sh
> >>>>> @@ -85,17 +85,21 @@ function install_dpdk()  {
> >>>>>      local DPDK_VER=$1
> >>>>>      local VERSION_FILE="dpdk-dir/travis-dpdk-cache-version"
> >>>>> +    local DPDK_OPTS=""
> >>>>>
> >>>>> -    if [ -z "$TRAVIS_ARCH" ] ||
> >>>>> -       [ "$TRAVIS_ARCH" == "amd64" ]; then
> >>>>> -        TARGET="x86_64-native-linuxapp-gcc"
> >>>>> -    elif [ "$TRAVIS_ARCH" == "aarch64" ]; then
> >>>>> -        TARGET="arm64-armv8a-linuxapp-gcc"
> >>>>> -    else
> >>>>> +    if [ "$TRAVIS_ARCH" == "aarch64" ]; then
> >>>>> +        DPDK_OPTS="$DPDK_OPTS --cross-file
> >>>> config/arm/arm64_armv8_linux_gcc"
> >>>>
<snipped>
> >> Does your travis instance use 16.04 or 18.04? If possible can you
> >> standardize on a new specific version to get some additional
> >> benefits. For example, with meson
> >> 0.54 there is support for "uninstalled" pkg-config files, which you
> >> can use for linking against a DPDK instance which has not been installed on
> the system.
> >> [https://mesonbuild.com/Release-notes-for-0-54-0.html#uninstalled-
> >> pkgconfig-files]
> >> I think that feature may be of interest or of use for the future.
> >
> > Currently 16.04 is being used . I tried to moving to 18.04 as well.
> > But seems like few other test cases which require kernel 3.16 seem to
> > fail. Probably Ilya/David/Ian could comment if those test cases can be
> removed and we could move to 18.04 travis?
> 
> The incompatibility issue was fixed in v0.53.1 release and should work fine
> with 0.54 on ubuntu 16.04 without upgrading the base image to 18.04.
> So, it makes sense to standardize on 0.54 for now.  Could you, please, try it?

Thanks, Ilya, for pointing out.
Although I see that this works on x86 , it fails for aarch64 :(
for some reason meson doesnt seem to build properly on aarch64:
https://travis-ci.org/github/Sunil-Pai-G/ovs/builds/704635873
Please let me know if I might have missed something.



More information about the dev mailing list