Package: dpdk / 18.11-6~bpo9+1

Metadata

Package Version Patches format
dpdk 18.11-6~bpo9+1 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
0001 doc fix garbage text in generated HTML guides.patch | (download)

doc/guides/conf.py | 5 4 + 1 - 0 !
1 file changed, 4 insertions(+), 1 deletion(-)

 doc: fix garbage text in generated html guides
 If the user has MAKEFLAGS set in the environment when building the
 documentation, the doc/guides/conf.py script which calls "make"
 exclusively to get the project version might pick up garbage from
 stdout, like:
 <title>FAQ &mdash; Data Plane Development Kit make[2]:
 Entering directory &#39;/build/1st/dpdk-18.11/doc/guides&#39;
 18.11.0
 make[2]: Leaving directory &#39;/build/1st/dpdk-18.11&#39;
 documentation</title>
 Override MAKEFLAGS in the Python subprocess call to avoid this issue.
0002 build use generic march on arm64 when using default.patch | (download)

config/arm/meson.build | 7 6 + 1 - 0 !
1 file changed, 6 insertions(+), 1 deletion(-)

 use generic march on arm64 when using 'default' machine
 When building for generic distribution we need a stable baseline
 architecture, or depending on the build worker the result will vary.
 
 Force the default flags if the user explicitly sets marchine=default
 at configuration time.
0003 build mention march in pkg config description.patch | (download)

meson.build | 4 3 + 1 - 0 !
1 file changed, 3 insertions(+), 1 deletion(-)

 mention -march in pkg-config description
 Applications need to at least match DPDK's -march option to build
 successfully due to some static inline functions in the public headers.
 This might cause problems, especially in distributions, so add a note
 in the pkg-config description.
0004 build bump minimum Meson version to 0.47.1.patch | (download)

drivers/meson.build | 5 1 + 4 - 0 !
kernel/linux/meson.build | 6 1 + 5 - 0 !
meson.build | 35 15 + 20 - 0 !
3 files changed, 17 insertions(+), 29 deletions(-)

 bump minimum meson version to 0.47.1
0005 build use dependency instead of find_library.patch | (download)

drivers/compress/zlib/meson.build | 1 0 + 1 - 0 !
drivers/crypto/ccp/meson.build | 1 0 + 1 - 0 !
drivers/crypto/openssl/meson.build | 1 0 + 1 - 0 !
drivers/crypto/qat/meson.build | 1 0 + 1 - 0 !
drivers/meson.build | 9 5 + 4 - 0 !
drivers/net/bnx2x/meson.build | 2 1 + 1 - 0 !
drivers/net/mlx4/meson.build | 6 3 + 3 - 0 !
drivers/net/mlx5/meson.build | 6 3 + 3 - 0 !
drivers/net/pcap/meson.build | 5 2 + 3 - 0 !
lib/librte_bpf/meson.build | 4 2 + 2 - 0 !
lib/librte_telemetry/meson.build | 2 1 + 1 - 0 !
11 files changed, 17 insertions(+), 21 deletions(-)

 use dependency() instead of find_library()
 Whenever possible (if the library ships a pkg-config file) use meson's
 dependency() function to look for it, as it will automatically add it
 to the Requires.private list if needed, to allow for static builds to
 succeed for reverse dependencies of DPDK. Otherwise the recursive
 dependencies are not parsed, and users doing static builds have to
 resolve them manually by themselves.
 When using this API avoid additional checks that are superfluous and
 take extra time, and avoid adding the linker flag manually which causes
 it to be duplicated.
0006 build reorder libraries and build eal before cmdline.patch | (download)

lib/meson.build | 5 3 + 2 - 0 !
1 file changed, 3 insertions(+), 2 deletions(-)

 reorder libraries and build eal before cmdline
 Most libraries and PMDs depend on eal, and eal depends only on kvargs,
 so reorder the list in Meson to reflect this and take advantage of this
 dependency chain.
0007 build use dependency for libbsd instead of manual ap.patch | (download)

config/meson.build | 10 5 + 5 - 0 !
lib/librte_eal/meson.build | 3 3 + 0 - 0 !
2 files changed, 8 insertions(+), 5 deletions(-)

 use dependency() for libbsd instead of manual append to ldflags
 Move libbsd inclusion to librte_eal, so that all other libraries and
 PMDs will inherit it.
0001 kni fix build for dev_open in Linux 5.0.patch | (download)

kernel/linux/kni/ethtool/igb/kcompat.h | 4 4 + 0 - 0 !
kernel/linux/kni/ethtool/ixgbe/kcompat.h | 4 4 + 0 - 0 !
2 files changed, 8 insertions(+)

 [patch 1/2] kni: fix build for dev_open in linux 5.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Build error seen with Linux kernel 5.0 and
when CONFIG_RTE_KNI_KMOD_ETHTOOL is enabled.

build error:
.../build/build/kernel/linux/kni/ixgbe_ethtool.c:1746:4:
  error: too few arguments to function ‘dev_open’
    dev_open(netdev);
    ^~~~~~~~
In file included from .../build/kernel/linux/kni/ixgbe_ethtool.c:18:
.../linux/linux/include/linux/netdevice.h:2620:5: note: declared here
 int dev_open(struct net_device *dev, struct netlink_ext_ack *extack);
     ^~~~~~~~

.../build/build/kernel/linux/kni/igb_ethtool.c:1812:4:
  error: too few arguments to function ‘dev_open’
    dev_open(netdev);
    ^~~~~~~~
In file included from .../build/build/kernel/linux/kni/igb_ethtool.c:15:
.../linux/linux/include/linux/netdevice.h:2620:5: note: declared here
 int dev_open(struct net_device *dev, struct netlink_ext_ack *extack);
     ^~~~~~~~

dev_open() is changed in Linux kernel version 5.0 and now requires
a new parameter, 'struct netlink_ext_ack *extack'.
Fixed by defining dev_open as macro when kernel version >= 5.0

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>

0002 kni fix build for igb_ndo_bridge_setlink in Linux 5..patch | (download)

kernel/linux/kni/ethtool/igb/igb_main.c | 5 5 + 0 - 0 !
kernel/linux/kni/ethtool/igb/kcompat.h | 1 1 + 0 - 0 !
2 files changed, 6 insertions(+)

 [patch 2/2] kni: fix build for igb_ndo_bridge_setlink in linux 5.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Build error seen with Linux kernel 5.0 and
when CONFIG_RTE_KNI_KMOD_ETHTOOL is enabled.

build error:
.../build/build/kernel/linux/kni/igb_main.c:2348:24:
  error: initialization of
  ‘int (*)(struct net_device *, struct nlmsghdr *, u16,
  	struct netlink_ext_ack *)’
  {aka ‘int (*)(struct net_device *, struct nlmsghdr *,
  	short unsigned int,  struct netlink_ext_ack *)’}
  from incompatible pointer type
  ‘int (*)(struct net_device *, struct nlmsghdr *, u16)’
  {aka ‘int (*)(struct net_device *, struct nlmsghdr *,
  	short unsigned int)’}
  [-Werror=incompatible-pointer-types]
  .ndo_bridge_setlink = igb_ndo_bridge_setlink,
                        ^~~~~~~~~~~~~~~~~~~~~~
.../build/build/kernel/linux/kni/igb_main.c:2348:24:
  note: (near initialization for ‘igb_netdev_ops.ndo_bridge_setlink’)

igb_ndo_bridge_setlink() is changed in Linux kernel version 5.0
and now requires a new parameter, 'struct netlink_ext_ack *extack'.
Fixed by adding a new parameter with a kernel version check.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>