VirtualBox

Ignore:
Timestamp:
Oct 10, 2022 6:37:12 PM (2 years ago)
Author:
vboxsync
Message:

NetworkServices/Dhcpd: Reduce clutter a bit, bugref:10297

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/NetworkServices/Dhcpd/VBoxNetDhcpd.cpp

    r97074 r97077  
    135135               const RTCString &strTrunk = RTCString(),
    136136               INTNETTRUNKTYPE enmTrunkType = kIntNetTrunkType_WhateverNone);
    137     int ifOpen(const RTCString &strNetwork,
    138                const RTCString &strTrunk,
    139                INTNETTRUNKTYPE enmTrunkType);
    140     int ifGetBuf();
    141     int ifActivate();
    142137
    143138    int ifProcessInput();
    144     int ifFlush();
    145 
    146     int ifClose();
    147139
    148140    void ifPump();
     
    182174VBoxNetDhcpd::~VBoxNetDhcpd()
    183175{
    184     ifClose();
     176    if (m_hIf != NULL)
     177    {
     178        int rc = IntNetR3IfCtxDestroy(m_hIf);
     179        AssertRC(rc);
     180        m_hIf = NULL;
     181    }
    185182}
    186183
     
    227224                         INTNETTRUNKTYPE enmTrunkType)
    228225{
    229     int rc;
    230 
    231     rc = ifOpen(strNetwork, strTrunk, enmTrunkType);
    232     if (RT_FAILURE(rc))
    233         return rc;
    234 
    235     rc = ifGetBuf();
    236     if (RT_FAILURE(rc))
    237         return rc;
    238 
    239     rc = ifActivate();
    240     if (RT_FAILURE(rc))
    241         return rc;
    242 
    243     return VINF_SUCCESS;
    244 }
    245 
    246 
    247 int VBoxNetDhcpd::ifOpen(const RTCString &strNetwork,
    248                          const RTCString &strTrunk,
    249                          INTNETTRUNKTYPE enmTrunkType)
    250 {
    251     AssertReturn(m_hIf == NULL, VERR_GENERAL_FAILURE);
    252 
    253226    if (enmTrunkType == kIntNetTrunkType_Invalid)
    254227        enmTrunkType = kIntNetTrunkType_WhateverNone;
    255228
    256     return IntNetR3IfCtxCreate(&m_hIf, strNetwork.c_str(), enmTrunkType,
    257                                strTrunk.c_str(), _128K /*cbSend*/, _256K /*cbRecv*/,
    258                                0 /*fFlags*/);
    259 }
    260 
    261 
    262 int VBoxNetDhcpd::ifGetBuf()
    263 {
    264     AssertReturn(m_hIf != NULL, VERR_GENERAL_FAILURE);
    265     AssertReturn(m_pIfBuf == NULL, VERR_GENERAL_FAILURE);
    266 
    267     return IntNetR3IfCtxQueryBufferPtr(m_hIf, &m_pIfBuf);
    268 }
    269 
    270 
    271 int VBoxNetDhcpd::ifActivate()
    272 {
    273     AssertReturn(m_hIf != NULL, VERR_GENERAL_FAILURE);
    274     AssertReturn(m_pIfBuf != NULL, VERR_GENERAL_FAILURE);
    275 
    276     return IntNetR3IfCtxSetActive(m_hIf, true /*fActive*/);
     229    int rc = IntNetR3IfCtxCreate(&m_hIf, strNetwork.c_str(), enmTrunkType,
     230                                 strTrunk.c_str(), _128K /*cbSend*/, _256K /*cbRecv*/,
     231                                 0 /*fFlags*/);
     232    if (RT_SUCCESS(rc))
     233    {
     234        rc = IntNetR3IfCtxQueryBufferPtr(m_hIf, &m_pIfBuf);
     235        if (RT_SUCCESS(rc))
     236            rc = IntNetR3IfCtxSetActive(m_hIf, true /*fActive*/);
     237    }
     238
     239    return rc;
    277240}
    278241
     
    422385    IntNetRingCommitFrameEx(&m_pIfBuf->Send, pHdr, cbFrame);
    423386
    424     ifFlush();
     387    IntNetR3IfSend(m_hIf);
    425388    return ERR_OK;
    426 }
    427 
    428 
    429 int VBoxNetDhcpd::ifFlush()
    430 {
    431     return IntNetR3IfSend(m_hIf);
    432 }
    433 
    434 
    435 int VBoxNetDhcpd::ifClose()
    436 {
    437     if (m_hIf == NULL)
    438         return VINF_SUCCESS;
    439 
    440     int rc = IntNetR3IfCtxDestroy(m_hIf);
    441     m_hIf = NULL;
    442     return rc;
    443389}
    444390
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