diff --git a/test/common/config/pkgdep/git b/test/common/config/pkgdep/git index 767ccfa73..6bb3092e5 100644 --- a/test/common/config/pkgdep/git +++ b/test/common/config/pkgdep/git @@ -429,7 +429,7 @@ function install_igb_uio() { } function install_irdma() { - local RDMA_CORE_VERSION=35.0 + local RDMA_CORE_VERSION=42.0 local RDMA_CORE=https://github.com/linux-rdma/rdma-core/releases/download/v$RDMA_CORE_VERSION/rdma-core-$RDMA_CORE_VERSION.tar.gz if [[ $ID != fedora ]]; then @@ -437,7 +437,7 @@ function install_irdma() { return 0 fi - # Install extra dependencies needed by the rdma-core-35.0 + # Install extra dependencies needed by the rdma-core install ninja-build pandoc perl-generators valgrind-devel python-docutils libnl3 libnl3-devel python3-Cython rm -rf "$GIT_REPOS/irdma-$IRDMA_VERSION" @@ -506,20 +506,13 @@ function install_ice() { curl -L -o- "$ICE_DRIVER" | tar -C "$GIT_REPOS" -xzf - - if [[ $OSID == ubuntu && $OSVERSION == 18.04 ]]; then - if ge "$kernel_ver" 4.15.0-159; then - patch --dir="$GIT_REPOS/ice-$ICE_VERSION" -p1 - fi < "$rootdir/test/common/config/pkgdep/patches/ice/0001-undef-skb-frag-off.patch" + if ge "$kernel_ver" 6.1.0; then + patch --dir="$GIT_REPOS/ice-$ICE_VERSION" -p1 \ + < "$rootdir/test/common/config/pkgdep/patches/ice/0001-ktermios-const.patch" + patch --dir="$GIT_REPOS/ice-$ICE_VERSION" -p1 \ + < "$rootdir/test/common/config/pkgdep/patches/ice/0001-netif-napi-weight.patch" fi - if ge "$kernel_ver" 5.17.0; then - patch --dir="$GIT_REPOS/ice-$ICE_VERSION" -p1 - fi < "$rootdir/test/common/config/pkgdep/patches/ice/0001-ringparam-incompatible-pointer-types.patch" - - if ge "$kernel_ver" 5.19.0; then - patch --dir="$GIT_REPOS/ice-$ICE_VERSION" -p1 - fi < "$rootdir/test/common/config/pkgdep/patches/ice/0001-ext-ack.patch" - ( cd "$GIT_REPOS/ice-$ICE_VERSION/src" sudo make -j"$(nproc)" install @@ -608,8 +601,8 @@ function install_sources() { } GIT_VERSION=2.25.1 -IRDMA_VERSION=1.7.72 -ICE_VERSION=1.8.8 +IRDMA_VERSION=1.11.16.6 +ICE_VERSION=1.10.1.2.2 BPFTRACE_VERSION=${BPFTRACE_VERSION:-36414d9} VFIO_QEMU_BRANCH=${VFIO_QEMU_BRANCH:-vfio-user-patch1-noreq} @@ -639,7 +632,7 @@ export DRIVER_LOCATION_QAT export GIT_REPO_GIT : ${GIT_REPO_DPDK_KMODS=http://dpdk.org/git/dpdk-kmods} export GIT_REPO_DPDK_KMODS -: ${IRDMA_DRIVER=https://downloadmirror.intel.com/709709/irdma-$IRDMA_VERSION.tgz} +: ${IRDMA_DRIVER=https://downloadmirror.intel.com/763932/irdma-$IRDMA_VERSION.tgz} export IRDMA_DRIVER : ${ICE_DRIVER="https://sourceforge.net/projects/e1000/files/ice%20stable/$ICE_VERSION/ice-$ICE_VERSION.tar.gz"} export ICE_DRIVER diff --git a/test/common/config/pkgdep/patches/ice/0001-ext-ack.patch b/test/common/config/pkgdep/patches/ice/0001-ext-ack.patch deleted file mode 100644 index 820bc4e1a..000000000 --- a/test/common/config/pkgdep/patches/ice/0001-ext-ack.patch +++ /dev/null @@ -1,23 +0,0 @@ -This essentially duplicates a portion of the following patch that's already -available in the upstream version of the ice driver: - -https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ca4567f1e6f66 - ---- - src/ice_main.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/ice_main.c b/src/ice_main.c -index ab5e57c..a81502f 100644 ---- a/src/ice_main.c -+++ b/src/ice_main.c -@@ -6951,7 +6951,7 @@ ice_fdb_add(struct ndmsg *ndm, struct nlattr __always_unused *tb[], - static int - ice_fdb_del(struct ndmsg *ndm, __always_unused struct nlattr *tb[], - struct net_device *dev, const unsigned char *addr, -- __always_unused u16 vid) -+ __always_unused u16 vid, struct netlink_ext_ack *extack) - #else - static int - ice_fdb_del(struct ndmsg *ndm, __always_unused struct nlattr *tb[], --- diff --git a/test/common/config/pkgdep/patches/ice/0001-ktermios-const.patch b/test/common/config/pkgdep/patches/ice/0001-ktermios-const.patch new file mode 100644 index 000000000..6c57a42c8 --- /dev/null +++ b/test/common/config/pkgdep/patches/ice/0001-ktermios-const.patch @@ -0,0 +1,21 @@ +https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a8c11c1520347 + +--- + src/ice_gnss.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ice_gnss.c b/src/ice_gnss.c +index f38cbe8..4031f9a 100644 +--- a/src/ice_gnss.c ++++ b/src/ice_gnss.c +@@ -414,7 +414,7 @@ static int ice_gnss_tty_write_room(struct tty_struct *tty) + * @new_termios: pointer to the new termios parameters + */ + static void +-ice_gnss_tty_set_termios(struct tty_struct *tty, struct ktermios *new_termios) ++ice_gnss_tty_set_termios(struct tty_struct *tty, const struct ktermios *new_termios) + { + /** + * Some 3rd party tools (ex. ubxtool) want to change the TTY parameters. +-- + diff --git a/test/common/config/pkgdep/patches/ice/0001-netif-napi-weight.patch b/test/common/config/pkgdep/patches/ice/0001-netif-napi-weight.patch new file mode 100644 index 000000000..d9f72f757 --- /dev/null +++ b/test/common/config/pkgdep/patches/ice/0001-netif-napi-weight.patch @@ -0,0 +1,51 @@ +https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b48b89f9c189d24eb5e2b4a0ac067da5a24ee86d + +--- + src/ice_base.c | 3 +-- + src/ice_eswitch.c | 3 +-- + src/ice_main.c | 2 +- + 3 files changed, 3 insertions(+), 5 deletions(-) + +diff --git a/src/ice_base.c b/src/ice_base.c +index f3cd8dc..1d0115d 100644 +--- a/src/ice_base.c ++++ b/src/ice_base.c +@@ -127,8 +127,7 @@ static int ice_vsi_alloc_q_vector(struct ice_vsi *vsi, u16 v_idx) + * handler here (i.e. resume, reset/rebuild, etc.) + */ + if (vsi->netdev) +- netif_napi_add(vsi->netdev, &q_vector->napi, ice_napi_poll, +- NAPI_POLL_WEIGHT); ++ netif_napi_add(vsi->netdev, &q_vector->napi, ice_napi_poll); + + out: + /* tie q_vector and VSI together */ +diff --git a/src/ice_eswitch.c b/src/ice_eswitch.c +index 06fce56..077804b 100644 +--- a/src/ice_eswitch.c ++++ b/src/ice_eswitch.c +@@ -331,8 +331,7 @@ static int ice_eswitch_setup_reprs(struct ice_pf *pf) + if (max_vsi_num < vsi->vsi_num) + max_vsi_num = vsi->vsi_num; + +- netif_napi_add(vf->repr->netdev, &vf->repr->q_vector->napi, ice_napi_poll, +- NAPI_POLL_WEIGHT); ++ netif_napi_add(vf->repr->netdev, &vf->repr->q_vector->napi, ice_napi_poll); + + netif_keep_dst(vf->repr->netdev); + } +diff --git a/src/ice_main.c b/src/ice_main.c +index bc6e6fa..b805ef3 100644 +--- a/src/ice_main.c ++++ b/src/ice_main.c +@@ -4391,7 +4391,7 @@ static void ice_napi_add(struct ice_vsi *vsi) + + ice_for_each_q_vector(vsi, v_idx) + netif_napi_add(vsi->netdev, &vsi->q_vectors[v_idx]->napi, +- ice_napi_poll, NAPI_POLL_WEIGHT); ++ ice_napi_poll); + } + + /** +-- + diff --git a/test/common/config/pkgdep/patches/ice/0001-ringparam-incompatible-pointer-types.patch b/test/common/config/pkgdep/patches/ice/0001-ringparam-incompatible-pointer-types.patch deleted file mode 100644 index af230a939..000000000 --- a/test/common/config/pkgdep/patches/ice/0001-ringparam-incompatible-pointer-types.patch +++ /dev/null @@ -1,31 +0,0 @@ -Fix incompatible-pointer-types error raised due to changes in more recent kernels (5.17) -in ringparam API. - -https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7462494408cd3de8b0bc1e79670bf213288501d0 ---- - src/ice_ethtool.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/ice_ethtool.c b/src/ice_ethtool.c -index f855968..d92f67b 100644 ---- a/src/ice_ethtool.c -+++ b/src/ice_ethtool.c -@@ -4511,7 +4511,7 @@ ice_get_rxnfc(struct net_device *netdev, struct ethtool_rxnfc *cmd, - } - - static void --ice_get_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring) -+ice_get_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring, struct kernel_ethtool_ringparam __maybe_unused *ker, struct netlink_ext_ack __maybe_unused *ext_ack) - { - struct ice_netdev_priv *np = netdev_priv(netdev); - struct ice_vsi *vsi = np->vsi; -@@ -4529,7 +4529,7 @@ ice_get_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring) - } - - static int --ice_set_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring) -+ice_set_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring, struct kernel_ethtool_ringparam __maybe_unused *ker, struct netlink_ext_ack __maybe_unused *ext_ack) - { - struct ice_ring *tx_rings = NULL, *rx_rings = NULL; - struct ice_netdev_priv *np = netdev_priv(netdev); --- diff --git a/test/common/config/pkgdep/patches/ice/0001-undef-skb-frag-off.patch b/test/common/config/pkgdep/patches/ice/0001-undef-skb-frag-off.patch deleted file mode 100644 index 784e386b3..000000000 --- a/test/common/config/pkgdep/patches/ice/0001-undef-skb-frag-off.patch +++ /dev/null @@ -1,29 +0,0 @@ -Current versions of the ice driver redifine skb_frag_off*() on older kernels -(< 5.4.0). Unfortunately, ubuntu1804 kernel builds, 4.15, include this change -hence gcc complains with: - - kcompat_impl.h:46:28: error: redefinition of ‘skb_frag_off’ - -This patch is meant to be used on a particular version of ubuntu to make sure -the driver can be built against the shipped kernel. - -Details: -https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7240b60c98d6 - ---- - src/kcompat_impl.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/kcompat_impl.h b/src/kcompat_impl.h -index 10d268c..715ce2a 100644 ---- a/src/kcompat_impl.h -+++ b/src/kcompat_impl.h -@@ -42,6 +42,7 @@ static inline void net_prefetch(void *p) - * Implementing the wrappers directly for older kernels which still have the - * old implementation of skb_frag_t is trivial. - */ -+#undef NEED_SKB_FRAG_OFF_ACCESSORS - #ifdef NEED_SKB_FRAG_OFF_ACCESSORS - static inline unsigned int skb_frag_off(const skb_frag_t *frag) - { ---