On 03/18/2013 05:03 PM, Gene Czarcinski wrote:
OK, my skill with python is somewhere between zero and none but such a
handicap has never deterred me before. Therefore, I am going to
attempt to add IPv6 support for virtual networks to virt-manager.
1. It appears that the interface code has full IPv6 support so that
might provide a guide as to how to do things.
2. If only the network code had used prefixes and stayed away from
netmask for IPv4, basic support for IPv6 might have been a simple.
3. The IPy.py module is a bit out-of-date (if that matters) and lacks
one or two functions. I will need to add the functionality and/or
replace IPy.py with the supported pyton-ipaddr module. There is also
an ipaddress module in python3. Using something with support is
usually better but it will require changing much more code. For a
while, both IPy.py and ipaddr may be in use.
4. My initial goal to to have virt-manager/connections not "die" when
an IPv6 address appears in a network definition. That and being able
to start, stop, delete, and enable at boot ... creation will be later.
5. Right now, libvirt wants an IPv6 address specified and not an IPv6
network. The address is needed most of the time so that dnsmasq can
run as a dns, dhcpv6 and RA server. vm/connections wants a IPv6
network specification ... that is, the prefix applied so that all the
"lower" bits are set to zero.
6. I will be using the gtk3.2 branch for this development.
Comment, suggestions, or whatever ??
OK, some initial reactions/comments ...
1. IPy.py is going to go away and the python-ipaddr will be used in its
place.
2. The problem is not IPv6 so much as it is xml. virt-manager is not
doing a real good job of scanning the network xml because it only picks
up the first <ip> definition.
3. There is also the glade-gui interface and here I could use some
advice/direction. There are at least four ways I could do it:
a) Add another section to the vbox and list IPv6 Configuration the
same as IPv4.
b) Make it a tabbed (notebook) subpanel.
c) Use drop-downs like what is done for interface.
d) Create a tree-display on the fly (this may have the advantage of
being able to handle more than 2 IPs.
BTW, there are other types of IP specifications such as dhcp-host and
the (pending) new libvirt capability to add ip-route specifications to
the virtual-network-bridge.
Gene
_______________________________________________
virt-tools-list mailing list
virt-tools-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/virt-tools-list