package org.zstack.network.service.virtualrouter;
import org.zstack.header.configuration.PythonClass;
import org.zstack.header.vm.VmNicInventory;
import org.zstack.header.vm.VmNicVO;
import java.util.ArrayList;
import java.util.List;
@PythonClass
public class VirtualRouterNicMetaData {
public static final Integer PUBLIC_NIC_MASK = 1;
public static final Integer MANAGEMENT_NIC_MASK = 1 << 1;
public static final Integer GUEST_NIC_MASK = 1 << 2;
public static final Integer PUBLIC_AND_MANAGEMENT_NIC_MASK = PUBLIC_NIC_MASK | MANAGEMENT_NIC_MASK;
public static final Integer PUBLIC_MANAGEMENT_GUEST_NIC_MASK = PUBLIC_NIC_MASK | MANAGEMENT_NIC_MASK | GUEST_NIC_MASK;
public static final Integer PUBLIC_AND_GUEST_NIC_MASK = PUBLIC_NIC_MASK | GUEST_NIC_MASK;
public static final Integer MANAGEMENT_AND_GUEST_NIC_MASK = MANAGEMENT_NIC_MASK | GUEST_NIC_MASK;
public static final List<String> PUBLIC_NIC_MASK_STRING_LIST = new ArrayList<String>();
public static final List<String> MANAGEMENT_NIC_MASK_STRING_LIST = new ArrayList<String>();
public static final List<String> GUEST_NIC_MASK_STRING_LIST = new ArrayList<String>();
static {
PUBLIC_NIC_MASK_STRING_LIST.add(PUBLIC_NIC_MASK.toString());
PUBLIC_NIC_MASK_STRING_LIST.add(PUBLIC_AND_MANAGEMENT_NIC_MASK.toString());
PUBLIC_NIC_MASK_STRING_LIST.add(PUBLIC_AND_GUEST_NIC_MASK.toString());
PUBLIC_NIC_MASK_STRING_LIST.add(PUBLIC_MANAGEMENT_GUEST_NIC_MASK.toString());
MANAGEMENT_NIC_MASK_STRING_LIST.add(MANAGEMENT_NIC_MASK.toString());
MANAGEMENT_NIC_MASK_STRING_LIST.add(PUBLIC_AND_MANAGEMENT_NIC_MASK.toString());
MANAGEMENT_NIC_MASK_STRING_LIST.add(MANAGEMENT_AND_GUEST_NIC_MASK.toString());
MANAGEMENT_NIC_MASK_STRING_LIST.add(PUBLIC_MANAGEMENT_GUEST_NIC_MASK.toString());
GUEST_NIC_MASK_STRING_LIST.add(GUEST_NIC_MASK.toString());
GUEST_NIC_MASK_STRING_LIST.add(PUBLIC_AND_GUEST_NIC_MASK.toString());
GUEST_NIC_MASK_STRING_LIST.add(MANAGEMENT_AND_GUEST_NIC_MASK.toString());
GUEST_NIC_MASK_STRING_LIST.add(PUBLIC_MANAGEMENT_GUEST_NIC_MASK.toString());
}
@PythonClass
public static final String VR_PUBLIC_NIC_META = String.valueOf(PUBLIC_NIC_MASK);
@PythonClass
public static final String VR_MANAGEMENT_NIC_META = String.valueOf(MANAGEMENT_NIC_MASK);
@PythonClass
public static final String VR_MANAGEMENT_AND_PUBLIC_NIC_META = String.valueOf(PUBLIC_AND_MANAGEMENT_NIC_MASK);
public static boolean isPublicNic(VmNicVO nic) {
String meta = nic.getMetaData();
if (meta == null) {
return false;
}
int mask = Integer.valueOf(meta);
return (mask & PUBLIC_NIC_MASK) != 0;
}
public static boolean isManagementNic(VmNicVO nic) {
String meta = nic.getMetaData();
if (meta == null) {
return false;
}
int mask = Integer.valueOf(meta);
return (mask & MANAGEMENT_NIC_MASK) != 0;
}
public static boolean isGuestNic(VmNicVO nic) {
String meta = nic.getMetaData();
if (meta == null) {
return false;
}
int mask = Integer.valueOf(meta);
return (mask & GUEST_NIC_MASK) != 0;
}
public static boolean isPublicNic(VmNicInventory nic) {
String meta = nic.getMetaData();
if (meta == null) {
return false;
}
int mask = Integer.valueOf(meta);
return (mask & PUBLIC_NIC_MASK) != 0;
}
public static boolean isManagementNic(VmNicInventory nic) {
String meta = nic.getMetaData();
if (meta == null) {
return false;
}
int mask = Integer.valueOf(meta);
return (mask & MANAGEMENT_NIC_MASK) != 0;
}
public static boolean isGuestNic(VmNicInventory nic) {
String meta = nic.getMetaData();
if (meta == null) {
return false;
}
int mask = Integer.valueOf(meta);
return (mask & GUEST_NIC_MASK) != 0;
}
}