VirtualBox

Changeset 80022 in vbox for trunk/src/VBox/NetworkServices


Ignore:
Timestamp:
Jul 28, 2019 1:25:28 PM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
132457
Message:

Dhcpd: more logging of DHCP messages. bugref:9288

Location:
trunk/src/VBox/NetworkServices/Dhcpd
Files:
3 edited

Legend:

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

    r79899 r80022  
    230230                                   pszFilename,
    231231                                   RTLOGFLAGS_PREFIX_TIME_PROG,
    232                                    "all net_dhcpd.e.l",
     232                                   "all net_dhcpd.e.l.f.l3.l4.l5.l6",
    233233                                   "VBOXDHCP_RELEASE_LOG",
    234234                                   RTLOGDEST_FILE
  • trunk/src/VBox/NetworkServices/Dhcpd/DhcpMessage.cpp

    r79906 r80022  
    4545
    4646
     47/**
     48 * Does common message dumping.
     49 */
     50void DhcpMessage::dump() const RT_NOEXCEPT
     51{
     52    switch (m_optMessageType.value())
     53    {
     54        case RTNET_DHCP_MT_DISCOVER: LogRel(("DISCOVER")); break;
     55        case RTNET_DHCP_MT_OFFER:    LogRel(("OFFER")); break;
     56        case RTNET_DHCP_MT_REQUEST:  LogRel(("REQUEST")); break;
     57        case RTNET_DHCP_MT_DECLINE:  LogRel(("DECLINE")); break;
     58        case RTNET_DHCP_MT_ACK:      LogRel(("ACK")); break;
     59        case RTNET_DHCP_MT_NAC:      LogRel(("NAC")); break;
     60        case RTNET_DHCP_MT_RELEASE:  LogRel(("RELEASE")); break;
     61        case RTNET_DHCP_MT_INFORM:   LogRel(("INFORM")); break;
     62        default:
     63            LogRel(("<Unknown Mesage Type %d>", m_optMessageType.value()));
     64            break;
     65    }
     66
     67    LogRel((" xid 0x%08x", m_xid));
     68    LogRel((" chaddr %RTmac\n", &m_mac));
     69    LogRel((" ciaddr %RTnaipv4", m_ciaddr.u));
     70    if (m_yiaddr.u != 0)
     71        LogRel((" yiaddr %RTnaipv4", m_yiaddr.u));
     72    if (m_siaddr.u != 0)
     73        LogRel((" siaddr %RTnaipv4", m_siaddr.u));
     74    if (m_giaddr.u != 0)
     75        LogRel((" giaddr %RTnaipv4", m_giaddr.u));
     76    if (broadcast())
     77        LogRel((" broadcast\n"));
     78    else
     79        LogRel(("\n"));
     80}
     81
     82
    4783/*********************************************************************************************************************************
    4884*   DhcpClientMessage Implementation                                                                                             *
     
    197233
    198234
     235/**
     236 * Dumps the message.
     237 */
    199238void DhcpClientMessage::dump() const RT_NOEXCEPT
    200239{
    201     switch (m_optMessageType.value())
    202     {
    203         case RTNET_DHCP_MT_DISCOVER:
    204             LogRel(("DISCOVER"));
    205             break;
    206 
    207         case RTNET_DHCP_MT_REQUEST:
    208             LogRel(("REQUEST"));
    209             break;
    210 
    211         case RTNET_DHCP_MT_INFORM:
    212             LogRel(("INFORM"));
    213             break;
    214 
    215         case RTNET_DHCP_MT_DECLINE:
    216             LogRel(("DECLINE"));
    217             break;
    218 
    219         case RTNET_DHCP_MT_RELEASE:
    220             LogRel(("RELEASE"));
    221             break;
    222 
    223         default:
    224             LogRel(("<Unknown Mesage Type %d>", m_optMessageType.value()));
    225             break;
    226     }
     240    DhcpMessage::dump();
    227241
    228242    if (OptRapidCommit(*this).present())
     
    235249            LogRel((" for server %RTnaipv4", sid.value().u));
    236250
    237         LogRel((" xid 0x%08x", m_xid));
    238         LogRel((" chaddr %RTmac\n", &m_mac));
    239 
    240251        const OptClientId cid(*this);
    241         if (cid.present()) {
     252        if (cid.present())
     253        {
    242254            if (cid.value().size() > 0)
    243255                LogRel((" client id: %.*Rhxs\n", cid.value().size(), &cid.value().front()));
     
    245257                LogRel((" client id: <empty>\n"));
    246258        }
    247 
    248         LogRel((" ciaddr %RTnaipv4", m_ciaddr.u));
    249         if (m_yiaddr.u != 0)
    250             LogRel((" yiaddr %RTnaipv4", m_yiaddr.u));
    251         if (m_siaddr.u != 0)
    252             LogRel((" siaddr %RTnaipv4", m_siaddr.u));
    253         if (m_giaddr.u != 0)
    254             LogRel((" giaddr %RTnaipv4", m_giaddr.u));
    255         LogRel(("%s\n", broadcast() ? "broadcast" : ""));
    256 
    257259
    258260        const OptRequestedAddress reqAddr(*this);
     
    415417
    416418    /** @todo dump it */
     419    if ((LogRelIs4Enabled() && LogRelIsEnabled()) || LogIsEnabled())
     420        dump();
     421    if ((LogRelIs5Enabled() && LogRelIsEnabled()) || LogIs5Enabled())
     422        LogRel5(("encoded message: %u bytes\n%.*Rhxd\n", data.size(), data.size(), &data.front()));
    417423
    418424    return VINF_SUCCESS;
    419425}
     426
     427
     428/**
     429 * Dumps a server message to the log.
     430 */
     431void DhcpServerMessage::dump() const RT_NOEXCEPT
     432{
     433    DhcpMessage::dump();
     434
     435    /** @todo dump option details. */
     436}
     437
  • trunk/src/VBox/NetworkServices/Dhcpd/DhcpMessage.h

    r79568 r80022  
    8181    }
    8282    /** @} */
     83
     84    void            dump() const RT_NOEXCEPT;
    8385};
    8486
     
    144146
    145147    int             encode(octets_t &data);
     148    void            dump() const RT_NOEXCEPT;
    146149};
    147150
Note: See TracChangeset for help on using the changeset viewer.

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