On Fri, 2007-03-02 at 17:15 +0000, Daniel P. Berrange wrote: > On Mon, Feb 26, 2007 at 04:09:58PM +0000, Mark McLoughlin wrote: > > So, we want to install a default network which guests can connect to. > > This can be seen as e.g. a replacement for xenbr0 as the default bridge > > for xen guests. > > > 2) IP address choice - I've randomly chosen 192.168.122.1/24 as the > > IP address for the network, and this could happen to clash with > > an existing network. > > Oh, the default network needs to provide IPv6 support out of the box > too - whatever that entails ? Right, whatever that entails :-) So, we had two primary motivations for creating virtual networks: 1) Offline support - i.e. support inter-domain communication even when offline 2) Network switching - e.g. switching your laptop between different wireless networks However, with IPv6, the combination of link-local addresses, address auto-configuration and network renumbering should largely eliminate these problems. The conclusion then is that you mostly do want bridging with IPv6 - i.e. you want to bridge all guests onto your physical network whereby they will auto-configure using router advertisements on the physical link. One could imagine us allowing IPv6 virtual networks, where Dom0 acts as a proper IPv6 router advertising a delegated prefix to guest domains, but I'm not sure why that would be useful to people. The question, though, is how to make IPv6 available to guests which are connected to a virtual network out of a need for e.g. offline support. You still want NAT etc. for IPv4, but what to do about IPv6? The analogy, I think, is what would happen if your DSL provider statically allocated an IPv6 prefix to you while still also dynamically allocating an IPv4 address to you. You want to NAT IPv4 traffic using the IPv4 address, but you want your IPv6 traffic to be bridged to the IPv6 over PPP link in order to e.g. get router advertisements from the ISP end. That leads to the rather ugly conclusion that we should bridge IPv6 traffic from the virtual network to the physical interface, while still forwarding IPv4 traffic using NAT. In order to do that, we're going to need a) "shared physical interface" configuration i.e. a per-interface flag that determines whether other interfaces are allowed to bridge to it, b) an ipv6-only loopback interface for connecting the virtual network's bridge to the shared physical interface's bridge and c) a way for libvirtd to automatically switch the the virtual network's bridge to the currently active physical interface. That's all pretty far out stuff. In the mean time, I think all we can do is add an "ipv6 enabled" flag which would just ensure that the virtual networks interface in Dom0 has a link-local address. Any thoughts on all this are most welcome. Cheers, Mark.