aboutgitcodebugslistschat
path: root/doc
diff options
context:
space:
mode:
authorVolker Diels-Grabsch <v@njh.eu>2025-09-16 21:21:15 +0200
committerStefano Brivio <sbrivio@redhat.com>2025-09-17 13:51:28 +0200
commite2920e36f65f333af5d217933dc04f32947bb028 (patch)
treed6649d3f2beffa79e6f8ea23db62bfaa55f6fa62 /doc
parent142b3d872b7cd58391f59fa34f6ed399e72aaaf9 (diff)
downloadpasst-e2920e36f65f333af5d217933dc04f32947bb028.tar
passt-e2920e36f65f333af5d217933dc04f32947bb028.tar.gz
passt-e2920e36f65f333af5d217933dc04f32947bb028.tar.bz2
passt-e2920e36f65f333af5d217933dc04f32947bb028.tar.lz
passt-e2920e36f65f333af5d217933dc04f32947bb028.tar.xz
passt-e2920e36f65f333af5d217933dc04f32947bb028.tar.zst
passt-e2920e36f65f333af5d217933dc04f32947bb028.zip
Send an initial ARP and NDP request to resolve the guest IP address
When restarting passt while QEMU keeps running with a configured "reconnect-ms" setting, the port forwardings will stop working until the guest sends some outgoing network traffic. Reason: Although QEMU reconnects successfully to the unix domain socket of the new passt process, that one no longer knows the guest's MAC address and uses instead the broadcast MAC address. However, this is ignored by the guest, at least if the guest runs Linux. Only after the guest sends some network package on its own initiative, passt will know the MAC address and will be able to establish forwarded connections. This change fixes this issue by sending an ARP and an NDP request to resolve the guest's MAC address via its IPv4 and IPv6 address, which we do know, right after the unix domain socket (re)connection. The only case where the IP is "wrong" would be if the configuration changed, or on the very first start right after qemu started. But in those cases, we just wouldn't get an ARP/NDP response, and can't do anything until we receive the guest's DHCP request - just as before. In other words, in the worst case the ARP/NDP requests would be harmless. Signed-off-by: Volker Diels-Grabsch <v@njh.eu> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'doc')
0 files changed, 0 insertions, 0 deletions