Merge pull request #102 from alarig/master

bin/asstatd.pl: parse_sflow: removing snmpin/snmpout >= 1073741823 test
This commit is contained in:
Manuel Kasper 2021-10-29 21:34:46 +02:00 committed by GitHub
commit 0b9ea81503
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -578,10 +578,9 @@ sub parse_sflow {
next;
}
if ($snmpin >= 1073741823 || $snmpout >= 1073741823) {
# invalid interface index - could be dropped packet or internal
# (routing protocol, management etc.)
#print "Invalid interface index $snmpin/$snmpout\n";
if ($snmpin > 2147483647 || $snmpout > 2147483647) {
# invalid RFC 2863 ifIndex
print "Invalid interface index $snmpin/$snmpout\n";
next;
}
@ -678,32 +677,32 @@ sub parse_sflow {
handleflow($ipaddr, $noctets, $srcas, $dstas, $snmpin, $snmpout, $ipversion, 'sflow', $vlanin, $vlanout);
if ($peerasstats) {
# srcpeeras is the one who sent me data
# dstpeeras is the first one to which you'll send the data
# so, dstpeeras is the first entry in array
# if the array is now empty (poped before), then take $dstas
my $srcpeeras = ($sFlowSample->{'GatewayAsSourcePeer'}) ? $sFlowSample->{'GatewayAsSourcePeer'} : 0;
my $dstpeeras = 0;
# srcpeeras is the one who sent me data
# dstpeeras is the first one to which you'll send the data
# so, dstpeeras is the first entry in array
# if the array is now empty (poped before), then take $dstas
my $srcpeeras = ($sFlowSample->{'GatewayAsSourcePeer'}) ? $sFlowSample->{'GatewayAsSourcePeer'} : 0;
my $dstpeeras = 0;
if ($sFlowSample->{'GatewayDestAsPaths'}) {
$dstpeeras = @{$sFlowSample->{'GatewayDestAsPaths'}->[0]->{'AsPath'}}[0];
if (!$dstpeeras) {
$dstpeeras = 0;
}
}
if($dstpeeras == 0 && $dstas != 0){
$dstpeeras = $dstas;
}
if ($sFlowSample->{'GatewayDestAsPaths'}) {
$dstpeeras = @{$sFlowSample->{'GatewayDestAsPaths'}->[0]->{'AsPath'}}[0];
if (!$dstpeeras) {
$dstpeeras = 0;
}
}
if($dstpeeras == 0 && $dstas != 0){
$dstpeeras = $dstas;
}
if ($myas{$srcpeeras}) {
$srcpeeras = 0;
}
if ($myas{$dstpeeras}) {
$dstpeeras = 0;
}
if ($myas{$srcpeeras}) {
$srcpeeras = 0;
}
if ($myas{$dstpeeras}) {
$dstpeeras = 0;
}
if ($srcpeeras != 0 || $dstpeeras != 0) {
handleflow($ipaddr, $noctets, $srcpeeras, $dstpeeras, $snmpin, $snmpout, $ipversion, 'sflow', $vlanin, $vlanout, 1);
if ($srcpeeras != 0 || $dstpeeras != 0) {
handleflow($ipaddr, $noctets, $srcpeeras, $dstpeeras, $snmpin, $snmpout, $ipversion, 'sflow', $vlanin, $vlanout, 1);
}
}
}