[Pkg-dpdk-devel] Bug#979489: dpdk: reduce pre dependencies of systemd service

Felix Moessbauer felix.moessbauer at siemens.com
Thu Jan 7 09:53:08 GMT 2021


Package: dpdk
Version: 19.11-4~bpo10+1
Severity: normal

Dear Maintainer,

the dpdk systemd service has a pre-dependency that clashes with the openvswitch-nonetwork service
from the openvswitch-switch package for OpenStack. [1]

The dpdk.service requires "After=network-pre.target local-fs.target".
This is problematic, as it clashes with the openvswitch-nonetwork "Before=network-pre.target" and creates a dependency cycle.
However, when DPDK support is enabled in OVS (via configuration), dpdk.service becomes a startup After= dependency.
This cannot be easily solved on OVS side, as OVS must start before network-pre so that is can configure the network itself.
This issue had been discussed upstream: [2]

A possible solution would be to remove the network-pre.target dependency in the dpdk service.
I successfully run this patch on a number of systems (I also use the service to bind the network devices).

[1]: https://salsa.debian.org/openstack-team/third-party/openvswitch/-/blob/debian/victoria/debian/openvswitch-switch.openvswitch-nonetwork.service#L5
[2]: https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/1448254

-- System Information:
Debian Release: 10.7
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-13-rt-amd64 (SMP w/22 CPU cores; PREEMPT)
Kernel taint flags: TAINT_WARN
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages dpdk depends on:
ii  hwdata    0.290-1
ii  lsb-base  10.2019051400
ii  pciutils  1:3.5.2-1
ii  python3   3.7.3-1

Versions of packages dpdk recommends:
ii  librte-mempool-ring20.0     19.11-4~bpo10+1
ii  librte-mempool20.0          19.11-4~bpo10+1
ii  librte-pmd-af-packet20.0    19.11-4~bpo10+1
ii  librte-pmd-bond20.0         19.11-4~bpo10+1
ii  librte-pmd-e1000-20.0       19.11-4~bpo10+1
ii  librte-pmd-fm10k20.0        19.11-4~bpo10+1
ii  librte-pmd-i40e20.0         19.11-4~bpo10+1
ii  librte-pmd-ixgbe20.0        19.11-4~bpo10+1
ii  librte-pmd-kni20.0          19.11-4~bpo10+1
ii  librte-pmd-mlx4-20.0        19.11-4~bpo10+1
ii  librte-pmd-mlx5-20.0        19.11-4~bpo10+1
ii  librte-pmd-netvsc20.0       19.11-4~bpo10+1
ii  librte-pmd-pcap20.0         19.11-4~bpo10+1
ii  librte-pmd-tap20.0          19.11-4~bpo10+1
ii  librte-pmd-thunderx20.0     19.11-4~bpo10+1
ii  librte-pmd-vdev-netvsc20.0  19.11-4~bpo10+1
ii  librte-pmd-vhost20.0        19.11-4~bpo10+1
ii  librte-pmd-virtio20.0       19.11-4~bpo10+1
ii  librte-pmd-vmxnet3-20.0     19.11-4~bpo10+1
ii  python3-pyelftools          0.25-2

Versions of packages dpdk suggests:
pn  dpdk-doc                           <none>
pn  dpdk-igb-uio-dkms                  <none>
ii  librte-mempool-bucket20.0          19.11-4~bpo10+1
ii  librte-mempool-dpaa2-20.0          19.11-4~bpo10+1
ii  librte-mempool-dpaa20.0            19.11-4~bpo10+1
ii  librte-mempool-octeontx2-20.0      19.11-4~bpo10+1
ii  librte-mempool-octeontx20.0        19.11-4~bpo10+1
ii  librte-mempool-ring20.0            19.11-4~bpo10+1
ii  librte-mempool-stack20.0           19.11-4~bpo10+1
ii  librte-mempool20.0                 19.11-4~bpo10+1
ii  librte-pmd-aesni-gcm20.0           19.11-4~bpo10+1
ii  librte-pmd-aesni-mb20.0            19.11-4~bpo10+1
ii  librte-pmd-af-packet20.0           19.11-4~bpo10+1
ii  librte-pmd-af-xdp20.0              19.11-4~bpo10+1
ii  librte-pmd-ark20.0                 19.11-4~bpo10+1
ii  librte-pmd-atlantic20.0            19.11-4~bpo10+1
ii  librte-pmd-avp20.0                 19.11-4~bpo10+1
ii  librte-pmd-axgbe20.0               19.11-4~bpo10+1
ii  librte-pmd-bbdev-fpga-lte-fec20.0  19.11-4~bpo10+1
ii  librte-pmd-bbdev-null20.0          19.11-4~bpo10+1
ii  librte-pmd-bbdev-turbo-sw20.0      19.11-4~bpo10+1
ii  librte-pmd-bnx2x20.0               19.11-4~bpo10+1
ii  librte-pmd-bnxt20.0                19.11-4~bpo10+1
ii  librte-pmd-bond20.0                19.11-4~bpo10+1
ii  librte-pmd-caam-jr20.0             19.11-4~bpo10+1
ii  librte-pmd-ccp20.0                 19.11-4~bpo10+1
ii  librte-pmd-crypto-scheduler20.0    19.11-4~bpo10+1
ii  librte-pmd-cxgbe20.0               19.11-4~bpo10+1
ii  librte-pmd-dpaa-event20.0          19.11-4~bpo10+1
ii  librte-pmd-dpaa-sec20.0            19.11-4~bpo10+1
ii  librte-pmd-dpaa2-20.0              19.11-4~bpo10+1
ii  librte-pmd-dpaa2-event20.0         19.11-4~bpo10+1
ii  librte-pmd-dpaa2-sec20.0           19.11-4~bpo10+1
ii  librte-pmd-dpaa20.0                19.11-4~bpo10+1
ii  librte-pmd-dsw-event20.0           19.11-4~bpo10+1
ii  librte-pmd-e1000-20.0              19.11-4~bpo10+1
ii  librte-pmd-ena20.0                 19.11-4~bpo10+1
ii  librte-pmd-enetc20.0               19.11-4~bpo10+1
ii  librte-pmd-enic20.0                19.11-4~bpo10+1
ii  librte-pmd-failsafe20.0            19.11-4~bpo10+1
ii  librte-pmd-fm10k20.0               19.11-4~bpo10+1
ii  librte-pmd-hinic20.0               19.11-4~bpo10+1
ii  librte-pmd-hns3-20.0               19.11-4~bpo10+1
ii  librte-pmd-i40e20.0                19.11-4~bpo10+1
ii  librte-pmd-iavf20.0                19.11-4~bpo10+1
ii  librte-pmd-ice20.0                 19.11-4~bpo10+1
ii  librte-pmd-ifc20.0                 19.11-4~bpo10+1
ii  librte-pmd-isal20.0                19.11-4~bpo10+1
ii  librte-pmd-ixgbe20.0               19.11-4~bpo10+1
ii  librte-pmd-kni20.0                 19.11-4~bpo10+1
ii  librte-pmd-liquidio20.0            19.11-4~bpo10+1
ii  librte-pmd-memif20.0               19.11-4~bpo10+1
ii  librte-pmd-mlx4-20.0               19.11-4~bpo10+1
ii  librte-pmd-mlx5-20.0               19.11-4~bpo10+1
ii  librte-pmd-netvsc20.0              19.11-4~bpo10+1
ii  librte-pmd-nfp20.0                 19.11-4~bpo10+1
ii  librte-pmd-nitrox20.0              19.11-4~bpo10+1
ii  librte-pmd-null-crypto20.0         19.11-4~bpo10+1
ii  librte-pmd-null20.0                19.11-4~bpo10+1
ii  librte-pmd-octeontx-compress20.0   19.11-4~bpo10+1
ii  librte-pmd-octeontx-crypto20.0     19.11-4~bpo10+1
ii  librte-pmd-octeontx-event20.0      19.11-4~bpo10+1
ii  librte-pmd-octeontx2-20.0          19.11-4~bpo10+1
ii  librte-pmd-octeontx2-crypto20.0    19.11-4~bpo10+1
ii  librte-pmd-octeontx2-event20.0     19.11-4~bpo10+1
ii  librte-pmd-octeontx20.0            19.11-4~bpo10+1
ii  librte-pmd-opdl-event20.0          19.11-4~bpo10+1
ii  librte-pmd-openssl20.0             19.11-4~bpo10+1
ii  librte-pmd-pcap20.0                19.11-4~bpo10+1
ii  librte-pmd-pfe20.0                 19.11-4~bpo10+1
ii  librte-pmd-qat20.0                 19.11-4~bpo10+1
ii  librte-pmd-qede20.0                19.11-4~bpo10+1
ii  librte-pmd-ring20.0                19.11-4~bpo10+1
ii  librte-pmd-sfc20.0                 19.11-4~bpo10+1
ii  librte-pmd-skeleton-event20.0      19.11-4~bpo10+1
ii  librte-pmd-softnic20.0             19.11-4~bpo10+1
ii  librte-pmd-sw-event20.0            19.11-4~bpo10+1
ii  librte-pmd-tap20.0                 19.11-4~bpo10+1
ii  librte-pmd-thunderx20.0            19.11-4~bpo10+1
ii  librte-pmd-vdev-netvsc20.0         19.11-4~bpo10+1
ii  librte-pmd-vhost20.0               19.11-4~bpo10+1
ii  librte-pmd-virtio-crypto20.0       19.11-4~bpo10+1
ii  librte-pmd-virtio20.0              19.11-4~bpo10+1
ii  librte-pmd-vmxnet3-20.0            19.11-4~bpo10+1
ii  librte-pmd-zlib20.0                19.11-4~bpo10+1
pn  linux-image-generic                <none>

-- no debconf information



More information about the Pkg-dpdk-devel mailing list