File tree Expand file tree Collapse file tree
main/java/com/cloud/utils/net
test/java/com/cloud/utils/net Expand file tree Collapse file tree Original file line number Diff line number Diff line change 4747
4848import com .cloud .utils .IteratorUtil ;
4949import com .cloud .utils .Pair ;
50+ import com .cloud .utils .exception .CloudRuntimeException ;
5051import com .cloud .utils .script .Script ;
5152import com .googlecode .ipv6 .IPv6Address ;
5253import com .googlecode .ipv6 .IPv6AddressRange ;
@@ -907,14 +908,14 @@ public static String getCidrSubNet(final String cidr) {
907908 if (!isValidIp (cidrAddress )) {
908909 return null ;
909910 }
910- int cidrSizeNum = -1 ;
911+ long cidrSizeNum = -1 ;
911912
912913 try {
913914 cidrSizeNum = Integer .parseInt (cidrSize );
914- } catch (final Exception e ) {
915- return null ;
915+ } catch (final NumberFormatException e ) {
916+ throw new CloudRuntimeException ( "cidrsize is not valid" , e ) ;
916917 }
917- final long numericNetmask = 0xffffffff >> MAX_CIDR - cidrSizeNum << MAX_CIDR - cidrSizeNum ;
918+ final long numericNetmask = ( long ) 0xffffffff >> MAX_CIDR - cidrSizeNum << MAX_CIDR - cidrSizeNum ;
918919 final String netmask = NetUtils .long2Ip (numericNetmask );
919920 return getSubNet (cidrAddress , netmask );
920921 }
Original file line number Diff line number Diff line change @@ -418,8 +418,16 @@ public void testIs31PrefixCidr() {
418418
419419 assertTrue ("It should pass! 31 bit prefix." , is31PrefixCidr );
420420 }
421+
421422 @ Test
422423 public void testGetCidrSubNet () {
424+ final String cidr = "10.10.0.0/16" ;
425+ String subnet = NetUtils .getCidrSubNet ("10.10.10.10/16" );
426+ assertTrue (cidr + " does not contain " + subnet ,NetUtils .isIpWithtInCidrRange (subnet , cidr ));
427+ }
428+
429+ @ Test
430+ public void testGetCidrSubNetWithWidth () {
423431 final String cidr = "10.10.0.0/16" ;
424432 String subnet = NetUtils .getCidrSubNet ("10.10.10.10" , 16 );
425433 assertTrue (NetUtils .isIpWithtInCidrRange (subnet , cidr ));
You can’t perform that action at this time.
0 commit comments