VirtualBox

Ignore:
Timestamp:
Jun 19, 2009 11:33:32 AM (16 years ago)
Author:
vboxsync
Message:

DrvNat,slirp: simplify statistics and deregister them.

Location:
trunk/src/VBox/Devices/Network/slirp
Files:
1 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Network/slirp/counters.h

    r20574 r20712  
    11/** $Id$ */
    22/** @file
    3  * Counters definitions and declarations
     3 * Counters macro invocation template.
     4 *
     5 * This is included with different PROFILE_COUNTER and COUNTING_COUNTER
     6 * implementations to instantiate data members, create function prototypes and
     7 * implement these prototypes.
    48 */
    59
    610/*
    7  * Copyright (C) 2007 Sun Microsystems, Inc.
     11 * Copyright (C) 2007-2009 Sun Microsystems, Inc.
    812 *
    913 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    1923 * additional information or have any questions.
    2024 */
     25
    2126#ifndef PROFILE_COUNTER
    2227# error PROFILE_COUNTER is not defied
    2328#endif
    2429#ifndef COUNTING_COUNTER
    25 #error COUNTING_COUNTER is not defined
     30# error COUNTING_COUNTER is not defined
    2631#endif
    2732
    28 PROFILE_COUNTER(Fill, "Profiling slirp fills")
    29 PROFILE_COUNTER(Poll, "Profiling slirp polls")
    30 PROFILE_COUNTER(FastTimer, "Profiling slirp fast timer")
    31 PROFILE_COUNTER(SlowTimer, "Profiling slirp slow timer")
    32 PROFILE_COUNTER(IOwrite, "Profiling IO sowrite")
    33 PROFILE_COUNTER(IOread, "Profiling IO soread")
     33PROFILE_COUNTER(Fill, "Profiling slirp fills");
     34PROFILE_COUNTER(Poll, "Profiling slirp polls");
     35PROFILE_COUNTER(FastTimer, "Profiling slirp fast timer");
     36PROFILE_COUNTER(SlowTimer, "Profiling slirp slow timer");
     37PROFILE_COUNTER(IOwrite, "Profiling IO sowrite");
     38PROFILE_COUNTER(IOread, "Profiling IO soread");
    3439
    35 COUNTING_COUNTER(TCP, "TCP sockets")
    36 COUNTING_COUNTER(TCPHot, "TCP sockets active")
    37 COUNTING_COUNTER(UDP, "UDP sockets")
    38 COUNTING_COUNTER(UDPHot, "UDP sockets active")
     40COUNTING_COUNTER(TCP, "TCP sockets");
     41COUNTING_COUNTER(TCPHot, "TCP sockets active");
     42COUNTING_COUNTER(UDP, "UDP sockets");
     43COUNTING_COUNTER(UDPHot, "UDP sockets active");
    3944
    40 COUNTING_COUNTER(IORead_in_1, "SB IORead_in_1")
    41 COUNTING_COUNTER(IORead_in_1_bytes, "SB IORead_in_1_bytes")
    42 COUNTING_COUNTER(IORead_in_2, "SB IORead_in_2")
    43 COUNTING_COUNTER(IORead_in_2_1st_bytes, "SB IORead_in_2_1st_bytes")
    44 COUNTING_COUNTER(IORead_in_2_2nd_bytes, "SB IORead_in_2_2nd_bytes")
    45 COUNTING_COUNTER(IOWrite_in_1, "SB IOWrite_in_1")
    46 COUNTING_COUNTER(IOWrite_in_1_bytes, "SB IOWrite_in_1_bytes")
    47 COUNTING_COUNTER(IOWrite_in_2, "SB IOWrite_in_2")
    48 COUNTING_COUNTER(IOWrite_in_2_1st_bytes, "SB IOWrite_in_2_1st_bytes")
    49 COUNTING_COUNTER(IOWrite_in_2_2nd_bytes, "SB IOWrite_in_2_2nd_bytes")
    50 COUNTING_COUNTER(IOWrite_no_w, "SB IOWrite_no_w")
    51 COUNTING_COUNTER(IOWrite_rest, "SB IOWrite_rest")
    52 COUNTING_COUNTER(IOWrite_rest_bytes, "SB IOWrite_rest_bytes")
     45COUNTING_COUNTER(IORead_in_1, "SB IORead_in_1");
     46COUNTING_COUNTER(IORead_in_1_bytes, "SB IORead_in_1_bytes");
     47COUNTING_COUNTER(IORead_in_2, "SB IORead_in_2");
     48COUNTING_COUNTER(IORead_in_2_1st_bytes, "SB IORead_in_2_1st_bytes");
     49COUNTING_COUNTER(IORead_in_2_2nd_bytes, "SB IORead_in_2_2nd_bytes");
     50COUNTING_COUNTER(IOWrite_in_1, "SB IOWrite_in_1");
     51COUNTING_COUNTER(IOWrite_in_1_bytes, "SB IOWrite_in_1_bytes");
     52COUNTING_COUNTER(IOWrite_in_2, "SB IOWrite_in_2");
     53COUNTING_COUNTER(IOWrite_in_2_1st_bytes, "SB IOWrite_in_2_1st_bytes");
     54COUNTING_COUNTER(IOWrite_in_2_2nd_bytes, "SB IOWrite_in_2_2nd_bytes");
     55COUNTING_COUNTER(IOWrite_no_w, "SB IOWrite_no_w");
     56COUNTING_COUNTER(IOWrite_rest, "SB IOWrite_rest");
     57COUNTING_COUNTER(IOWrite_rest_bytes, "SB IOWrite_rest_bytes");
    5358
    54 PROFILE_COUNTER(IOSBAppend_pf, "Profiling sbuf::append common")
    55 PROFILE_COUNTER(IOSBAppend_pf_wa, "Profiling sbuf::append all writen in network")
    56 PROFILE_COUNTER(IOSBAppend_pf_wf, "Profiling sbuf::append writen fault")
    57 PROFILE_COUNTER(IOSBAppend_pf_wp, "Profiling sbuf::append writen partly")
    58 COUNTING_COUNTER(IOSBAppend, "SB: Append total")
    59 COUNTING_COUNTER(IOSBAppend_wa, "SB: Append all is written to network ")
    60 COUNTING_COUNTER(IOSBAppend_wf, "SB: Append nothing is written")
    61 COUNTING_COUNTER(IOSBAppend_wp, "SB: Append is written partly")
    62 COUNTING_COUNTER(IOSBAppend_zm, "SB: Append mbuf is zerro or less")
     59PROFILE_COUNTER(IOSBAppend_pf, "Profiling sbuf::append common");
     60PROFILE_COUNTER(IOSBAppend_pf_wa, "Profiling sbuf::append all writen in network");
     61PROFILE_COUNTER(IOSBAppend_pf_wf, "Profiling sbuf::append writen fault");
     62PROFILE_COUNTER(IOSBAppend_pf_wp, "Profiling sbuf::append writen partly");
     63COUNTING_COUNTER(IOSBAppend, "SB: Append total");
     64COUNTING_COUNTER(IOSBAppend_wa, "SB: Append all is written to network ");
     65COUNTING_COUNTER(IOSBAppend_wf, "SB: Append nothing is written");
     66COUNTING_COUNTER(IOSBAppend_wp, "SB: Append is written partly");
     67COUNTING_COUNTER(IOSBAppend_zm, "SB: Append mbuf is zerro or less");
    6368
    64 COUNTING_COUNTER(IOSBAppendSB, "SB: AppendSB total")
    65 COUNTING_COUNTER(IOSBAppendSB_w_l_r, "SB: AppendSB (sb_wptr < sb_rptr)")
    66 COUNTING_COUNTER(IOSBAppendSB_w_ge_r, "SB: AppendSB (sb_wptr >= sb_rptr)")
    67 COUNTING_COUNTER(IOSBAppendSB_w_alter, "SB: AppendSB (altering of sb_wptr)")
     69COUNTING_COUNTER(IOSBAppendSB, "SB: AppendSB total");
     70COUNTING_COUNTER(IOSBAppendSB_w_l_r, "SB: AppendSB (sb_wptr < sb_rptr)");
     71COUNTING_COUNTER(IOSBAppendSB_w_ge_r, "SB: AppendSB (sb_wptr >= sb_rptr)");
     72COUNTING_COUNTER(IOSBAppendSB_w_alter, "SB: AppendSB (altering of sb_wptr)");
    6873
    69 PROFILE_COUNTER(TCP_reassamble, "TCP::reasamble")
    70 PROFILE_COUNTER(TCP_input, "TCP::input")
     74PROFILE_COUNTER(TCP_reassamble, "TCP::reasamble");
     75PROFILE_COUNTER(TCP_input, "TCP::input");
    7176
    72 COUNTING_COUNTER(DrvNAT_package_sent, "counting package sent via PDM queue")
    73 COUNTING_COUNTER(DrvNAT_package_drop, "counting package drops by PDM queue")
     77COUNTING_COUNTER(DrvNAT_package_sent, "counting package sent via PDM queue");
     78COUNTING_COUNTER(DrvNAT_package_drop, "counting package drops by PDM queue");
    7479
    75 
  • trunk/src/VBox/Devices/Network/slirp/libslirp.h

    r20380 r20712  
    3333int slirp_init(PNATState *, uint32_t, uint32_t, bool, void *);
    3434#endif
    35 void slirp_register_timers(PNATState pData, PPDMDRVINS pDrvIns);
     35void slirp_register_statistics(PNATState pData, PPDMDRVINS pDrvIns);
     36void slirp_deregister_statistics(PNATState pData, PPDMDRVINS pDrvIns);
    3637void slirp_term(PNATState);
    3738void slirp_link_up(PNATState);
  • trunk/src/VBox/Devices/Network/slirp/sbuf.c

    r20453 r20712  
    7878    int ret = 0;
    7979
    80     SLIRP_PROFILE_START(IOSBAppend_pf, a);
     80    STAM_PROFILE_START(&pData->StatIOSBAppend_pf, a);
    8181    DEBUG_CALL("sbappend");
    8282    DEBUG_ARG("so = %lx", (long)so);
     
    8484    DEBUG_ARG("m->m_len = %d", m->m_len);
    8585
    86     SLIRP_COUNTER_RESET(IOSBAppend);
    87     SLIRP_COUNTER_RESET(IOSBAppend_zm);
    88     SLIRP_COUNTER_RESET(IOSBAppend_wa);
    89     SLIRP_COUNTER_RESET(IOSBAppend_wf);
    90     SLIRP_COUNTER_RESET(IOSBAppend_wp);
    91 
    92     SLIRP_COUNTER_INC(IOSBAppend);
     86    STAM_COUNTER_RESET(&pData->StatIOSBAppend);
     87    STAM_COUNTER_RESET(&pData->StatIOSBAppend_zm);
     88    STAM_COUNTER_RESET(&pData->StatIOSBAppend_wa);
     89    STAM_COUNTER_RESET(&pData->StatIOSBAppend_wf);
     90    STAM_COUNTER_RESET(&pData->StatIOSBAppend_wp);
     91
     92    STAM_COUNTER_INC(&pData->StatIOSBAppend);
    9393    /* Shouldn't happen, but...  e.g. foreign host closes connection */
    9494    if (m->m_len <= 0)
    9595    {
    96         SLIRP_COUNTER_INC(IOSBAppend_zm);
     96        STAM_COUNTER_INC(&pData->StatIOSBAppend_zm);
    9797        goto done;
    9898    }
     
    120120    if (ret <= 0)
    121121    {
    122         SLIRP_COUNTER_INC(IOSBAppend_wf);
     122        STAM_COUNTER_INC(&pData->StatIOSBAppend_wf);
    123123        /*
    124124         * Nothing was written
     
    128128         */
    129129        sbappendsb(pData, &so->so_rcv, m);
    130         SLIRP_PROFILE_STOP(IOSBAppend_pf_wf, a);
     130        STAM_PROFILE_STOP(&pData->StatIOSBAppend_pf_wf, a);
    131131        goto done;
    132132    }
    133133    else if (ret != m->m_len)
    134134    {
    135         SLIRP_COUNTER_INC(IOSBAppend_wp);
     135        STAM_COUNTER_INC(&pData->StatIOSBAppend_wp);
    136136        /*
    137137         * Something was written, but not everything..
     
    141141        m->m_data += ret;
    142142        sbappendsb(pData, &so->so_rcv, m);
    143         SLIRP_PROFILE_STOP(IOSBAppend_pf_wp, a);
     143        STAM_PROFILE_STOP(&pData->StatIOSBAppend_pf_wp, a);
    144144        goto done;
    145145    } /* else */
    146146    /* Whatever happened, we free the mbuf */
    147     SLIRP_COUNTER_INC(IOSBAppend_wa);
    148     SLIRP_PROFILE_STOP(IOSBAppend_pf_wa, a);
     147    STAM_COUNTER_INC(&pData->StatIOSBAppend_wa);
     148    STAM_PROFILE_STOP(&pData->StatIOSBAppend_pf_wa, a);
    149149done:
    150150    m_free(pData, m);
     
    162162    len = m->m_len;
    163163
    164     SLIRP_COUNTER_RESET(IOSBAppendSB);
    165     SLIRP_COUNTER_RESET(IOSBAppendSB_w_l_r);
    166     SLIRP_COUNTER_RESET(IOSBAppendSB_w_ge_r);
    167     SLIRP_COUNTER_RESET(IOSBAppendSB_w_alter);
    168 
    169     SLIRP_COUNTER_INC(IOSBAppendSB);
     164    STAM_COUNTER_RESET(&pData->StatIOSBAppendSB);
     165    STAM_COUNTER_RESET(&pData->StatIOSBAppendSB_w_l_r);
     166    STAM_COUNTER_RESET(&pData->StatIOSBAppendSB_w_ge_r);
     167    STAM_COUNTER_RESET(&pData->StatIOSBAppendSB_w_alter);
     168
     169    STAM_COUNTER_INC(&pData->StatIOSBAppendSB);
    170170    if (sb->sb_wptr < sb->sb_rptr)
    171171    {
    172         SLIRP_COUNTER_INC(IOSBAppendSB_w_l_r);
     172        STAM_COUNTER_INC(&pData->StatIOSBAppendSB_w_l_r);
    173173        n = sb->sb_rptr - sb->sb_wptr;
    174174        if (n > len)
     
    178178    else
    179179    {
    180         SLIRP_COUNTER_INC(IOSBAppendSB_w_ge_r);
     180        STAM_COUNTER_INC(&pData->StatIOSBAppendSB_w_ge_r);
    181181        /* Do the right edge first */
    182182        n = sb->sb_data + sb->sb_datalen - sb->sb_wptr;
     
    200200    if (sb->sb_wptr >= sb->sb_data + sb->sb_datalen)
    201201    {
    202         SLIRP_COUNTER_INC(IOSBAppendSB_w_alter);
     202        STAM_COUNTER_INC(&pData->StatIOSBAppendSB_w_alter);
    203203        sb->sb_wptr -= sb->sb_datalen;
    204204    }
  • trunk/src/VBox/Devices/Network/slirp/slirp.c

    r20574 r20712  
    1919#endif
    2020#ifdef VBOX_WITH_SLIRP_ALIAS
    21 # include<alias.h>
     21# include <alias.h>
     22#endif
     23
     24#ifdef VBOX_WITH_STATISTICS
     25# include "statistics.h"
    2226#endif
    2327
     
    463467    snprintf(buff, sizeof(buff), "%s/resolv.conf", home);
    464468    f = fopen(buff, "r");
    465     if (f != NULL) 
     469    if (f != NULL)
    466470    {
    467471        Log(("NAT: DNS we're using %s\n", buff));
     
    705709        ftp_alias_load();
    706710        nbt_alias_load();
    707        
     711
    708712    }
    709713#endif
     
    711715}
    712716
     717/* instantiate the variables. */
     718#ifdef VBOX_WITH_STATISTICS
     719# define COUNTING_COUNTER(name, desc)    DECLHIDDEN(uint32_t) g_offSlirpStat##name
     720# define PROFILE_COUNTER(name, desc)     DECLHIDDEN(uint32_t) g_offSlirpStat##name
     721# include "counters.h"
     722# undef COUNTING_COUNTER
     723# undef PROFILE_COUNTER
     724#endif
     725
    713726/**
    714  * Statistics counters.
     727 * Register statistics.
    715728 */
    716 void slirp_register_timers(PNATState pData, PPDMDRVINS pDrvIns)
     729void slirp_register_statistics(PNATState pData, PPDMDRVINS pDrvIns)
    717730{
    718731#ifdef VBOX_WITH_STATISTICS
    719732# define COUNTER(name, type, units, dsc)                            \
    720 do{                                                                 \
    721     PDMDrvHlpSTAMRegisterF(pDrvIns,                                 \
    722                     &pData->Stat ## name,                           \
    723                     type,                                           \
    724                     STAMVISIBILITY_ALWAYS,                          \
    725                     units,                                          \
    726                     dsc,                                            \
    727                     "/Drivers/NAT%d/Stat" #name, pDrvIns->iInstance);   \
    728 }while(0)
    729 
    730 # define PROFILE_COUNTER(name, dsc) \
    731     COUNTER(name, STAMTYPE_PROFILE, STAMUNIT_TICKS_PER_CALL, dsc);
    732 # define COUNTING_COUNTER(name, dsc) \
    733     COUNTER(name, STAMTYPE_COUNTER, STAMUNIT_COUNT, dsc);
    734 
    735 #include "counters.h"
    736 
    737 #undef COUNTER
    738 #undef PROFILE_COUNTER
    739 #undef COUNTING_COUNTER
    740 
     733    do {                                                            \
     734        ASMAtomicUoWriteU32(&g_offSlirpStat##name,                  \
     735                            RT_UOFFSETOF(NATState, Stat##name));    \
     736        PDMDrvHlpSTAMRegisterF(pDrvIns,                             \
     737                               &pData->Stat ## name,                \
     738                               type,                                \
     739                               STAMVISIBILITY_ALWAYS,               \
     740                               units,                               \
     741                               dsc,                                 \
     742                               "/Drivers/NAT%u/Stat" #name,         \
     743                               pDrvIns->iInstance);                 \
     744    } while (0)
     745
     746# define PROFILE_COUNTER(name, dsc)     COUNTER(name, STAMTYPE_PROFILE, STAMUNIT_TICKS_PER_CALL, dsc)
     747# define COUNTING_COUNTER(name, dsc)    COUNTER(name, STAMTYPE_COUNTER, STAMUNIT_COUNT,          dsc)
     748
     749# include "counters.h"
     750
     751# undef COUNTER
     752# undef PROFILE_COUNTER
     753# undef COUNTING_COUNTER
     754#endif /* VBOX_WITH_STATISTICS */
     755}
     756
     757/**
     758 * Deregister statistics.
     759 */
     760void slirp_deregister_statistics(PNATState pData, PPDMDRVINS pDrvIns)
     761{
     762#ifdef VBOX_WITH_STATISTICS
     763# define PROFILE_COUNTER(name, dsc)     PDMDrvHlpSTAMDeregister(pDrvIns, &pData->Stat ## name)
     764# define COUNTING_COUNTER(name, dsc)    PDMDrvHlpSTAMDeregister(pDrvIns, &pData->Stat ## name)
     765
     766# include "counters.h"
     767
     768# undef COUNTING_COUNTER
     769# undef PROFILE_COUNTER
    741770#endif /* VBOX_WITH_STATISTICS */
    742771}
     
    864893    int i;
    865894
    866     SLIRP_PROFILE_START(Fill, a);
     895    STAM_PROFILE_START(&pData->StatFill, a);
    867896
    868897    nfds = *pnfds;
     
    894923    }
    895924    ICMP_ENGAGE_EVENT(&pData->icmp_socket, readfds);
    896    
    897     SLIRP_COUNTER_RESET(TCP);
    898     SLIRP_COUNTER_RESET(TCPHot);
    899    
     925
     926    STAM_COUNTER_RESET(&pData->StatTCP);
     927    STAM_COUNTER_RESET(&pData->StatTCPHot);
     928
    900929    QSOCKET_FOREACH(so, so_next, tcp)
    901930    /* { */
     
    903932        so->so_poll_index = -1;
    904933#endif
    905         SLIRP_COUNTER_INC(TCP);
    906    
     934        STAM_COUNTER_INC(&pData->StatTCP);
     935
    907936        /*
    908937         * See if we need a tcp_fasttimo
     
    912941                && so->so_tcpcb->t_flags & TF_DELACK)
    913942            time_fasttimo = curtime; /* Flag when we want a fasttimo */
    914    
     943
    915944        /*
    916945         * NOFDREF can include still connecting to local-host,
     
    919948        if (so->so_state & SS_NOFDREF || so->s == -1)
    920949            CONTINUE(tcp);
    921    
     950
    922951        /*
    923952         * Set for reading sockets which are accepting
     
    925954        if (so->so_state & SS_FACCEPTCONN)
    926955        {
    927             SLIRP_COUNTER_INC(TCPHot);
     956            STAM_COUNTER_INC(&pData->StatTCPHot);
    928957            TCP_ENGAGE_EVENT1(so, readfds);
    929958            CONTINUE(tcp);
    930959        }
    931    
     960
    932961        /*
    933962         * Set for writing sockets which are connecting
     
    936965        {
    937966            Log2(("connecting %R[natsock] engaged\n",so));
    938             SLIRP_COUNTER_INC(TCPHot);
     967            STAM_COUNTER_INC(&pData->StatTCPHot);
    939968            TCP_ENGAGE_EVENT1(so, writefds);
    940969        }
    941    
     970
    942971        /*
    943972         * Set for writing if we are connected, can send more, and
     
    946975        if (CONN_CANFSEND(so) && so->so_rcv.sb_cc)
    947976        {
    948             SLIRP_COUNTER_INC(TCPHot);
     977            STAM_COUNTER_INC(&pData->StatTCPHot);
    949978            TCP_ENGAGE_EVENT1(so, writefds);
    950979        }
    951    
     980
    952981        /*
    953982         * Set for reading (and urgent data) if we are connected, can
     
    956985        if (CONN_CANFRCV(so) && (so->so_snd.sb_cc < (so->so_snd.sb_datalen/2)))
    957986        {
    958             SLIRP_COUNTER_INC(TCPHot);
     987            STAM_COUNTER_INC(&pData->StatTCPHot);
    959988            TCP_ENGAGE_EVENT2(so, readfds, xfds);
    960989        }
    961990        LOOP_LABEL(tcp, so, so_next);
    962991    }
    963    
     992
    964993    /*
    965994     * UDP sockets
    966995     */
    967     SLIRP_COUNTER_RESET(UDP);
    968     SLIRP_COUNTER_RESET(UDPHot);
    969    
     996    STAM_COUNTER_RESET(&pData->StatUDP);
     997    STAM_COUNTER_RESET(&pData->StatUDPHot);
     998
    970999    QSOCKET_FOREACH(so, so_next, udp)
    9711000    /* { */
    972    
    973         SLIRP_COUNTER_INC(UDP);
     1001
     1002        STAM_COUNTER_INC(&pData->StatUDP);
    9741003#if !defined(RT_OS_WINDOWS)
    9751004        so->so_poll_index = -1;
     
    10001029                do_slowtimo = 1; /* Let socket expire */
    10011030        }
    1002    
     1031
    10031032        /*
    10041033         * When UDP packets are received from over the link, they're
     
    10131042        if ((so->so_state & SS_ISFCONNECTED) && so->so_queued <= 4)
    10141043        {
    1015             SLIRP_COUNTER_INC(UDPHot);
     1044            STAM_COUNTER_INC(&pData->StatUDPHot);
    10161045            UDP_ENGAGE_EVENT(so, readfds);
    10171046        }
     
    10271056#endif /* !RT_OS_WINDOWS */
    10281057
    1029     SLIRP_PROFILE_STOP(Fill, a);
     1058    STAM_PROFILE_STOP(&pData->StatFill, a);
    10301059}
    10311060
     
    10461075#endif
    10471076
    1048     SLIRP_PROFILE_START(Poll, a);
     1077    STAM_PROFILE_START(&pData->StatPoll, a);
    10491078
    10501079    /* Update time */
     
    10581087        if (time_fasttimo && ((curtime - time_fasttimo) >= 2))
    10591088        {
    1060             SLIRP_PROFILE_START(FastTimer, a);
     1089            STAM_PROFILE_START(&pData->StatFastTimer, a);
    10611090            tcp_fasttimo(pData);
    10621091            time_fasttimo = 0;
    1063             SLIRP_PROFILE_STOP(FastTimer, a);
     1092            STAM_PROFILE_STOP(&pData->StatFastTimer, a);
    10641093        }
    10651094        if (do_slowtimo && ((curtime - last_slowtimo) >= 499))
    10661095        {
    1067             SLIRP_PROFILE_START(SlowTimer, a);
     1096            STAM_PROFILE_START(&pData->StatSlowTimer, a);
    10681097            ip_slowtimo(pData);
    10691098            tcp_slowtimo(pData);
    10701099            last_slowtimo = curtime;
    1071             SLIRP_PROFILE_STOP(SlowTimer, a);
     1100            STAM_PROFILE_STOP(&pData->StatSlowTimer, a);
    10721101        }
    10731102    }
     
    10811110     */
    10821111    if (!link_up)
    1083         goto done; 
     1112        goto done;
    10841113#if defined(RT_OS_WINDOWS)
    10851114    /*XXX: before renaming please make see define
     
    11351164        if (so->so_state & SS_NOFDREF || so->s == -1)
    11361165            CONTINUE(tcp);
    1137        
     1166
    11381167        POLL_TCP_EVENTS(rc, error, so, &NetworkEvents);
    1139        
     1168
    11401169        LOG_NAT_SOCK(so, TCP, &NetworkEvents, readfds, writefds, xfds);
    1141        
    1142        
     1170
     1171
    11431172        /*
    11441173         * Check for URG data
     
    11461175         * test for readfds below if this succeeds
    11471176         */
    1148        
     1177
    11491178        /* out-of-band data */
    11501179        if (CHECK_FD_SET(so, NetworkEvents, xfds))
     
    11521181            sorecvoob(pData, so);
    11531182        }
    1154        
     1183
    11551184        /*
    11561185         * Check sockets for reading
     
    11701199                    CONTINUE(tcp);
    11711200            }
    1172        
     1201
    11731202            ret = soread(pData, so);
    11741203            /* Output it if we read something */
     
    12001229        }
    12011230#endif
    1202        
     1231
    12031232        /*
    12041233         * Check sockets for writing
     
    12141243                /* Connected */
    12151244                so->so_state &= ~SS_ISFCONNECTING;
    1216        
     1245
    12171246                /*
    12181247                 * This should be probably guarded by PROBE_CONN too. Anyway,
     
    12311260                        || errno == ENOTCONN)
    12321261                        CONTINUE(tcp);
    1233                
     1262
    12341263                    /* else failed */
    12351264                    so->so_state = SS_NOFDREF;
     
    12371266                /* else so->so_state &= ~SS_ISFCONNECTING; */
    12381267#endif
    1239        
     1268
    12401269                /*
    12411270                 * Continue tcp_input
     
    12521281             */
    12531282        }
    1254        
     1283
    12551284        /*
    12561285         * Probe a still-connecting, non-blocking socket
     
    12611290        {
    12621291            ret = recv(so->s, (char *)&ret, 0, 0);
    1263        
     1292
    12641293            if (ret < 0)
    12651294            {
     
    12721301                    CONTINUE(tcp); /* Still connecting, continue */
    12731302                }
    1274        
     1303
    12751304                /* else failed */
    12761305                so->so_state = SS_NOFDREF;
    1277        
     1306
    12781307                /* tcp_input will take care of it */
    12791308            }
     
    12961325                else
    12971326                    so->so_state &= ~SS_ISFCONNECTING;
    1298        
     1327
    12991328            }
    13001329            TCP_INPUT((struct mbuf *)NULL, sizeof(struct ip),so);
     
    14171446#endif
    14181447        POLL_UDP_EVENTS(rc, error, so, &NetworkEvents);
    1419    
     1448
    14201449        LOG_NAT_SOCK(so, UDP, &NetworkEvents, readfds, writefds, xfds);
    1421    
     1450
    14221451        if (so->s != -1 && CHECK_FD_SET(so, NetworkEvents, readfds))
    14231452        {
     
    14361465#endif
    14371466
    1438     SLIRP_PROFILE_STOP(Poll, a);
     1467    STAM_PROFILE_STOP(&pData->StatPoll, a);
    14391468}
    14401469
     
    14921521#ifdef VBOX_WITHOUT_SLIRP_CLIENT_ETHER
    14931522    reh = mtod(mr, struct ethhdr *);
    1494     memcpy(reh->h_source, eh->h_source, ETH_ALEN); /* XXX: if_encap will swap src and dst*/ 
     1523    memcpy(reh->h_source, eh->h_source, ETH_ALEN); /* XXX: if_encap will swap src and dst*/
    14951524    Log4(("NAT: arp:%R[ether]->%R[ether]\n",
    14961525        reh->h_source, reh->h_dest));
     
    15161545                for (ex_ptr = exec_list; ex_ptr; ex_ptr = ex_ptr->ex_next)
    15171546                {
    1518                     if ((htip & ~pData->netmask) == ex_ptr->ex_addr) 
     1547                    if ((htip & ~pData->netmask) == ex_ptr->ex_addr)
    15191548                    {
    15201549                        goto arp_ok;
     
    15661595    Log4(("NAT: in:%R[ether]->%R[ether]\n", &eh->h_source, &eh->h_dest));
    15671596#ifdef VBOX_WITHOUT_SLIRP_CLIENT_ETHER
    1568     if (memcmp(eh->h_source, special_ethaddr, ETH_ALEN) == 0) 
     1597    if (memcmp(eh->h_source, special_ethaddr, ETH_ALEN) == 0)
    15691598    {
    15701599        /* @todo vasily: add ether logging routine in debug.c */
     
    16281657    m->m_len += ETH_HLEN;
    16291658    eh = mtod(m, struct ethhdr *);
    1630    
     1659
    16311660    if(MBUF_HEAD(m) != m->m_data)
    16321661    {
     
    16411670    eh->h_source[5] = CTL_ALIAS;
    16421671#else
    1643     if (memcmp(eh->h_source, special_ethaddr, ETH_ALEN) != 0) 
     1672    if (memcmp(eh->h_source, special_ethaddr, ETH_ALEN) != 0)
    16441673    {
    16451674        memcpy(eh->h_dest, eh->h_source, ETH_ALEN);
     
    16991728    psin->sin_addr.s_addr = INADDR_ANY;
    17001729    socketlen = sizeof(struct sockaddr);
    1701    
    1702     rc = getsockname(so->s, &sa, &socketlen); 
    1703     if (rc < 0 || sa.sa_family != AF_INET) 
     1730
     1731    rc = getsockname(so->s, &sa, &socketlen);
     1732    if (rc < 0 || sa.sa_family != AF_INET)
    17041733    {
    17051734        Log(("NAT: can't get socket's name\n"));
     
    17081737
    17091738    psin = (struct sockaddr_in *)&sa;
    1710    
     1739
    17111740#if 1
    17121741    lib = LibAliasInit(pData, NULL);
     
    17241753        special_addr,  -1, /* not very clear for now*/
    17251754        (is_udp ? IPPROTO_UDP : IPPROTO_TCP));
    1726     if (link == NULL) 
     1755    if (link == NULL)
    17271756    {
    17281757        Log(("NAT: can't create redirect\n"));
     
    17301759    }
    17311760    so->so_la = lib;
    1732    
     1761
    17331762    return 0;
    17341763#endif
     
    17651794    {
    17661795        if (time_fasttimo)
    1767             return 2; 
     1796            return 2;
    17681797        if (do_slowtimo)
    17691798            return 500; /* see PR_SLOWHZ */
     
    18131842        case 500:
    18141843                if (hsport != 500) /* vpnc by default try operate in src:500/dst:500 mode*/
    1815                 /* Not sure why this make Cisco VPN client's connection more stable, 
     1844                /* Not sure why this make Cisco VPN client's connection more stable,
    18161845                 * at least on some servers
    18171846                 */
    1818                     service = sport; 
     1847                    service = sport;
    18191848        break;
    18201849    }
     
    18701899void slirp_set_rcvbuf(PNATState pData, int kilobytes)
    18711900{
    1872     _8K_1M_CHECK_ARG("SOCKET_RCVBUF", kilobytes);   
     1901    _8K_1M_CHECK_ARG("SOCKET_RCVBUF", kilobytes);
    18731902    pData->socket_rcv = kilobytes;
    18741903}
    18751904void slirp_set_sndbuf(PNATState pData, int kilobytes)
    18761905{
    1877     _8K_1M_CHECK_ARG("SOCKET_SNDBUF", kilobytes);   
     1906    _8K_1M_CHECK_ARG("SOCKET_SNDBUF", kilobytes);
    18781907    pData->socket_snd = kilobytes * _1K;
    18791908}
    18801909void slirp_set_tcp_rcvspace(PNATState pData, int kilobytes)
    18811910{
    1882     _8K_1M_CHECK_ARG("TCP_RCVSPACE", kilobytes);   
     1911    _8K_1M_CHECK_ARG("TCP_RCVSPACE", kilobytes);
    18831912    tcp_rcvspace = kilobytes * _1K;
    18841913}
    18851914void slirp_set_tcp_sndspace(PNATState pData, int kilobytes)
    18861915{
    1887     _8K_1M_CHECK_ARG("TCP_SNDSPACE", kilobytes);   
     1916    _8K_1M_CHECK_ARG("TCP_SNDSPACE", kilobytes);
    18881917    tcp_sndspace = kilobytes * _1K;
    18891918}
    18901919
    1891 #ifdef VBOX_WITH_STATISTICS
    1892 /*definitions */
    1893 #define COUNTING_COUNTER(name, dsc) \
    1894 void slirp_counting_counter_##name##_reset(PNATState);      \
    1895 void slirp_counting_counter_##name##_inc(PNATState);        \
    1896 void slirp_counting_counter_##name##_add(PNATState,int );   \
    1897 /* @todo think abaout it */
    1898 #define PROFILE_COUNTER(name, dsc)
    1899 #include "counters.h"
    1900 #undef COUNTING_COUNTER
    1901 #undef PROFILE_COUNTER
    1902 
    1903 /*declarations*/
    1904 #define COUNTING_COUNTER(name, dsc) \
    1905 void slirp_counting_counter_##name##_reset(PNATState pData) \
    1906 {                                                           \
    1907     SLIRP_COUNTER_RESET(name);                              \
    1908 }                                                           \
    1909 void slirp_counting_counter_##name##_inc(PNATState pData)   \
    1910 {                                                           \
    1911     SLIRP_COUNTER_INC(name);                                \
    1912 }                                                           \
    1913 void slirp_counting_counter_##name##_add(PNATState pData,int val)   \
    1914 {                                                           \
    1915     SLIRP_COUNTER_ADD(name, val);                           \
    1916 }
    1917 /* @todo think abaout it */
    1918 #define PROFILE_COUNTER(name, dsc)
    1919 #include "counters.h"
    1920 #undef COUNTING_COUNTER
    1921 #undef PROFILE_COUNTER
    1922 #endif
  • trunk/src/VBox/Devices/Network/slirp/slirp.h

    r20376 r20712  
    370370# define ip_next(ip) (void *)((uint8_t *)(ip) + ((ip)->ip_hl << 2))
    371371# define udp_next(udp) (void *)((uint8_t *)&((struct udphdr *)(udp))[1] )
    372 # define bcopy(src, dst, len) memcpy((dst), (src), (len)) 
    373 # define bcmp(a1, a2, len) memcmp((a1), (a2), (len)) 
     372# define bcopy(src, dst, len) memcpy((dst), (src), (len))
     373# define bcmp(a1, a2, len) memcmp((a1), (a2), (len))
    374374# define NO_FW_PUNCH
    375375
     
    436436#endif /*VBOX_WITH_SLIRP_ALIAS*/
    437437
    438 #ifdef VBOX_WITH_STATISTICS
    439 #define VBOX_SLIRP_COUNTER_OPER_ARG0(name, type, op) \
    440     STAM_##type##_##op(&pData->Stat##name)
    441 #define VBOX_SLIRP_COUNTER_OPER_ARG1(name, type, op, arg) \
    442     STAM_##type##_##op(&pData->Stat##name, arg)
    443 #else
    444 #define VBOX_SLIRP_COUNTER_OPER_ARG0(name, type, op) do{}while(0)
    445 #define VBOX_SLIRP_COUNTER_OPER_ARG1(name, type, op, arg) do{}while(0)
    446 #endif
    447 
    448 #define SLIRP_PROFILE_START(name, arg) \
    449     VBOX_SLIRP_COUNTER_OPER_ARG1(name, PROFILE, START, arg)
    450 #define SLIRP_PROFILE_STOP(name, arg)  \
    451     VBOX_SLIRP_COUNTER_OPER_ARG1(name, PROFILE, STOP, arg)
    452 
    453 #define SLIRP_COUNTER_RESET(name) \
    454     VBOX_SLIRP_COUNTER_OPER_ARG0(name, COUNTER, RESET)
    455 
    456 #define SLIRP_COUNTER_INC(name) \
    457     VBOX_SLIRP_COUNTER_OPER_ARG0(name, COUNTER, INC)
    458 
    459 #define SLIRP_COUNTER_ADD(name, val) \
    460     VBOX_SLIRP_COUNTER_OPER_ARG1(name, COUNTER, ADD, (val))
    461 
    462 #endif
     438#endif
     439
  • trunk/src/VBox/Devices/Network/slirp/slirp_state.h

    r20574 r20712  
    1919 */
    2020
    21 #ifndef _slirp_state_h_
    22 #define _slirp_state_h_
     21#ifndef ___slirp_state_h
     22#define ___slirp_state_h
     23
    2324#include <iprt/req.h>
    2425#include "ip_icmp.h"
     
    229230    int sock_answer;
    230231    /* dnsproxy/hash.c */
    231     #define HASHSIZE 10
    232     #define HASH(id) (id & ((1 << HASHSIZE) - 1))
     232# define HASHSIZE 10
     233# define HASH(id) (id & ((1 << HASHSIZE) - 1))
    233234    struct request *request_hash[1 << HASHSIZE];
    234235    /* this field control behaviour of DHCP server */
     
    240241#endif
    241242
    242 # define PROFILE_COUNTER(name, dsc) STAMPROFILE Stat ## name;
    243 # define COUNTING_COUNTER(name, dsc) STAMCOUNTER Stat ## name;
     243#define PROFILE_COUNTER(name, dsc)     STAMPROFILE Stat ## name
     244#define COUNTING_COUNTER(name, dsc)    STAMCOUNTER Stat ## name
    244245
    245246#include "counters.h"
     
    600601                && so->so_fport        == (dport))                      \
    601602                {                                                       \
    602                     if (sonxt != &VBOX_X2(queue_ ## label ## _label))       \
     603                    if (sonxt != &VBOX_X2(queue_ ## label ## _label))   \
    603604                        SOCKET_UNLOCK(sonxt);                           \
    604605                    break; /*so is locked*/                             \
     
    685686#endif
    686687
    687 #endif /* !_slirp_state_h_ */
     688#endif /* !___slirp_state_h */
     689
  • trunk/src/VBox/Devices/Network/slirp/socket.c

    r20379 r20712  
    125125    int mss = so->so_tcpcb->t_maxseg;
    126126
    127     SLIRP_PROFILE_START(IOread, a);
    128     SLIRP_COUNTER_RESET(IORead_in_1);
    129     SLIRP_COUNTER_RESET(IORead_in_2);
     127    STAM_PROFILE_START(&pData->StatIOread, a);
     128    STAM_COUNTER_RESET(&pData->StatIORead_in_1);
     129    STAM_COUNTER_RESET(&pData->StatIORead_in_2);
    130130
    131131    QSOCKET_LOCK(tcb);
     
    220220        {
    221221            SOCKET_UNLOCK(so);
    222             SLIRP_PROFILE_STOP(IOread, a);
     222            STAM_PROFILE_STOP(&pData->StatIOread, a);
    223223            return 0;
    224224        }
     
    244244    STAM_STATS(
    245245        if (n == 1)
    246         { 
     246        {
    247247            STAM_COUNTER_INC(&pData->StatIORead_in_1);
    248248            STAM_COUNTER_ADD(&pData->StatIORead_in_1_bytes, nn);
     
    274274            if(ret > 0)
    275275            {
    276                 SLIRP_COUNTER_INC(IORead_in_2);
    277                 SLIRP_COUNTER_ADD(IORead_in_2_2nd_bytes, ret);
     276                STAM_COUNTER_INC(&pData->StatIORead_in_2);
     277                STAM_COUNTER_ADD(&pData->StatIORead_in_2_2nd_bytes, ret);
    278278            }
    279279        );
     
    401401    struct iovec iov[2];
    402402
    403     SLIRP_PROFILE_START(IOwrite, a);
    404     SLIRP_COUNTER_RESET(IOWrite_in_1);
    405     SLIRP_COUNTER_RESET(IOWrite_in_1_bytes);
    406     SLIRP_COUNTER_RESET(IOWrite_in_2);
    407     SLIRP_COUNTER_RESET(IOWrite_in_2_1st_bytes);
    408     SLIRP_COUNTER_RESET(IOWrite_in_2_2nd_bytes);
    409     SLIRP_COUNTER_RESET(IOWrite_no_w);
    410     SLIRP_COUNTER_RESET(IOWrite_rest);
    411     SLIRP_COUNTER_RESET(IOWrite_rest_bytes);
     403    STAM_PROFILE_START(&pData->StatIOwrite, a);
     404    STAM_COUNTER_RESET(&pData->StatIOWrite_in_1);
     405    STAM_COUNTER_RESET(&pData->StatIOWrite_in_1_bytes);
     406    STAM_COUNTER_RESET(&pData->StatIOWrite_in_2);
     407    STAM_COUNTER_RESET(&pData->StatIOWrite_in_2_1st_bytes);
     408    STAM_COUNTER_RESET(&pData->StatIOWrite_in_2_2nd_bytes);
     409    STAM_COUNTER_RESET(&pData->StatIOWrite_no_w);
     410    STAM_COUNTER_RESET(&pData->StatIOWrite_rest);
     411    STAM_COUNTER_RESET(&pData->StatIOWrite_rest_bytes);
    412412    DEBUG_CALL("sowrite");
    413413    DEBUG_ARG("so = %lx", (long)so);
     
    462462    }
    463463    STAM_STATS({
    464         if (n == 1) 
    465         {
    466             SLIRP_COUNTER_INC(IOWrite_in_1);
    467             SLIRP_COUNTER_ADD(IOWrite_in_1_bytes, iov[0].iov_len);
     464        if (n == 1)
     465        {
     466            STAM_COUNTER_INC(&pData->StatIOWrite_in_1);
     467            STAM_COUNTER_ADD(&pData->StatIOWrite_in_1_bytes, iov[0].iov_len);
    468468        }
    469469        else
    470470        {
    471             SLIRP_COUNTER_INC(IOWrite_in_2);
    472             SLIRP_COUNTER_ADD(IOWrite_in_2_1st_bytes, iov[0].iov_len);
    473             SLIRP_COUNTER_ADD(IOWrite_in_2_2nd_bytes, iov[1].iov_len);
     471            STAM_COUNTER_INC(&pData->StatIOWrite_in_2);
     472            STAM_COUNTER_ADD(&pData->StatIOWrite_in_2_1st_bytes, iov[0].iov_len);
     473            STAM_COUNTER_ADD(&pData->StatIOWrite_in_2_2nd_bytes, iov[1].iov_len);
    474474        }
    475475    });
     
    510510            if (ret > 0 && ret != iov[1].iov_len)
    511511            {
    512                 SLIRP_COUNTER_INC(IOWrite_rest);
    513                 SLIRP_COUNTER_ADD(IOWrite_rest_bytes, (ret - iov[1].iov_len));
     512                STAM_COUNTER_INC(&pData->StatIOWrite_rest);
     513                STAM_COUNTER_ADD(&pData->StatIOWrite_rest_bytes, (ret - iov[1].iov_len));
    514514            }
    515515        });
     
    532532
    533533    SOCKET_UNLOCK(so);
    534     SLIRP_PROFILE_STOP(IOwrite, a);
     534    STAM_PROFILE_STOP(&pData->StatIOwrite, a);
    535535    return nn;
    536536}
     
    576576        }
    577577        /* adjust both parameters to maks M_FREEROOM calculate correct */
    578         m_adj(m, if_maxlinkhdr + sizeof(struct udphdr) + sizeof(struct ip)); 
     578        m_adj(m, if_maxlinkhdr + sizeof(struct udphdr) + sizeof(struct ip));
    579579
    580580        /*
     
    635635                    so->so_expire = curtime + SO_EXPIRE;
    636636            }
    637             /* 
     637            /*
    638638             *  last argument should be changed if Slirp will inject IP attributes
    639639             *  Note: Here we can't check if dnsproxy's sent initial request
    640640             */
    641641            if (so->so_fport == htons(53))
    642                 dnsproxy_answer(pData, so, m); 
     642                dnsproxy_answer(pData, so, m);
    643643#endif
    644644
  • trunk/src/VBox/Devices/Network/slirp/tcp_input.c

    r20453 r20712  
    7979    struct socket *so = tp->t_socket;
    8080    int flags;
    81     SLIRP_PROFILE_START(TCP_reassamble, tcp_reassamble);
     81    STAM_PROFILE_START(&pData->StatTCP_reassamble, tcp_reassamble);
    8282
    8383    /*
     
    109109        m_freem(pData, m);
    110110        *tlenp = 0;
    111         SLIRP_PROFILE_STOP(TCP_reassamble, tcp_reassamble);
     111        STAM_PROFILE_STOP(&pData->StatTCP_reassamble, tcp_reassamble);
    112112        return (0);
    113113    }
     
    123123        m_freem(pData, m);
    124124        *tlenp = 0;
    125         SLIRP_PROFILE_STOP(TCP_reassamble, tcp_reassamble);
     125        STAM_PROFILE_STOP(&pData->StatTCP_reassamble, tcp_reassamble);
    126126        return (0);
    127127    }
     
    222222    if (!TCPS_HAVEESTABLISHED(tp->t_state))
    223223    {
    224         SLIRP_PROFILE_STOP(TCP_reassamble, tcp_reassamble);
     224        STAM_PROFILE_STOP(&pData->StatTCP_reassamble, tcp_reassamble);
    225225        return (0);
    226226    }
     
    228228    if (!q || q->tqe_th->th_seq != tp->rcv_nxt)
    229229    {
    230         SLIRP_PROFILE_STOP(TCP_reassamble, tcp_reassamble);
     230        STAM_PROFILE_STOP(&pData->StatTCP_reassamble, tcp_reassamble);
    231231        return (0);
    232232    }
     
    247247            {
    248248                if (tcp_emu(pData, so, q->tqe_m))
    249                     sbappend(pData, so, q->tqe_m); 
     249                    sbappend(pData, so, q->tqe_m);
    250250            }
    251251            else
     
    259259    while (q && q->tqe_th->th_seq == tp->rcv_nxt);
    260260
    261     SLIRP_PROFILE_STOP(TCP_reassamble, tcp_reassamble);
     261    STAM_PROFILE_STOP(&pData->StatTCP_reassamble, tcp_reassamble);
    262262    return flags;
    263263}
     
    283283    u_long tiwin;
    284284/*  int ts_present = 0; */
    285     SLIRP_PROFILE_START(TCP_input, counter_input);
     285    STAM_PROFILE_START(&pData->StatTCP_input, counter_input);
    286286
    287287    DEBUG_CALL("tcp_input");
    288288    DEBUG_ARGS((dfd," m = %8lx  iphlen = %2d  inso = %lx\n",
    289289                (long )m, iphlen, (long )inso ));
    290    
    291     if (inso != NULL) 
    292     { 
     290
     291    if (inso != NULL)
     292    {
    293293        QSOCKET_LOCK(tcb);
    294294        SOCKET_LOCK(inso);
     
    314314                        /* mbuf should be cleared in sofree called from tcp_close */
    315315                        tcp_close(pData, tp);
    316                         SLIRP_PROFILE_STOP(TCP_input, counter_input);
     316                        STAM_PROFILE_STOP(&pData->StatTCP_input, counter_input);
    317317                        return;
    318318                }
     
    431431        struct socket *sonxt;
    432432        QSOCKET_UNLOCK(tcb);
    433         /* @todo fix SOLOOKUP macrodefinition to be usable here */ 
     433        /* @todo fix SOLOOKUP macrodefinition to be usable here */
    434434#ifndef VBOX_WITH_SLIRP_MT
    435435        so = solookup(&tcb, ti->ti_src, ti->ti_sport,
     
    437437#else
    438438        so = NULL;
    439         QSOCKET_FOREACH(so, sonxt, tcp)       
     439        QSOCKET_FOREACH(so, sonxt, tcp)
    440440        /* { */
    441441            if (   so->so_lport        == ti->ti_sport
     
    443443                && so->so_faddr.s_addr == ti->ti_dst.s_addr
    444444                && so->so_fport        == ti->ti_dport
    445                 && so->so_deleted != 1) 
     445                && so->so_deleted != 1)
    446446            {
    447447                break; /* so is locked here */
     
    458458        }
    459459        ++tcpstat.tcps_socachemiss;
    460     } 
     460    }
    461461    else
    462462    {
     
    490490            goto dropwithreset;
    491491        }
    492         SOCKET_LOCK(so); 
     492        SOCKET_LOCK(so);
    493493        sbreserve(pData, &so->so_snd, tcp_sndspace);
    494494        sbreserve(pData, &so->so_rcv, tcp_rcvspace);
     
    514514     * or something else, we nuke it.
    515515     */
    516     if (so->so_state & SS_ISFCONNECTING) 
     516    if (so->so_state & SS_ISFCONNECTING)
    517517    {
    518518        goto drop;
     
    649649
    650650              SOCKET_UNLOCK(so);
    651               SLIRP_PROFILE_STOP(TCP_input, counter_input);
     651              STAM_PROFILE_STOP(&pData->StatTCP_input, counter_input);
    652652              return;
    653653            }
     
    695695            tcp_output(pData, tp);
    696696            SOCKET_UNLOCK(so);
    697             SLIRP_PROFILE_STOP(TCP_input, counter_input);
     697            STAM_PROFILE_STOP(&pData->StatTCP_input, counter_input);
    698698            return;
    699699        }
     
    735735            if (tiflags & TH_ACK)
    736736                goto dropwithreset;
    737             if ((tiflags & TH_SYN) == 0) 
     737            if ((tiflags & TH_SYN) == 0)
    738738            {
    739739                goto drop;
     
    795795            }
    796796            SOCKET_UNLOCK(so);
    797             SLIRP_PROFILE_STOP(TCP_input, counter_input);
     797            STAM_PROFILE_STOP(&pData->StatTCP_input, counter_input);
    798798            return;
    799799
     
    853853            }
    854854
    855             if ((tiflags & TH_SYN) == 0) 
     855            if ((tiflags & TH_SYN) == 0)
    856856            {
    857857                goto drop;
     
    10761076    if (   ts_present
    10771077        && SEQ_LEQ(ti->ti_seq, tp->last_ack_sent)
    1078         && SEQ_LT(tp->last_ack_sent, ti->ti_seq + ti->ti_len + ((tiflags & (TH_SYN|TH_FIN)) != 0))) 
     1078        && SEQ_LT(tp->last_ack_sent, ti->ti_seq + ti->ti_len + ((tiflags & (TH_SYN|TH_FIN)) != 0)))
    10791079    {
    10801080        tp->ts_recent_age = tcp_now;
     
    11311131     * If the ACK bit is off we drop the segment and return.
    11321132     */
    1133     if ((tiflags & TH_ACK) == 0) 
     1133    if ((tiflags & TH_ACK) == 0)
    11341134    {
    11351135        goto drop;
     
    15201520            if (so->so_state & SS_FCANTRCVMORE)
    15211521                m_freem(pData, m);
    1522             else 
    1523             {
    1524                 if (so->so_emu) 
     1522            else
     1523            {
     1524                if (so->so_emu)
    15251525                {
    15261526                    if (tcp_emu(pData, so, m))
     
    16221622
    16231623    SOCKET_UNLOCK(so);
    1624     SLIRP_PROFILE_STOP(TCP_input, counter_input);
     1624    STAM_PROFILE_STOP(&pData->StatTCP_input, counter_input);
    16251625    return;
    16261626
     
    16371637    (void) tcp_output(pData, tp);
    16381638    SOCKET_UNLOCK(so);
    1639     SLIRP_PROFILE_STOP(TCP_input, counter_input);
     1639    STAM_PROFILE_STOP(&pData->StatTCP_input, counter_input);
    16401640    return;
    16411641
     
    16531653    if (so != &tcb)
    16541654        SOCKET_UNLOCK(so);
    1655     SLIRP_PROFILE_STOP(TCP_input, counter_input);
     1655    STAM_PROFILE_STOP(&pData->StatTCP_input, counter_input);
    16561656    return;
    16571657
     
    16631663
    16641664#ifdef VBOX_WITH_SLIRP_MT
    1665     if (RTCritSectIsOwned(&so->so_mutex)) 
     1665    if (RTCritSectIsOwned(&so->so_mutex))
    16661666    {
    16671667        SOCKET_UNLOCK(so);
     
    16691669#endif
    16701670
    1671     SLIRP_PROFILE_STOP(TCP_input, counter_input);
     1671    STAM_PROFILE_STOP(&pData->StatTCP_input, counter_input);
    16721672    return;
    16731673}
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