Module hv_kvm
source code
KVM hypervisor
|
_KVM_NETWORK_SCRIPT = constants.SYSCONFDIR+ "/ganeti/kvm-vif-b...
|
|
TUNSETIFF = 0x400454ca
|
|
TUNGETIFF = 0x800454d2
|
|
TUNGETFEATURES = 0x800454cf
|
|
IFF_TAP = 0x0002
|
|
IFF_NO_PI = 0x1000
|
|
IFF_VNET_HDR = 0x4000
|
Imports:
errno,
os,
re,
tempfile,
time,
logging,
pwd,
struct,
fcntl,
shutil,
utils,
constants,
errors,
serializer,
objects,
uidpool,
ssconf,
hv_base,
netutils,
utils_wrapper
Check whether to enable the IFF_VNET_HDR flag.
To do this, _all_ of the following conditions must be met:
-
TUNGETFEATURES ioctl() *must* be implemented
-
TUNGETFEATURES ioctl() result *must* contain the IFF_VNET_HDR flag
-
TUNGETIFF ioctl() *must* be implemented; reading the kernel code in
drivers/net/tun.c there is no way to test this until after the tap
device has been created using TUNSETIFF, and there is no way to
change the IFF_VNET_HDR flag after creating the interface, catch-22!
However both TUNGETIFF and TUNGETFEATURES were introduced in kernel
version 2.6.27, thus we can expect TUNGETIFF to be present if
TUNGETFEATURES is.
- Parameters:
fd (int) - the file descriptor of /dev/net/tun
|
Open a new tap device and return its file descriptor.
This is intended to be used by a qemu-type hypervisor together with
the -net tap,fd=<fd> command line parameter.
- Parameters:
vnet_hdr (boolean) - Enable the VNET Header
- Returns: tuple
- (ifname, tapfd)
|
_KVM_NETWORK_SCRIPT
- Value:
constants.SYSCONFDIR+ "/ganeti/kvm-vif-bridge"
|
|