Well its been a long time since I have coded anything in c and time is a factor (as I just don't have any to spare). I'll have to figure something else out for it. The modifications would be more than net/socket.c, as the client connects to the tcp server/listener and when it goes away, there is nothing in TCP to tell it it went away. There would have to be a keepalive mechanism put into both the client and the server to know when to tear down a connection and then another function to start connection establishment/retries. This is why the UDP method of doing connections in earlier versions of qemu worked so well and I wish we would bring it back. It didn't worry about state. Thanks anyway.
Tim On Wed, Sep 25, 2013 at 4:10 AM, Stefan Hajnoczi <stefa...@gmail.com> wrote: > On Tue, Sep 24, 2013 at 03:55:04PM -0400, Tim Epkes wrote: > > I just tested the most recent version of qemu (1.4). I have 2 virtual > > images back to back via a tcp socket. They can ping eachother, but when > I > > down the listener and bring it back up (meaning killing the kvm and > > relaunching) it cannot ping anymore. The connector never retries to > > connect. This is the most viable solution for the LLDP and ISIS issues. > > If the VDE bridge forwards LLDP then that might be your best bet: > http://vde.sourceforge.net/ > > The VDE bridge process stays alive. VMs can come and go. > > Or if you're able and willing to modify net/socket.c you could add > reconnect logic. > > Stefan >