[libvirt] Network not Persistent

Shradha Shah sshah at solarflare.com
Tue Feb 21 12:33:23 UTC 2012


On 02/20/2012 06:43 PM, Laine Stump wrote:
> On 02/20/2012 12:37 PM, Shradha Shah wrote:
>> Hello All,
>>
>> I am currently working on patches for PCI-passthrough of SRIOV VF's and I am facing an issue with the network definition not being persistent.
>>
>> I am using a new forward mode = hostdev and the network xml is as follows:
>> <network>
>>   <name>pci-passthrough-network</name>
>>   <uuid>81ff0d90-c91e-6742-64da-4a736edb9a8f</uuid>
>>   <forward mode="hostdev">
>>     <pf dev="eth2"/>
>>   </forward>
>> </network>
>>
>> Command line used is:
>> # virsh net-define pci_passthrough_network.xml
>>
>> The network is defined successfully and I can use it at this point.
>>
>> But if I restart libvirt after defining the above network, I lose the network definition.
>>
>> After restart libvirt does not possess any knowledge of the above network.
>>
>> This does not happen when I use forward mode="bridge".
>>
>> I have cross referenced the function call path of networkDefine for both the forwarding modes and I can't seem to find the problem.
>>
>> Is there some function I am missing?
> 
> You need to add some logic to networkFindActiveConfigs() to determine if
> the network is active.

I am not sure if I am missing something but, networkFindActiveConfigs() is called by networkStartup() only.
Currently I am not starting any networks but just defining them and then restarting libvirtd, at which point the pci-passthrough-network dissapears.
The commands I am using are as follows:

# virsh net-define pci_passthrough_network.xml
Network pci-passthrough-network defined from pci_passthrough_network.xml

# virsh net-define macvtap_bridge_network.xml
Network macvtap-bridge-network defined from macvtap_bridge_network.xml

# virsh net-list -all
Name                          State      Autostart
--------------------------------------------------
macvtap-bridge-network       inactive      no        
pci-passthrough-network      inactive      no

# service libvirtd restart
Stopping libvirtd daemon:                                  [  OK  ]
Starting libvirtd daemon:                                  [  OK  ]

#  virsh net-list -all
Name                          State      Autostart
--------------------------------------------------
macvtap-bridge-network       inactive      no     

I think its got to do something with the persistent flag of the network object, but I am not sure.

Thanks,

Shradha

> 
> (actually this points out that networkFindActiveConfigs() doesn't have
> any code to determine if the macvtap network types are active. It turns
> out that there's really no effect to starting one of those types of
> network, but I should probably do *something* to allow a restarted
> libvirtd to determine if that type of network is started...)
> 
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list




More information about the libvir-list mailing list