Revision 05440845
b/lib/constants.py | ||
---|---|---|
849 | 849 |
HV_KVM_EXTRA = "kvm_extra" |
850 | 850 |
HV_KVM_MACHINE_VERSION = "machine_version" |
851 | 851 |
HV_KVM_PATH = "kvm_path" |
852 |
HV_VIF_TYPE = "vif_type" |
|
852 | 853 |
|
853 | 854 |
|
854 | 855 |
HVS_PARAMETER_TYPES = { |
... | ... | |
918 | 919 |
HV_VGA: VTYPE_STRING, |
919 | 920 |
HV_KVM_EXTRA: VTYPE_STRING, |
920 | 921 |
HV_KVM_MACHINE_VERSION: VTYPE_STRING, |
922 |
HV_VIF_TYPE: VTYPE_STRING, |
|
921 | 923 |
} |
922 | 924 |
|
923 | 925 |
HVS_PARAMETERS = frozenset(HVS_PARAMETER_TYPES.keys()) |
... | ... | |
1311 | 1313 |
HT_NIC_PARAVIRTUAL, |
1312 | 1314 |
]) |
1313 | 1315 |
|
1316 |
# Vif types |
|
1317 |
# default vif type in xen-hvm |
|
1318 |
HT_HVM_VIF_IOEMU = "ioemu" |
|
1319 |
HT_HVM_VIF_VIF = "vif" |
|
1320 |
HT_HVM_VALID_VIF_TYPES = compat.UniqueFrozenset([ |
|
1321 |
HT_HVM_VIF_IOEMU, |
|
1322 |
HT_HVM_VIF_VIF, |
|
1323 |
]) |
|
1324 |
|
|
1314 | 1325 |
# Disk types |
1315 | 1326 |
HT_DISK_IOEMU = "ioemu" |
1316 | 1327 |
HT_DISK_IDE = "ide" |
... | ... | |
1931 | 1942 |
HV_CPU_MASK: CPU_PINNING_ALL, |
1932 | 1943 |
HV_CPU_CAP: 0, |
1933 | 1944 |
HV_CPU_WEIGHT: 256, |
1945 |
HV_VIF_TYPE: HT_HVM_VIF_IOEMU, |
|
1934 | 1946 |
}, |
1935 | 1947 |
HT_KVM: { |
1936 | 1948 |
HV_KVM_PATH: KVM_PATH, |
b/lib/hypervisor/hv_xen.py | ||
---|---|---|
767 | 767 |
constants.HV_CPU_CAP: hv_base.NO_CHECK, |
768 | 768 |
constants.HV_CPU_WEIGHT: |
769 | 769 |
(False, lambda x: 0 < x < 65535, "invalid weight", None, None), |
770 |
constants.HV_VIF_TYPE: |
|
771 |
hv_base.ParamInSet(False, constants.HT_HVM_VALID_VIF_TYPES), |
|
770 | 772 |
} |
771 | 773 |
|
772 | 774 |
@classmethod |
... | ... | |
840 | 842 |
config.write("localtime = 1\n") |
841 | 843 |
|
842 | 844 |
vif_data = [] |
845 |
# Note: what is called 'nic_type' here, is used as value for the xen nic |
|
846 |
# vif config parameter 'model'. For the xen nic vif parameter 'type', we use |
|
847 |
# the 'vif_type' to avoid a clash of notation. |
|
843 | 848 |
nic_type = hvp[constants.HV_NIC_TYPE] |
849 |
|
|
844 | 850 |
if nic_type is None: |
851 |
vif_type_str = "" |
|
852 |
if hvp[constants.HV_VIF_TYPE]: |
|
853 |
vif_type_str = ", type=%s" % hvp[constants.HV_VIF_TYPE] |
|
845 | 854 |
# ensure old instances don't change |
846 |
nic_type_str = ", type=ioemu"
|
|
855 |
nic_type_str = vif_type_str
|
|
847 | 856 |
elif nic_type == constants.HT_NIC_PARAVIRTUAL: |
848 | 857 |
nic_type_str = ", type=paravirtualized" |
849 | 858 |
else: |
850 |
nic_type_str = ", model=%s, type=ioemu" % nic_type |
|
859 |
# parameter 'model' is only valid with type 'ioemu' |
|
860 |
nic_type_str = ", model=%s, type=%s" % \ |
|
861 |
(nic_type, constants.HT_HVM_VIF_IOEMU) |
|
851 | 862 |
for nic in instance.nics: |
852 | 863 |
nic_str = "mac=%s%s" % (nic.mac, nic_type_str) |
853 | 864 |
ip = getattr(nic, "ip", None) |
Also available in: Unified diff