diff options
Diffstat (limited to 'package/libipfix/extra/append-wprobe-ie.pl')
-rw-r--r-- | package/libipfix/extra/append-wprobe-ie.pl | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/package/libipfix/extra/append-wprobe-ie.pl b/package/libipfix/extra/append-wprobe-ie.pl new file mode 100644 index 000000000..8bb658bbb --- /dev/null +++ b/package/libipfix/extra/append-wprobe-ie.pl @@ -0,0 +1,38 @@ +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; + |