Started testing DPDK support of Hyper-V in Fedora and discovered that it doesn't work. Looks like the multiq qdisc is not in the default Fedora kernel configuration. Hopefully CentOS/RHEL don't have the same problem.
Not sure why SCH_MULTIQ is in the shipped kernel config files but not present. Looks like a Fedora build or packaging issue. # grep MULTIQ /boot/config* /boot/config-4.18.13-200.fc28.x86_64:CONFIG_NET_SCH_MULTIQ=m /boot/config-4.18.18-200.fc28.x86_64:CONFIG_NET_SCH_MULTIQ=m /boot/config-4.19.2-200.fc28.x86_64:CONFIG_NET_SCH_MULTIQ=m # modinfo sch_multiq modinfo: ERROR: Module sch_multiq not found. Testpmd log is: # dpdk-testpmd --log-level 8 --log-level 'pmd.net.failsafe:debug' -l 1,2 -n 4 -- -i EAL: Detected 4 lcore(s) EAL: Detected 1 NUMA nodes EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: No free hugepages reported in hugepages-1048576kB EAL: Probing VFIO support... EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using unreliable clock cycles ! EAL: PCI device a1e0:00:02.0 on NUMA socket 0 EAL: probe driver: 15b3:1014 net_mlx5 net_mlx5: MPLS over GRE/UDP tunnel offloading disabled due to old OFED/rdma-core version or firmware configuration net_failsafe: Initializing Fail-safe PMD for net_failsafe_vsc0 net_failsafe: Creating fail-safe device on NUMA socket 0 net_failsafe: a1e0:00:02.0 net_failsafe: net_tap_vsc0,remote=eth1 net_failsafe: Failsafe port 1 owner info: Fail-safe_0000000000000001 net_failsafe: Taking control of a probed sub device 0 named a1e0:00:02.0 rte_pmd_tap_probe(): Initializing pmd_tap for net_tap_vsc0 as dtap0 qdisc_create_multiq(): Could not add multiq qdisc (2): No such file or directory eth_dev_tap_create(): dtap0: failed to create multiq qdisc. eth_dev_tap_create(): Disabling rte flow support: No such file or directory(2) eth_dev_tap_create(): Remote feature requires flow support. eth_dev_tap_create(): TAP Unable to initialize net_tap_vsc0 EAL: Driver cannot attach the device (net_tap_vsc0) EAL: Failed to attach device on primary process