Hi Amir, On Mon, 21 Nov 2022 16:08:35 +0000 Amir Gonnen <amir.gonnen(a)neuroblade.com> wrote:Hi, I'm trying out passt with custom QEMU (we emulate a proprietary device). On one terminal I'm running latest passt (3eb26fe): ./passt --debug -f -t 55556:22 -s /tmp/passt.socket On another terminal I'm running our qemu-system-x86_64 with: -device virtio-net-pci,netdev=net0 -netdev stream,id=net0,server=off,addr.type=unix,addr.path=/tmp/passt.socket QEMU starts and the VM boots, but without network: [FAILED] Failed to start NetworkMan...[0m - Network Manager Wait Online.I would have a look into this first -- check NetworkManager logs (and traffic capture, more below) and try to figure out why the network isn't being configured -- passt implements a DHCP server, and it seems to be configured given your output.On passt side I see this log: No external routable interface for IPv6 Outbound interface (IPv4): ens160 MAC: host: 00:50:56:87:50:45 DHCP: assign: 192.168.120.119 mask: 255.255.255.0 router: 192.168.120.1 DNS: 192.168.3.240 0.8229: UNIX domain socket bound at /tmp/passt.socket 0.8245: You can now start qemu (>= 7.2, with commit 13c6be96618c): 0.8247: kvm ... -device virtio-net-pci,netdev=s -netdev stream,id=s,server=off,addr.type=unix,addr.path=/tmp/passt.socket 0.8250: or qrap, for earlier qemu versions: 0.8252: ./qrap 5 kvm ... -net socket,fd=5 -net nic,model=virtio 143.3596: accepted connection from PID 1704978 144.3168: TCP: index 0, SOCK_ACCEPTED: CLOSED -> SYN_RCVD 144.3168: TCP: hash table insert: index 0, sock 41, bucket: 59909, next: (nil) 144.3169: TCP: index 0: ACK_FROM_TAP_DUE 144.3170: TCP: index 0, timer expires in 10.000s 154.3170: TCP: index 0, handshake timeout 154.3170: TCP: index 0, reset at tcp_timer_handler:2965 154.3170: TCP: index 0, CLOSED: SYN_RCVD -> CLOSED 154.3171: TCP: hash table remove: index 0, sock 41, bucket: 59909, new: (nil) 154.3172: TCP: hash table compaction: maximum index was 0 (0x5600919ac500) 159.3257: TCP: index 0, SOCK_ACCEPTED: CLOSED -> SYN_RCVD 159.3257: TCP: hash table insert: index 0, sock 41, bucket: 134652, next: (nil) 159.3258: TCP: index 0: ACK_FROM_TAP_DUE 159.3258: TCP: index 0, timer expires in 10.000s 169.3258: TCP: index 0, handshake timeout 169.3258: TCP: index 0, reset at tcp_timer_handler:2965 169.3259: TCP: index 0, CLOSED: SYN_RCVD -> CLOSED 169.3259: TCP: hash table remove: index 0, sock 41, bucket: 134652, new: (nil) 169.3259: TCP: hash table compaction: maximum index was 0 (0x5600919ac500) 174.3371: TCP: index 0, SOCK_ACCEPTED: CLOSED -> SYN_RCVD ... Looks like a handshake timeout.Yes, and I would expect that to happen if the guest has no configured network: passt will send packets but your SSH daemon won't answer. Other than checking NetworkManager logs for DHCP issues, you can also use the --pcap option in passt: ./passt --pcap guest.pcap --debug -f -t 55556:22 -s /tmp/passt.socket guest.pcap will contain a guest-side packet capture in pcap format (readable with e.g. Wireshark).Am I doing something wrong?I don't know yet. :) -- Stefano