VirtualBox

Changeset 18594 in vbox


Ignore:
Timestamp:
Apr 1, 2009 12:15:40 PM (15 years ago)
Author:
vboxsync
Message:

Fixed the problem with vboxnet0 not getting static IP on VM start.

Location:
trunk/src/VBox/Main
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/HostNetworkInterfaceImpl.cpp

    r18389 r18594  
    8686    if(RT_SUCCESS(rc))
    8787    {
    88         m.IPAddress = info.IPAddress.u;
    89         m.networkMask = info.IPNetMask.u;
     88        m.realIPAddress = m.IPAddress = info.IPAddress.u;
     89        m.realNetworkMask = m.networkMask = info.IPNetMask.u;
    9090        m.dhcpEnabled = info.bDhcpEnabled;
    91         m.IPV6Address = composeIPv6Address(&info.IPv6Address);
    92         m.IPV6NetworkMaskPrefixLength = composeIPv6PrefixLenghFromAddress(&info.IPv6NetMask);
     91        m.realIPV6Address = m.IPV6Address = composeIPv6Address(&info.IPv6Address);
     92        m.realIPV6PrefixLength = m.IPV6NetworkMaskPrefixLength = composeIPv6PrefixLenghFromAddress(&info.IPv6NetMask);
    9393        m.hardwareAddress = composeHardwareAddress(&info.MACAddress);
    9494#ifdef RT_OS_WINDOWS
     
    129129    mIfType = ifType;
    130130
    131     m.IPAddress = pIf->IPAddress.u;
    132     m.networkMask = pIf->IPNetMask.u;
    133     m.IPV6Address = composeIPv6Address(&pIf->IPv6Address);
    134     m.IPV6NetworkMaskPrefixLength = composeIPv6PrefixLenghFromAddress(&pIf->IPv6NetMask);
     131    m.realIPAddress = m.IPAddress = pIf->IPAddress.u;
     132    m.realNetworkMask = m.networkMask = pIf->IPNetMask.u;
     133    m.realIPV6Address = m.IPV6Address = composeIPv6Address(&pIf->IPv6Address);
     134    m.realIPV6PrefixLength = m.IPV6NetworkMaskPrefixLength = composeIPv6PrefixLenghFromAddress(&pIf->IPv6NetMask);
    135135    m.dhcpEnabled = pIf->bDhcpEnabled;
    136136    m.hardwareAddress = composeHardwareAddress(&pIf->MACAddress);
     
    421421            if (RT_SUCCESS(rc))
    422422            {
     423                m.realIPAddress = 0;
    423424                if (FAILED(mVBox->SetExtraData(Bstr(Utf8StrFmt("HostOnly/%ls/IPAddress", mInterfaceName.raw())), Bstr(""))))
    424425                    return E_FAIL;
     
    442443        if(mask != INADDR_NONE)
    443444        {
    444             if (m.IPAddress == ip && m.networkMask == mask)
     445            if (m.realIPAddress == ip && m.realNetworkMask == mask)
    445446                return S_OK;
    446447            int rc = NetIfEnableStaticIpConfig(mVBox, this, m.IPAddress, ip, mask);
    447448            if (RT_SUCCESS(rc))
    448449            {
     450                m.realIPAddress   = ip;
     451                m.realNetworkMask = mask;
    449452                if (FAILED(mVBox->SetExtraData(Bstr(Utf8StrFmt("HostOnly/%ls/IPAddress", mInterfaceName.raw())), Bstr(aIPAddress))))
    450453                    return E_FAIL;
     
    479482
    480483    int rc = S_OK;
    481     if (m.IPV6Address != aIPV6Address || m.IPV6NetworkMaskPrefixLength != aIPV6MaskPrefixLength)
     484    if (m.realIPV6Address != aIPV6Address || m.realIPV6PrefixLength != aIPV6MaskPrefixLength)
    482485    {
    483486        if (aIPV6MaskPrefixLength == 0)
     
    491494        else
    492495        {
     496            m.realIPV6Address = aIPV6Address;
     497            m.realIPV6PrefixLength = aIPV6MaskPrefixLength;
    493498            if (FAILED(mVBox->SetExtraData(Bstr(Utf8StrFmt("HostOnly/%ls/IPV6Address", mInterfaceName.raw())), Bstr(aIPV6Address))))
    494499                return E_FAIL;
  • trunk/src/VBox/Main/include/HostNetworkInterfaceImpl.h

    r17865 r18594  
    108108        Bstr IPV6Address;
    109109        ULONG IPV6NetworkMaskPrefixLength;
     110        ULONG realIPAddress;
     111        ULONG realNetworkMask;
     112        Bstr  realIPV6Address;
     113        ULONG realIPV6PrefixLength;
    110114        BOOL dhcpEnabled;
    111115        Bstr hardwareAddress;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette