mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-08-24 09:49:59 +03:00
interface: Fix udev backend bridge device display
The bridge device was showing the vnet devices created for the domains as connected to the bridge. libvirt should only show host devices when trying to get the interface definition rather than the domain devices as well.
This commit is contained in:
@ -24,7 +24,9 @@
|
|||||||
#include <libudev.h>
|
#include <libudev.h>
|
||||||
|
|
||||||
#include "virerror.h"
|
#include "virerror.h"
|
||||||
|
#include "c-ctype.h"
|
||||||
#include "datatypes.h"
|
#include "datatypes.h"
|
||||||
|
#include "domain_conf.h"
|
||||||
#include "interface_driver.h"
|
#include "interface_driver.h"
|
||||||
#include "interface_conf.h"
|
#include "interface_conf.h"
|
||||||
#include "viralloc.h"
|
#include "viralloc.h"
|
||||||
@ -527,6 +529,16 @@ udevIfaceBridgeScanDirFilter(const struct dirent *entry)
|
|||||||
if (STREQ(entry->d_name, ".") || STREQ(entry->d_name, ".."))
|
if (STREQ(entry->d_name, ".") || STREQ(entry->d_name, ".."))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
/* Omit the domain interfaces from the list of bridge attached
|
||||||
|
* devices. All we can do is check for the device name matching
|
||||||
|
* vnet%d. Improvements to this check are welcome.
|
||||||
|
*/
|
||||||
|
if (strlen(entry->d_name) >= 5) {
|
||||||
|
if (STRPREFIX(entry->d_name, VIR_NET_GENERATED_PREFIX) &&
|
||||||
|
c_isdigit(entry->d_name[4]))
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user