3
# Convert to the new statistics and traffic warning rules
16
} elsif ( $currentGroup ne "" ) {
17
my ($key,$value) = split /=/;
18
$configFile{$currentGroup}{$key}=$value;
22
my @ifaceGroups = grep { /^\[Interface_\S+\]/ } keys %configFile;
24
# Make sure we don't replace rules if we run this twice
27
if ( grep { /^\[StatsRule_/ } keys %configFile ) {
30
if ( grep { /^\[WarnRule_/ } keys %configFile ) {
34
foreach my $ifaceGroup (@ifaceGroups) {
37
if ( $ifaceGroup =~ /_(.+)\]$/ ) {
41
# change the iconset for this interface
42
print "# DELETE ${ifaceGroup}BillingMonths\n";
43
print "# DELETE ${ifaceGroup}BillingStart\n";
44
print "# DELETE ${ifaceGroup}CustomBilling\n";
45
print "# DELETE ${ifaceGroup}BillingWarnRxTx\n";
46
print "# DELETE ${ifaceGroup}BillingWarnThreshold\n";
47
print "# DELETE ${ifaceGroup}BillingWarnType\n";
48
print "# DELETE ${ifaceGroup}BillingWarnUnits\n";
52
my $customBilling = $configFile{$ifaceGroup}{'CustomBilling'};
53
if ( $customBilling ) {
54
my $billingStart = $configFile{$ifaceGroup}{'BillingStart'};
55
my $billingMonths = $configFile{$ifaceGroup}{'BillingMonths'};
57
print "[StatsRule_$iface #0]\nPeriodCount=$billingMonths\n";
58
print "[StatsRule_$iface #0]\nStartDate=$billingStart\n";
61
print "${ifaceGroup}\nStatsRules=${statsCount}\n";
66
my $warnThreshold = $configFile{$ifaceGroup}{'BillingWarnThreshold'};
67
if ( $warnThreshold ) {
68
my $warnDirection = $configFile{$ifaceGroup}{'BillingWarnRxTx'};
69
my $trafficUnits = $configFile{$ifaceGroup}{'BillingWarnUnits'};
70
my $warnUnits = $configFile{$ifaceGroup}{'BillingWarnType'};
75
if ( 0 == $warnUnits ) {
78
elsif ( 1 == $warnUnits )
82
elsif ( 2 == $warnUnits ) {
84
# if custom stats rule then warn per billing period
88
# otherwise it's per month
92
elsif ( 3 == $warnUnits ) {
96
elsif ( 4 == $warnUnits ) {
100
elsif ( 5 == $warnUnits ) {
105
if ( $warnDirection ) {
113
print "[WarnRule_$iface #0]\nThreshold=$warnThreshold\n";
114
print "[WarnRule_$iface #0]\nTrafficDirection=$warnDirection\n";
115
print "[WarnRule_$iface #0]\nTrafficUnits=$trafficUnits\n";
116
print "[WarnRule_$iface #0]\nPeriodCount=$periodCount\n";
117
print "[WarnRule_$iface #0]\nPeriodUnits=$periodUnits\n";
122
print "${ifaceGroup}\nWarnRules=${warnCount}\n";