Chip Davis : iphlpapi: Implement some more IpStatistics on BSD.
Alexandre Julliard
julliard at winehq.org
Fri Dec 13 15:27:22 CST 2019
Module: wine
Branch: master
Commit: 87dafc3c8782c9d7694787ec23c94b97486e6748
URL: https://source.winehq.org/git/wine.git/?a=commit;h=87dafc3c8782c9d7694787ec23c94b97486e6748
Author: Chip Davis <cdavis at codeweavers.com>
Date: Thu Dec 12 17:06:49 2019 -0600
iphlpapi: Implement some more IpStatistics on BSD.
Signed-off-by: Chip Davis <cdavis at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/iphlpapi/ipstats.c | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/dlls/iphlpapi/ipstats.c b/dlls/iphlpapi/ipstats.c
index df25d6468d..dd6a57015f 100644
--- a/dlls/iphlpapi/ipstats.c
+++ b/dlls/iphlpapi/ipstats.c
@@ -951,21 +951,26 @@ DWORD WINAPI GetIpStatisticsEx(PMIB_IPSTATS stats, DWORD family)
/* ip.forwarding is 0 or 1 on BSD */
stats->u.dwForwarding = ip_forwarding+1;
stats->dwDefaultTTL = ip_ttl;
- stats->dwInDelivers = ip_stat.ips_delivered;
- stats->dwInHdrErrors = ip_stat.ips_badhlen + ip_stat.ips_badsum + ip_stat.ips_tooshort + ip_stat.ips_badlen;
- stats->dwInAddrErrors = ip_stat.ips_cantforward;
stats->dwInReceives = ip_stat.ips_total;
+ stats->dwInHdrErrors = ip_stat.ips_badhlen + ip_stat.ips_badsum + ip_stat.ips_tooshort + ip_stat.ips_badlen +
+ ip_stat.ips_badvers + ip_stat.ips_badoptions;
+ /* ips_badaddr also includes outgoing packets with a bad address, but we can't account for that right now */
+ stats->dwInAddrErrors = ip_stat.ips_cantforward + ip_stat.ips_badaddr + ip_stat.ips_notmember;
stats->dwForwDatagrams = ip_stat.ips_forward;
stats->dwInUnknownProtos = ip_stat.ips_noproto;
stats->dwInDiscards = ip_stat.ips_fragdropped;
+ stats->dwInDelivers = ip_stat.ips_delivered;
+ stats->dwOutRequests = ip_stat.ips_localout;
+ /*stats->dwRoutingDiscards = 0;*/ /* FIXME */
stats->dwOutDiscards = ip_stat.ips_odropped;
+ stats->dwOutNoRoutes = ip_stat.ips_noroute;
+ stats->dwReasmTimeout = ip_stat.ips_fragtimeout;
+ stats->dwReasmReqds = ip_stat.ips_fragments;
stats->dwReasmOks = ip_stat.ips_reassembled;
+ stats->dwReasmFails = ip_stat.ips_fragments - ip_stat.ips_reassembled;
stats->dwFragOks = ip_stat.ips_fragmented;
stats->dwFragFails = ip_stat.ips_cantfrag;
- stats->dwReasmTimeout = ip_stat.ips_fragtimeout;
- stats->dwOutNoRoutes = ip_stat.ips_noroute;
- stats->dwOutRequests = ip_stat.ips_localout;
- stats->dwReasmReqds = ip_stat.ips_fragments;
+ stats->dwFragCreates = ip_stat.ips_ofragments;
ret = NO_ERROR;
}
#else
More information about the wine-cvs
mailing list