[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8506?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14557216#comment-14557216
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8506:
--------------------------------------------

Github user DaanHoogland commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/292#discussion_r30943135
  
    --- Diff: utils/src/com/cloud/utils/net/NetUtils.java ---
    @@ -329,35 +329,46 @@ public static String getMacAddress(InetAddress 
address) {
             return sb.toString();
         }
     
    -    public static long getMacAddressAsLong(InetAddress address) {
    +    public static long getMacAddressAsLong(final InetAddress address) {
             long macAddressAsLong = 0;
             try {
    -            NetworkInterface ni = 
NetworkInterface.getByInetAddress(address);
    -            byte[] mac = ni.getHardwareAddress();
    +            final NetworkInterface ni = 
NetworkInterface.getByInetAddress(address);
    +            final byte[] mac = ni.getHardwareAddress();
     
                 for (int i = 0; i < mac.length; i++) {
    -                macAddressAsLong |= ((long)(mac[i] & 0xff) << (mac.length 
- i - 1) * 8);
    +                macAddressAsLong |= (long)(mac[i] & 0xff) << (mac.length - 
i - 1) * 8;
                 }
     
    -        } catch (SocketException e) {
    +        } catch (final SocketException e) {
                 s_logger.error("SocketException when trying to retrieve MAC 
address", e);
             }
     
             return macAddressAsLong;
         }
     
    -    public static boolean ipRangesOverlap(String startIp1, String endIp1, 
String startIp2, String endIp2) {
    -        long startIp1Long = ip2Long(startIp1);
    +    public static boolean ipRangesOverlap(final String startIp1, final 
String endIp1, final String startIp2, final String endIp2) {
    +        final long startIp1Long = ip2Long(startIp1);
             long endIp1Long = startIp1Long;
             if (endIp1 != null) {
                 endIp1Long = ip2Long(endIp1);
             }
    -        long startIp2Long = ip2Long(startIp2);
    +        final long startIp2Long = ip2Long(startIp2);
             long endIp2Long = startIp2Long;
             if (endIp2 != null) {
                 endIp2Long = ip2Long(endIp2);
             }
     
    +        // check if the gatewayip is the part of the ip range being added.
    +        // RFC 3021 - 31-Bit Prefixes on IPv4 Point-to-Point Links
    +        //     GW              Netmask         Stat IP        End IP
    +        // 192.168.24.0 - 255.255.255.254 - 192.168.24.0 - 192.168.24.1
    +        // https://tools.ietf.org/html/rfc3021
    +        // Added by Wilder Rodrigues
    +        final int ip31bitPrefixOffSet = 1;
    +        if (startIp2Long - startIp1Long == startIp2Long - (endIp1Long - 
ip31bitPrefixOffSet)) {
    --- End diff --
    
    isn't this condition true for all range2 with any /31 range1?


> Make ACS compliant with the RFC 3021
> ------------------------------------
>
>                 Key: CLOUDSTACK-8506
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8506
>             Project: CloudStack
>          Issue Type: Improvement
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>            Reporter: Wilder Rodrigues
>            Assignee: Wilder Rodrigues
>
> On 21 May 2015, at 10:29, Singh, Devender <[email protected]> wrote:
> Hi Cloudstack Team,
> We had no problems building and using /31 networks on 4.2.0, but after our 
> upgrade to 4.4.2  we are no longer able to add new ones.
> We have a lot of them already in place.  As an example I pasted some output 
> from cloudmonkey on a link that is already established and working.
> Does anyone have a workaround, or can point me in the right direction for a 
> patch?
> (local) > list networks id=e044c442-48f7-4bae-8c5d-530423a249f7
> count = 1
> network:
> id = e044c442-48f7-4bae-8c5d-530423a249f7
> name = VLAN180
> acltype = Domain
> broadcastdomaintype = Vlan
> broadcasturi = vlan://180
> canusefordeploy = False
> cidr = 202.90.43.0/31
> displaynetwork = True
> displaytext = VM-UTILITY-2
> dns1 = 4.2.2.1
> domain = ROOT
> domainid = 8acf0368-e5b1-11e2-b5cf-2ef4cf18a6ae
> gateway = 202.90.43.0
> ispersistent = False
> issystem = False
> netmask = 255.255.255.254
> networkofferingavailability = Optional
> networkofferingconservemode = False
> networkofferingdisplaytext = private-guest1_switch
> networkofferingid = 0b63d457-5f5e-426f-a81e-8797e522eb8c
> networkofferingname = private-guest1_switch
> physicalnetworkid = cf4c2846-2418-4ba4-b307-6a6405860799
> related = e044c442-48f7-4bae-8c5d-530423a249f7
> restartrequired = False
> service:
> specifyipranges = True
> state = Setup
> strechedl2subnet = False
> subdomainaccess = True
> tags:
> traffictype = Guest
> type = Shared
> vlan = 180
> zoneid = 88066cb4-64ab-4c54-83a9-3279a1e030cb
> zonename = UTILITY-ZONE-1



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to