mirror of https://github.com/apache/cloudstack.git
check vlans and other isolation types
This commit is contained in:
parent
d50517e931
commit
04570eefed
|
|
@ -1367,10 +1367,17 @@ public class NetUtils {
|
|||
return resultIp;
|
||||
}
|
||||
|
||||
static final String VLAN_PREFIX = "vlan://";
|
||||
static final int VLAN_PREFIX_LENGTH = VLAN_PREFIX.length();
|
||||
|
||||
public static boolean isValidVlan(String vlan) {
|
||||
if (null == vlan || "".equals(vlan))
|
||||
return false;
|
||||
if (vlan.startsWith(VLAN_PREFIX))
|
||||
vlan = vlan.substring(VLAN_PREFIX_LENGTH);
|
||||
try {
|
||||
int vnet = Integer.parseInt(vlan);
|
||||
if (vnet < 0 || vnet > 4096) {
|
||||
if (vnet <= 0 || vnet >= 4095) { // the valid range is 1- 4094
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
|
@ -1379,6 +1386,41 @@ public class NetUtils {
|
|||
}
|
||||
}
|
||||
|
||||
static final String VLAN_UNTAGGED = "untagged";
|
||||
|
||||
public static boolean sameIsolationId(String one, String other)
|
||||
{
|
||||
// check nulls
|
||||
// check empty strings
|
||||
if ((one == null || one.equals(""))
|
||||
&&
|
||||
(other == null || other.equals("")))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
// check 'untagged'
|
||||
if (VLAN_UNTAGGED.equalsIgnoreCase(one) && VLAN_UNTAGGED.equalsIgnoreCase(other))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
// if one is a number check the other as number and as 'vlan://' + number
|
||||
if (one.startsWith(VLAN_PREFIX))
|
||||
{
|
||||
one = one.substring(VLAN_PREFIX_LENGTH);
|
||||
}
|
||||
if (other.startsWith(VLAN_PREFIX))
|
||||
{
|
||||
other = other.substring(VLAN_PREFIX_LENGTH);
|
||||
}
|
||||
// check valid uris or numbers
|
||||
if (one.equals(other))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Attention maintainers: these pvlan functions should take into account code
|
||||
// in Networks.BroadcastDomainType, where URI construction is done for other
|
||||
// types of BroadcastDomainTypes
|
||||
|
|
|
|||
Loading…
Reference in New Issue