public inbox for passt-user@passt.top
 help / color / mirror / Atom feed
* Handshake timeout?
@ 2022-11-21 16:08 Amir Gonnen
  2022-11-21 16:20 ` Stefano Brivio
  0 siblings, 1 reply; 2+ messages in thread
From: Amir Gonnen @ 2022-11-21 16:08 UTC (permalink / raw)
  To: passt-user, Stefano Brivio

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.

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.
Am I doing something wrong?

Thanks,
Amir



The contents of this email message and any attachments are intended solely for the addressee(s) and may contain confidential and/or privileged information and may be legally protected from disclosure. If you are not the intended recipient of this message or their agent, or if this message has been addressed to you in error, please immediately alert the sender by reply email and then delete this message and any attachments. If you are not the intended recipient, you are hereby notified that any use, dissemination, copying, or storage of this message or its attachments is strictly prohibited.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Handshake timeout?
  2022-11-21 16:08 Handshake timeout? Amir Gonnen
@ 2022-11-21 16:20 ` Stefano Brivio
  0 siblings, 0 replies; 2+ messages in thread
From: Stefano Brivio @ 2022-11-21 16:20 UTC (permalink / raw)
  To: Amir Gonnen; +Cc: passt-user

Hi Amir,

On Mon, 21 Nov 2022 16:08:35 +0000
Amir Gonnen <amir.gonnen@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


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-11-21 16:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-21 16:08 Handshake timeout? Amir Gonnen
2022-11-21 16:20 ` Stefano Brivio

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).