|
|
|
use strict;
|
|
|
|
|
|
|
|
my @fields = (
|
|
|
|
[ "_n", "UINT", " - Number of samples", 4 ],
|
|
|
|
[ "_s", "UINT", " - Sum of samples", 8 ],
|
|
|
|
[ "_ss", "UINT", " - Sum of squared samples", 8 ],
|
|
|
|
);
|
|
|
|
|
|
|
|
my $file = $ARGV[0] or die "Syntax: $0 <file> <start>\n";
|
|
|
|
-f $file or die "File not found\n";
|
|
|
|
my $start = $ARGV[1];
|
|
|
|
$start =~ /^\d+$/ or die "Invalid start number";
|
|
|
|
open FILE, "<$file" or die "Can't open file";
|
|
|
|
while (<FILE>) {
|
|
|
|
/^(%?)(\w+),\s*(\w+),\s*(.+)$/ and do {
|
|
|
|
my $counter = $1;
|
|
|
|
my $rfield = $2;
|
|
|
|
my $nfield = $3;
|
|
|
|
my $descr = $4;
|
|
|
|
my @f;
|
|
|
|
if ($counter) {
|
|
|
|
@f = [ "", "UINT", "", 4];
|
|
|
|
} else {
|
|
|
|
@f = @fields;
|
|
|
|
}
|
|
|
|
foreach my $f (@f) {
|
|
|
|
my $nr = $start++;
|
|
|
|
my $n = $f->[0];
|
|
|
|
my $N = uc $n;
|
|
|
|
my $ftype = $f->[1];
|
|
|
|
my $fdesc = $f->[2];
|
|
|
|
my $size = $f->[3];
|
|
|
|
print "$nr, IPFIX_FT_WPROBE_$rfield$N, $size, IPFIX_CODING_$ftype, \"$nfield$n\", \"$descr$fdesc\"\n";
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|
|
|
|
close FILE;
|
|
|
|
|