dpdk 18.11-6 ADT test failure with linux 5.1.0-1.1
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
dpdk (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
Disco |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
* dpdk ships some dkms modules and those break on kernel updates every
now and then. This is a fixup for one of such changes.
[Test Case]
* dkms build the dpdk modules against a recent kernel (maybe mainline
kernels)
[Regression Potential]
* This particular fix should have no real regression potential.
It checks on a (now) missing define and helps itself by redefining if
needed. This is based on a kernel version check. The one regression
could maybe be if later the symbol is added to later kernel versions.
But that will need a fix just like this one.
[Other Info]
* This is in prep for later on when a HWE kernel based on >=5.1 will land
in e.g. Bionic
* To find this patch in all of the stable update it is one of the few [1]
that isn't yet in the stable update itself but added as a patch. (I
hope this helps SRU review)
---
Testing failed on:
amd64: https:/
arm64: https:/
i386: https:/
ppc64el: https:/
Related branches
- Rafael David Tinoco (community): Approve
- Canonical Server packageset reviewers: Pending requested
- git-ubuntu developers: Pending requested
-
Diff: 4187 lines (+1144/-581)100 files modifiedapp/test-pmd/cmdline_tm.c (+12/-12)
app/test-pmd/testpmd.c (+5/-1)
debian/changelog (+13/-0)
debian/patches/lp-1827102-kni-fix-build-with-Linux-5.1.patch (+73/-0)
debian/patches/series (+1/-2)
dev/null (+0/-77)
devtools/check-git-log.sh (+4/-3)
doc/guides/conf.py (+4/-1)
doc/guides/contributing/documentation.rst (+13/-0)
doc/guides/prog_guide/power_man.rst (+4/-2)
doc/guides/rel_notes/known_issues.rst (+35/-0)
doc/guides/rel_notes/release_17_11.rst (+88/-0)
doc/guides/sample_app_ug/flow_filtering.rst (+16/-58)
doc/guides/testpmd_app_ug/run_app.rst (+3/-1)
doc/guides/testpmd_app_ug/testpmd_funcs.rst (+1/-1)
drivers/bus/fslmc/fslmc_bus.c (+2/-2)
drivers/bus/pci/linux/pci_vfio.c (+1/-1)
drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c (+5/-0)
drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c (+5/-3)
drivers/crypto/dpaa_sec/dpaa_sec.c (+2/-1)
drivers/crypto/null/null_crypto_pmd_ops.c (+5/-0)
drivers/crypto/openssl/rte_openssl_pmd_ops.c (+5/-0)
drivers/crypto/qat/qat_adf/qat_algs_build_desc.c (+9/-5)
drivers/crypto/snow3g/rte_snow3g_pmd_ops.c (+5/-0)
drivers/crypto/zuc/rte_zuc_pmd_ops.c (+5/-0)
drivers/net/af_packet/rte_eth_af_packet.c (+1/-2)
drivers/net/bnx2x/bnx2x.c (+72/-72)
drivers/net/bnx2x/bnx2x.h (+2/-1)
drivers/net/bnx2x/bnx2x_ethdev.c (+9/-11)
drivers/net/bnx2x/bnx2x_ethdev.h (+1/-0)
drivers/net/bnx2x/ecore_sp.c (+3/-5)
drivers/net/bonding/rte_eth_bond_api.c (+4/-1)
drivers/net/dpaa/dpaa_ethdev.c (+5/-1)
drivers/net/dpaa2/dpaa2_ethdev.c (+8/-1)
drivers/net/e1000/em_rxtx.c (+2/-0)
drivers/net/e1000/igb_ethdev.c (+37/-6)
drivers/net/ena/ena_ethdev.c (+19/-10)
drivers/net/enic/enic_clsf.c (+0/-2)
drivers/net/enic/enic_main.c (+0/-1)
drivers/net/fm10k/fm10k_ethdev.c (+1/-0)
drivers/net/fm10k/fm10k_rxtx.c (+2/-0)
drivers/net/i40e/i40e_ethdev.c (+42/-10)
drivers/net/i40e/i40e_rxtx.c (+1/-3)
drivers/net/i40e/rte_pmd_i40e.c (+11/-1)
drivers/net/ixgbe/ixgbe_ethdev.c (+11/-0)
drivers/net/ixgbe/ixgbe_ethdev.h (+3/-0)
drivers/net/ixgbe/ixgbe_pf.c (+11/-1)
drivers/net/ixgbe/ixgbe_rxtx.c (+14/-10)
drivers/net/mlx5/mlx5_flow.c (+1/-1)
drivers/net/qede/qede_rxtx.c (+74/-25)
drivers/net/qede/qede_rxtx.h (+2/-0)
drivers/net/sfc/base/efx_tx.c (+2/-1)
drivers/net/sfc/efsys.h (+1/-1)
drivers/net/sfc/sfc.h (+3/-1)
drivers/net/sfc/sfc_ethdev.c (+33/-5)
drivers/net/sfc/sfc_log.h (+2/-1)
drivers/net/sfc/sfc_port.c (+14/-0)
drivers/net/sfc/sfc_tx.c (+5/-1)
drivers/net/tap/rte_eth_tap.c (+14/-0)
drivers/net/tap/tap_tcmsgs.c (+1/-1)
drivers/net/virtio/virtio_rxtx.c (+21/-17)
drivers/net/virtio/virtio_rxtx.h (+0/-3)
drivers/net/virtio/virtio_rxtx_simple.c (+1/-29)
drivers/net/virtio/virtio_rxtx_simple.h (+1/-1)
drivers/net/virtio/virtio_user/virtio_user_dev.c (+1/-1)
drivers/net/virtio/virtqueue.h (+5/-0)
drivers/net/vmxnet3/vmxnet3_rxtx.c (+2/-0)
examples/bond/main.c (+16/-0)
examples/flow_filtering/flow_blocks.c (+5/-13)
examples/ipsec-secgw/ipsec-secgw.c (+23/-10)
examples/ipsec-secgw/sp4.c (+5/-5)
examples/ipsec-secgw/sp6.c (+5/-5)
examples/tep_termination/main.c (+0/-3)
examples/vhost/main.c (+8/-0)
lib/librte_eal/common/eal_common_options.c (+19/-2)
lib/librte_eal/common/include/rte_version.h (+1/-1)
lib/librte_eal/linuxapp/kni/compat.h (+8/-1)
lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c (+5/-0)
lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h (+8/-1)
lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h (+4/-0)
lib/librte_efd/rte_efd.c (+14/-0)
lib/librte_ether/rte_ethdev.c (+3/-2)
lib/librte_ether/rte_ethdev.h (+2/-2)
lib/librte_eventdev/rte_eventdev.h (+2/-2)
lib/librte_gro/gro_tcp4.c (+7/-0)
lib/librte_gro/gro_tcp4.h (+5/-0)
lib/librte_gso/gso_common.h (+2/-2)
lib/librte_net/rte_ip.h (+8/-4)
lib/librte_timer/rte_timer.c (+14/-14)
lib/librte_vhost/fd_man.c (+4/-0)
lib/librte_vhost/fd_man.h (+1/-0)
lib/librte_vhost/socket.c (+1/-0)
lib/librte_vhost/vhost_user.c (+16/-4)
lib/librte_vhost/virtio_net.c (+6/-1)
mk/rte.cpuflags.mk (+2/-2)
mk/toolchain/gcc/rte.toolchain-compat.mk (+10/-0)
pkg/dpdk.spec (+1/-1)
test/test/test_cryptodev_blockcipher.c (+3/-2)
test/test/test_eal_flags.c (+38/-23)
test/test/test_memzone.c (+140/-85)
tags: | added: kernel-adt-failure |
description: | updated |
no longer affects: | dpdk (Ubuntu Disco) |
Changed in dpdk (Ubuntu Disco): | |
status: | New → Triaged |
5.1 is not even in proposed yet.
So I used 5.1.0-050100rc7 from [1] mainline builds.
$ sudo apt install dpdk-rte-kni-dkms
[...]
This reproduces the build error
The actual error is: dkms/dpdk- rte-kni/ 18.11/build/ make.log -generic (x86_64) linux-headers- 5.1.0-050100rc7 -generic' dkms/dpdk- rte-kni/ 18.11/build/ kni_net. o dkms/dpdk- rte-kni/ 18.11/build/ kni_misc. o dkms/dpdk- rte-kni/ 18.11/build/ kni_ethtool. o dkms/dpdk- rte-kni/ 18.11/build/ ethtool/ ixgbe/ixgbe_ ethtool. o dkms/dpdk- rte-kni/ 18.11/build/ ethtool/ ixgbe/ixgbe_ 82598.o dkms/dpdk- rte-kni/ 18.11/build/ ethtool/ ixgbe/ixgbe_ api.o dkms/dpdk- rte-kni/ 18.11/build/ ethtool/ ixgbe/ixgbe_ x540.o dkms/dpdk- rte-kni/ 18.11/build/ ethtool/ ixgbe/ixgbe_ common. o dkms/dpdk- rte-kni/ 18.11/build/ ethtool/ ixgbe/ixgbe_ phy.o dkms/dpdk- rte-kni/ 18.11/build/ ethtool/ ixgbe/ixgbe_ main.o dkms/dpdk- rte-kni/ 18.11/build/ ethtool/ ixgbe/kcompat. o dkms/dpdk- rte-kni/ 18.11/build/ ethtool/ ixgbe/ixgbe_ 82599.o dkms/dpdk- rte-kni/ 18.11/build/ ethtool/ igb/e1000_ 82575.o dkms/dpdk- rte-kni/ 18.11/build/ ethtool/ igb/e1000_ i210.o dkms/dpdk- rte-kni/ 18.11/build/ ethtool/ igb/e1000_ api.o dkms/dpdk- rte-kni/ 18.11/build/ ethtool/ igb/igb_ main.o dpdk-rte- kni-18. 11/ethtool/ igb/igb_ main.c: 2346:18: error: initialization of ‘int (*)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, u16, struct netlink_ext_ack *)’ {aka ‘int (*)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, short unsigned int, short unsigned int, struct netlink_ext_ack *)’} from incompatible pointer type ‘int (*)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, u16)’ {aka ‘int (*)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, short unsigned int, short unsigned int)’} [-Werror= incompatible- pointer- types]
^~~ ~~~~~~~ ~~~~~ dpdk-rte- kni-18. 11/ethtool/ igb/igb_ main.c: 2346:18: note: (near initialization for ‘igb_netdev_ ops.ndo_ fdb_add’ ) Makefile. build:276: /var/lib/ dkms/dpdk- rte-kni/ 18.11/build/ ethtool/ igb/igb_ main.o] Error 1 /var/lib/ dkms/dpdk- rte-kni/ 18.11/build] Error 2 linux-headers- 5.1.0-050100rc7 -generic'
$ cat /var/lib/
DKMS make.log for dpdk-rte-kni-18.11 for kernel 5.1.0-050100rc7
Fri May 3 07:11:49 UTC 2019
make: Entering directory '/usr/src/
CC [M] /var/lib/
CC [M] /var/lib/
CC [M] /var/lib/
CC [M] /var/lib/
CC [M] /var/lib/
CC [M] /var/lib/
CC [M] /var/lib/
CC [M] /var/lib/
CC [M] /var/lib/
CC [M] /var/lib/
CC [M] /var/lib/
CC [M] /var/lib/
CC [M] /var/lib/
CC [M] /var/lib/
CC [M] /var/lib/
CC [M] /var/lib/
/usr/src/
.ndo_fdb_add = igb_ndo_fdb_add,
/usr/src/
cc1: some warnings being treated as errors
make[1]: *** [scripts/
make: *** [Makefile:1571: _module_
make: Leaving directory '/usr/src/
The fix will be to backport the recent upstream commit [2].
This fix will most likely be in 18.11.2 and 19.08 but those are both not released for a while.
@Seth - how much time or urgency do we have with that right now?
[1]: https:/ /kernel. ubuntu. com/~kernel- ppa/mainline/ v5.1-rc7/ /git.dpdk. org/dpdk/ commit/ ?id=db9178c24c1 643b5ef58f2a9ff 87c3eef8e0e1e4
[2]: https:/