Fix issue #72 - multiple stat output
This commit is contained in:
parent
f7a4bc566a
commit
a35ecdd129
39
bin/nfstat.c
39
bin/nfstat.c
@ -1,4 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
|
* Copyright (c) 2017, Peter Haag
|
||||||
* Copyright (c) 2014, Peter Haag
|
* Copyright (c) 2014, Peter Haag
|
||||||
* Copyright (c) 2009, Peter Haag
|
* Copyright (c) 2009, Peter Haag
|
||||||
* Copyright (c) 2004-2008, SWITCH - Teleinformatikdienste fuer Lehre und Forschung
|
* Copyright (c) 2004-2008, SWITCH - Teleinformatikdienste fuer Lehre und Forschung
|
||||||
@ -28,12 +29,6 @@
|
|||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* $Author: haag $
|
|
||||||
*
|
|
||||||
* $Id: nfstat.c 69 2010-09-09 07:17:43Z haag $
|
|
||||||
*
|
|
||||||
* $LastChangedRevision: 69 $
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
@ -1139,9 +1134,10 @@ struct tm *tbuff;
|
|||||||
case IS_IPADDR:
|
case IS_IPADDR:
|
||||||
tag_string[0] = tag ? TAG_CHAR : '\0';
|
tag_string[0] = tag ? TAG_CHAR : '\0';
|
||||||
if ( (StatData->record_flags & 0x1) != 0 ) { // IPv6
|
if ( (StatData->record_flags & 0x1) != 0 ) { // IPv6
|
||||||
StatData->stat_key[0] = htonll(StatData->stat_key[0]);
|
uint64_t _key[2];
|
||||||
StatData->stat_key[1] = htonll(StatData->stat_key[1]);
|
_key[0] = htonll(StatData->stat_key[0]);
|
||||||
inet_ntop(AF_INET6, StatData->stat_key, valstr, sizeof(valstr));
|
_key[1] = htonll(StatData->stat_key[1]);
|
||||||
|
inet_ntop(AF_INET6, _key, valstr, sizeof(valstr));
|
||||||
if ( ! Getv6Mode() )
|
if ( ! Getv6Mode() )
|
||||||
condense_v6(valstr);
|
condense_v6(valstr);
|
||||||
|
|
||||||
@ -1269,27 +1265,29 @@ struct tm *tbuff;
|
|||||||
|
|
||||||
static void PrintPipeStatLine(StatRecord_t *StatData, int type, int order_proto, int tag, int inout) {
|
static void PrintPipeStatLine(StatRecord_t *StatData, int type, int order_proto, int tag, int inout) {
|
||||||
double duration;
|
double duration;
|
||||||
uint64_t count_flows, count_packets, count_bytes;
|
uint64_t count_flows, count_packets, count_bytes, _key[2];
|
||||||
uint32_t pps, bps, bpp;
|
uint32_t pps, bps, bpp;
|
||||||
uint32_t sa[4];
|
uint32_t sa[4];
|
||||||
int af;
|
int af;
|
||||||
|
|
||||||
sa[0] = sa[1] = sa[2] = sa[3] = 0;
|
sa[0] = sa[1] = sa[2] = sa[3] = 0;
|
||||||
af = AF_UNSPEC;
|
af = AF_UNSPEC;
|
||||||
|
_key[0] = StatData->stat_key[0];
|
||||||
|
_key[1] = StatData->stat_key[1];
|
||||||
if ( type == IS_IPADDR ) {
|
if ( type == IS_IPADDR ) {
|
||||||
if ( (StatData->record_flags & 0x1) != 0 ) { // IPv6
|
if ( (StatData->record_flags & 0x1) != 0 ) { // IPv6
|
||||||
StatData->stat_key[0] = htonll(StatData->stat_key[0]);
|
_key[0] = htonll(StatData->stat_key[0]);
|
||||||
StatData->stat_key[1] = htonll(StatData->stat_key[1]);
|
_key[1] = htonll(StatData->stat_key[1]);
|
||||||
af = PF_INET6;
|
af = PF_INET6;
|
||||||
|
|
||||||
} else { // IPv4
|
} else { // IPv4
|
||||||
af = PF_INET;
|
af = PF_INET;
|
||||||
}
|
}
|
||||||
// Make sure Endian does not screw us up
|
// Make sure Endian does not screw us up
|
||||||
sa[0] = ( StatData->stat_key[0] >> 32 ) & 0xffffffffLL;
|
sa[0] = ( _key[0] >> 32 ) & 0xffffffffLL;
|
||||||
sa[1] = StatData->stat_key[0] & 0xffffffffLL;
|
sa[1] = _key[0] & 0xffffffffLL;
|
||||||
sa[2] = ( StatData->stat_key[1] >> 32 ) & 0xffffffffLL;
|
sa[2] = ( _key[1] >> 32 ) & 0xffffffffLL;
|
||||||
sa[3] = StatData->stat_key[1] & 0xffffffffLL;
|
sa[3] = _key[1] & 0xffffffffLL;
|
||||||
}
|
}
|
||||||
duration = StatData->last - StatData->first;
|
duration = StatData->last - StatData->first;
|
||||||
duration += ((double)StatData->msec_last - (double)StatData->msec_first) / 1000.0;
|
duration += ((double)StatData->msec_last - (double)StatData->msec_first) / 1000.0;
|
||||||
@ -1322,7 +1320,7 @@ int af;
|
|||||||
else
|
else
|
||||||
printf("%i|%u|%u|%u|%u|%u|%llu|%llu|%llu|%llu|%u|%u|%u\n",
|
printf("%i|%u|%u|%u|%u|%u|%llu|%llu|%llu|%llu|%u|%u|%u\n",
|
||||||
af, StatData->first, StatData->msec_first ,StatData->last, StatData->msec_last, StatData->prot,
|
af, StatData->first, StatData->msec_first ,StatData->last, StatData->msec_last, StatData->prot,
|
||||||
(long long unsigned)StatData->stat_key[1], (long long unsigned)count_flows,
|
(long long unsigned)_key[1], (long long unsigned)count_flows,
|
||||||
(long long unsigned)count_packets, (long long unsigned)count_bytes,
|
(long long unsigned)count_packets, (long long unsigned)count_bytes,
|
||||||
pps, bps, bpp);
|
pps, bps, bpp);
|
||||||
|
|
||||||
@ -1345,9 +1343,10 @@ struct tm *tbuff;
|
|||||||
break;
|
break;
|
||||||
case IS_IPADDR:
|
case IS_IPADDR:
|
||||||
if ( (StatData->record_flags & 0x1) != 0 ) { // IPv6
|
if ( (StatData->record_flags & 0x1) != 0 ) { // IPv6
|
||||||
StatData->stat_key[0] = htonll(StatData->stat_key[0]);
|
uint64_t _key[2];
|
||||||
StatData->stat_key[1] = htonll(StatData->stat_key[1]);
|
_key[0] = htonll(StatData->stat_key[0]);
|
||||||
inet_ntop(AF_INET6, StatData->stat_key, valstr, sizeof(valstr));
|
_key[1] = htonll(StatData->stat_key[1]);
|
||||||
|
inet_ntop(AF_INET6, _key, valstr, sizeof(valstr));
|
||||||
|
|
||||||
} else { // IPv4
|
} else { // IPv4
|
||||||
uint32_t ipv4;
|
uint32_t ipv4;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
|
* Copyright (c) 2017, Peter Haag
|
||||||
* Copyright (c) 2014, Peter Haag
|
* Copyright (c) 2014, Peter Haag
|
||||||
* Copyright (c) 2009, Peter Haag
|
* Copyright (c) 2009, Peter Haag
|
||||||
* Copyright (c) 2004-2008, SWITCH - Teleinformatikdienste fuer Lehre und Forschung
|
* Copyright (c) 2004-2008, SWITCH - Teleinformatikdienste fuer Lehre und Forschung
|
||||||
@ -28,12 +29,6 @@
|
|||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* $Author: haag $
|
|
||||||
*
|
|
||||||
* $Id: nfstat.h 39 2009-11-25 08:11:15Z haag $
|
|
||||||
*
|
|
||||||
* $LastChangedRevision: 39 $
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _NFSTAT_H
|
#ifndef _NFSTAT_H
|
||||||
|
Loading…
x
Reference in New Issue
Block a user