Sys::V...etwork(3pm)
π NAME π
Sys::Virt::Network β represent & manage a libvirt virtual network. This is the Sys::V...etwork(3pm) page from the User Contributed Perl Documentation, and yes bestie, the manual name got folded in right here instead of copied as the header line.
π¦ DESCRIPTION π¦
The Sys::Virt::Network module represents a virtual network managed by the virtual machine monitor. That's the whole vibe: it's your Perl-side handle for a libvirt virtual network.
β¨ METHODS β¨
Okay bestie, here's every method, no skipped details, periodt.
my $uuid = $net->get_uuid()
Returns a 16 byte long string containing the raw globally unique identifier (UUID) for the network. Raw bytes, not the cute printable version.
my $uuid = $net->get_uuid_string()
Returns a printable string representation of the raw UUID, in the format 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'. So you can actually read it without hex goggles.
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. Read that again: probably.
$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.
Fr fr, do not touch the$nethandle afterdestroy()completes.
$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 used 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 take 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.
π CONSTANTS π
This section documents constants that are used with various APIs described above.
π NETWORK CREATION CONSTANTS π
When creating networks zero or more of the following constants may be used.
Sys::Virt::Network::CREATE_VALIDATEβ Validate the XML document against the XML schema
π LIST FILTERING π
The following constants are used to filter object lists.
Sys::Virt::Network::LIST_ACTIVEβ Include networks which are activeSys::Virt::Network::LIST_INACTIVEβ Include networks which are not activeSys::Virt::Network::LIST_AUTOSTARTβ Include networks which are set to autostartSys::Virt::Network::LIST_NO_AUTOSTARTβ Include networks which are not set to autostartSys::Virt::Network::LIST_PERSISTENTβ Include networks which are persistentSys::Virt::Network::LIST_TRANSIENTβ Include networks which are transient
π§ NETWORK DEFINE π§
The following constants can be used to control the behaviour of network define operations.
Sys::Virt::Network::DEFINE_VALIDATEβ Validate the XML document against the XML schema
β XML CONSTANTS β
The following constants are used when querying XML.
Sys::Virt::Network::XML_INACTIVEβ Request the inactive XML, instead of the current possibly live config
πΈ XML SECTION CONSTANTS πΈ
The following constants are used to refer to sections of the XML document.
Sys::Virt::Network::SECTION_BRIDGEβ The bridge device elementSys::Virt::Network::SECTION_DNS_HOSTβ The DNS host record sectionSys::Virt::Network::SECTION_DNS_SRVβ The DNS SRV record sectionSys::Virt::Network::SECTION_DNS_TXTβ The DNS TXT record sectionSys::Virt::Network::SECTION_DOMAINβ The domain name sectionSys::Virt::Network::SECTION_FORWARDβ The forward device sectionSys::Virt::Network::SECTION_FORWARD_INTERFACEβ The forward interface sectionSys::Virt::Network::SECTION_FORWARD_PFβ The forward physical function sectionSys::Virt::Network::SECTION_IPβ The IP address sectionSys::Virt::Network::SECTION_IP_DHCP_HOSTβ The IP address DHCP host sectionSys::Virt::Network::SECTION_IP_DHCP_RANGEβ The IP address DHCP range sectionSys::Virt::Network::SECTION_PORTGROUPβ The port group sectionSys::Virt::Network::SECTION_NONEβ The top level domain element
π₯ XML UPDATE FLAGS π₯
Sys::Virt::Network::UPDATE_AFFECT_CURRENTβ Affect whatever the current object state isSys::Virt::Network::UPDATE_AFFECT_CONFIGβ Always update the config fileSys::Virt::Network::UPDATE_AFFECT_LIVEβ Always update the live config
π XML UPDATE COMMANDS π
Sys::Virt::Network::UPDATE_COMMAND_NONEβ No updateSys::Virt::Network::UPDATE_COMMAND_DELETEβ Remove the matching entrySys::Virt::Network::UPDATE_COMMAND_MODIFYβ Modify the matching entrySys::Virt::Network::UPDATE_COMMAND_ADD_FIRSTβ Insert the matching entry at the startSys::Virt::Network::UPDATE_COMMAND_ADD_LASTβ Insert the matching entry at the end
π«Ά EVENT ID CONSTANTS π«Ά
Sys::Virt::Network::EVENT_ID_LIFECYCLEβ Network lifecycle eventsSys::Virt::Network::EVENT_ID_METADATA_CHANGEβ The network metadata has changed
π LIFECYCLE CHANGE EVENTS π
The following constants allow network lifecycle change events to be interpreted. The events contain both a state change, and a reason though the reason is currently unused.
Sys::Virt::Network::EVENT_DEFINEDβ Indicates that a persistent configuration has been defined for the network.Sys::Virt::Network::EVENT_STARTEDβ The network has started runningSys::Virt::Network::EVENT_STOPPEDβ The network has stopped runningSys::Virt::Network::EVENT_UNDEFINEDβ The persistent configuration has gone away
π METADATA TYPE CONSTANTS π
The following constants control the type of metadata being accessed.
Sys::Virt::Network::METADATA_TITLEβ The short human friendly title of the networkSys::Virt::Network::METADATA_DESCRIPTIONβ The long free text description of the networkSys::Virt::Network::METADATA_ELEMENTβ The structured metadata elements for the network
π AUTHORS π
Daniel P. Berrange <berrange@redhat.com>
π COPYRIGHT π
Copyright (C) 2006 Red Hat Copyright (C) 2006-2007 Daniel P. Berrange
π LICENSE π
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.
π¦ SEE ALSO π¦
Sys::VirtSys::Virt::Error"http://libvirt.org"
mwah π kisses, bestie β this page came from perl v5.40.2, dated 2026-06-08, and the footer/manual name is Sys::V...etwork(3pm).
π¦ where this page comes from
- epel 10: perl-Sys-Virt 12.4.0-1.el10_3 Β· GPL-2.0-or-later OR Artistic-1.0-Perl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms