Sys::Virt::Network - Represent & manage a libvirt virtual
network
The "Sys::Virt::Network" module
represents a virtual network managed by the virtual machine monitor.
- my $uuid =
$net->get_uuid()
- Returns a 16 byte long string containing the raw globally unique
identifier (UUID) for the network.
- my $uuid =
$net->get_uuid_string()
- Returns a printable string representation of the raw UUID, in the format
'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'.
- my $name =
$net->get_name()
- Returns a string with a locally unique name of the network
- $net->is_active()
- Returns a true value if the network is currently running
- $net->is_persistent()
- Returns a true value if the network has a persistent configuration file
defined
- my $xml =
$net->get_xml_description()
- Returns an XML document containing a complete description of the network's
configuration
- $net->create()
- Start a network whose configuration was previously defined using the
"define_network" method in
Sys::Virt.
- $net->undefine()
- Remove the configuration associated with a network previously defined with
the "define_network" method in
Sys::Virt. If the network is running, you probably want to use the
"shutdown" or
"destroy" methods instead.
- $net->destroy()
- Immediately terminate the machine, and remove it from the virtual machine
monitor. The $net handle is invalid after this
call completes and should not be used again.
- $net->update($command, $section, $parentIndex, $xml, $flags=0)
- Update the network configuration with $xml. The
$section parameter, which must be one of the XML
SECTION CONSTANTS listed later, indicates what schema is used in
$xml. The $command
parameter determines what action is taken. Finally, the
$flags parameter can be use to control which
config is affected.
- $net->get_bridge_name()
- Return the name of the bridge device associated with the virtual
network
- $flag = $net->get_autostart();
- Return a true value if the virtual network is configured to automatically
start upon boot. Return false, otherwise
- $net->set_autostart($flag)
- Set the state of the autostart flag, which determines whether the virtual
network will automatically start upon boot of the host OS.
- @leases = $net->get_dhcp_leases($mac=undef, $flags=0)
- Get a list of all active DHCP leases. If $mac is
undefined than leases for all VMs are returned, otherwise only leases for
the matching MAC address are returned. The $flags
parameter is currently unused and defaults to zero.
The elements in the returned array are hash references with
the following fields
- "iface"
- Network interface name
- "expirytime"
- Seconds since the epoch until the lease expires
- "type"
- One of the Sys::Virt IP address type constants
- "mac"
- The MAC address of the lease
- "iaid"
- The IAID of the client
- "ipaddr"
- The IP address of the lease
- "prefix"
- The IP address prefix
- "hostname"
- The optional hostname associated with the lease
- "clientid"
- The client ID or DUID
- @port = $net->list_all_ports($flags=0)
- List all ports associated with the network. The return array elements are
instances of the
"Sys::Virt::NetworkPort" class.
- $port = $net->create_port($xml, $flags=0)
- Create a new network port from the given $xml
description. The $flags parameter can optionally
taken one or more of the network port creation constants. The returned
$port object is an instance of the
"Sys::Virt::NetworkPort" class.
- $port = $net->get_port_by_uuid($uuid);
- Lookup a network port from a raw or printable UUID. The returned
$port object is an instance of the
"Sys::Virt::NetworkPort" class.
- my $str =
$net->get_metadata($type, $uri, $flags =0)
- Returns the metadata element of type $type
associated with the network. If $type is
"Sys::Virt::Network::METADATA_ELEMENT"
then the $uri parameter specifies the XML
namespace to retrieve, otherwise $uri should be
"undef". The optional
$flags parameter takes one of the XML UPDATE FLAGS
values, and defaults to zero.
- $net->set_metadata($type, $val, $key, $uri, $flags=0)
- Sets the metadata element of type $type to hold
the value $val. If $type
is
"Sys::Virt::Network::METADATA_ELEMENT"
then the $key and $uri
elements specify an XML namespace to use, otherwise they should both be
"undef". The optional
$flags parameter takes one of the XML UPDATE FLAGS
values, and defaults to zero.
This section documents constants that are used with various APIs
described above
Daniel P. Berrange <berrange@redhat.com>
Copyright (C) 2006 Red Hat Copyright (C) 2006-2007 Daniel P.
Berrange
This program is free software; you can redistribute it and/or
modify it under the terms of either the GNU General Public License as
published by the Free Software Foundation (either version 2 of the License,
or at your option any later version), or, the Artistic License, as specified
in the Perl README file.
Sys::Virt, Sys::Virt::Error,
"http://libvirt.org"