The problem is a regression in 4.20 kernel. Bisecting now. The kernel in 4.19.7 works.
Failure with logging is: $ sudo ./testpmd -l 0-1 -n2 --log-level=8 --log-level='pmd.*,8' --log-level='bus.vmbus,8' -- --port-topology=chained --forward-mode=rxonly --stats-period 1 --eth-peer=0,00:15:5d:1e:20:c0 --txq 2 --rxq 2 EAL: Detected 4 lcore(s) EAL: Detected 1 NUMA nodes EAL: Multi-process socket /var/run/dpdk/rte/mp_socket vmbus_scan_one(): Adding vmbus device 2dd1ce17-079e-403c-b352-a1921ee207ee vmbus_scan_one(): Adding vmbus device 635a7ae3-091e-4410-ad59-667c4f8c04c3 vmbus_scan_one(): Adding vmbus device 58f75a6d-d949-4320-99e1-a2a2576d581c vmbus_scan_one(): Adding vmbus device 242ff919-07db-4180-9c2e-b86cb68c8c55 vmbus_scan_one(): Adding vmbus device 7cb9f65d-684d-44dc-9d55-13d40dd60570 vmbus_scan_one(): Adding vmbus device a6dcdcb3-c4da-445a-bc12-9050eb9cebfc vmbus_scan_one(): Adding vmbus device 2450ee40-33bf-4fbd-892e-9fb06e9214cf vmbus_scan_one(): Adding vmbus device 99221fa0-24ad-11e2-be98-001aa01bbf6e vmbus_scan_one(): Adding vmbus device d34b2567-b9b6-42b9-8778-0a4ec0b955bf vmbus_scan_one(): Adding vmbus device fd149e91-82e0-4a7d-afa6-2a4166cbd7c0 vmbus_scan_one(): Adding vmbus device b6650ff7-33bc-4840-8048-e0676786f393 vmbus_scan_one(): Adding vmbus device 5620e0c7-8062-4dce-aeb7-520c7ef76171 vmbus_scan_one(): Adding vmbus device 1eccfd72-4b41-45ef-b73a-4a6e44c12924 vmbus_scan_one(): Adding vmbus device 4487b255-b88c-403f-bb51-d1f69cf17f87 vmbus_scan_one(): Adding vmbus device b5fa4c59-1916-4725-935f-5c8d09d596c5 vmbus_scan_one(): Adding vmbus device b30ed368-1a6f-4921-8d2b-4160a0dfc667 vmbus_scan_one(): Adding vmbus device f5bee29c-1741-4aad-a4c2-8fdedb46dcc2 EAL: Probing VFIO support... EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using unreliable clock cycles ! EAL: PCI device 935f:00:02.0 on NUMA socket 0 EAL: probe driver: 15b3:1014 net_mlx5 net_mlx5: checking device "mlx5_0" net_mlx5: PCI information matches for device "mlx5_0" net_mlx5: no switch support detected net_mlx5: MPW isn't supported net_mlx5: SWP support: 0 net_mlx5: tunnel offloading is supported net_mlx5: MPLS over GRE/UDP tunnel offloading disabled due to old OFED/rdma-core version or firmware configuration net_mlx5: naming Ethernet device "935f:00:02.0" net_mlx5: port is not active: "down" (1) net_mlx5: checksum offloading is supported net_mlx5: counters are not supported net_mlx5: maximum Rx indirection table size is 512 net_mlx5: VLAN stripping is supported net_mlx5: FCS stripping configuration is supported net_mlx5: hardware Rx end alignment padding is not supported net_mlx5: MPS is disabled net_mlx5: port 0 reserved UAR address space: 0x7f346659e000 net_mlx5: port 0 MAC address is 00:15:5d:2a:16:66 net_mlx5: port 0 MTU is 1500 net_mlx5: port 0 forcing Ethernet interface up net_mlx5: port 0 flow maximum priority: 5 vmbus_probe_one_driver(): VMBUS device 635a7ae3-091e-4410-ad59-667c4f8c04c3 on NUMA socket 0 vmbus_probe_one_driver(): probe driver: net_netvsc eth_hn_probe(): >> eth_hn_dev_init(): >> hn_nvs_init(): NVS version 0x60001, NDIS version 6.30 hn_nvs_conn_rxbuf(): connect rxbuff va=0x2200402000 gpad=0xe1e2d hn_nvs_conn_rxbuf(): receive buffer size 1728 count 18811 hn_nvs_conn_chim(): connect send buf va=0x2202302000 gpad=0xe1e2e hn_nvs_conn_chim(): send buffer 16777216 section size:6144, count:2730 hn_nvs_handle_vfassoc(): VF serial 2 add to port 1 hn_rndis_init(): RNDIS ver 1.0, aggpkt size 4026531839, aggpkt cnt 8, aggpkt align 8 hn_rndis_link_status(): link status 0x4001000b hn_rndis_set_rxfilter(): set RX filter 0 done hn_tx_pool_init(): create a TX send pool hn_txd_1 n=2730 size=32 socket=0 hn_rndis_get_eaddr(): MAC address 00:15:5d:2a:16:66 eth_hn_dev_init(): VMBus max channels 64 hn_rndis_query_rsscaps(): RX rings 64 indirect 128 caps 0x301 eth_hn_dev_init(): Adding VF device hn_vf_attach(): Attach VF device 0 hn_nvs_set_datapath(): set datapath VF vmbus_probe_one_driver(): VMBUS device 7cb9f65d-684d-44dc-9d55-13d40dd60570 on NUMA socket 0 rte_vmbus_map_device(): Not managed by UIO driver, skipped vmbus_probe_one_driver(): VMBUS device b30ed368-1a6f-4921-8d2b-4160a0dfc667 on NUMA socket 0 rte_vmbus_map_device(): Not managed by UIO driver, skipped Set rxonly packet forwarding mode testpmd: create a new mbuf pool <mbuf_pool_socket_0>: n=155456, size=2176, socket=0 testpmd: preferred mempool ops selected: ring_mp_mc Configuring Port 1 (socket 0) hn_dev_configure(): >> hn_rndis_link_status(): link status 0x40020006 hn_subchan_configure(): open 1 subchannels vmbus_uio_get_subchan(): ring mmap not found (yet) for: 21 vmbus_uio_get_subchan(): ring mmap not found (yet) for: 22 vmbus_uio_get_subchan(): ring mmap not found (yet) for: 20 vmbus_uio_get_subchan(): ring mmap not found (yet) for: 21 vmbus_uio_get_subchan(): ring mmap not found (yet) for: 22 vmbus_uio_get_subchan(): ring mmap not found (yet) for: 20 vmbus_uio_get_subchan(): ring mmap not found (yet) for: 21 vmbus_uio_get_subchan(): ring mmap not found (yet) for: 22 vmbus_uio_get_subchan(): ring mmap not found (yet) for: 20 vmbus_uio_get_subchan(): ring mmap not found (yet) for: 21 vmbus_uio_get_subchan(): ring mmap not found (yet) for: 22 vmbus_uio_get_subchan(): ring mmap not found (yet) for: 20