diff options
Diffstat (limited to 'src/varnish_mib.mib2c')
-rw-r--r-- | src/varnish_mib.mib2c | 39 |
1 files changed, 29 insertions, 10 deletions
diff --git a/src/varnish_mib.mib2c b/src/varnish_mib.mib2c index a5367e0..9d49ce9 100644 --- a/src/varnish_mib.mib2c +++ b/src/varnish_mib.mib2c | |||
@@ -1,5 +1,5 @@ | |||
1 | # This file is part of varnish-mib -*- c -*- | 1 | # This file is part of varnish-mib -*- c -*- |
2 | # Copyright (C) 2014-2015 Sergey Poznyakoff | 2 | # Copyright (C) 2014-2016 Sergey Poznyakoff |
3 | # | 3 | # |
4 | # Varnish-mib is free software; you can redistribute it and/or modify | 4 | # Varnish-mib is free software; you can redistribute it and/or modify |
5 | # it under the terms of the GNU General Public License as published by | 5 | # it under the terms of the GNU General Public License as published by |
@@ -24,9 +24,7 @@ | |||
24 | */ | 24 | */ |
25 | @enddefine@ | 25 | @enddefine@ |
26 | @startperl@ | 26 | @startperl@ |
27 | $vars{'varnish_translate'} = sub { | 27 | $vars{'varnish_translate_table'} = { |
28 | my $name = shift; | ||
29 | my %trans = ( | ||
30 | uptime => [ 'MAIN', 'uptime' ], | 28 | uptime => [ 'MAIN', 'uptime' ], |
31 | clientAcceptedConnections => [ 'MAIN', 'sess_conn' ], | 29 | clientAcceptedConnections => [ 'MAIN', 'sess_conn' ], |
32 | clientRequestsReceived => [ 'MAIN', 'client_req' ], | 30 | clientRequestsReceived => [ 'MAIN', 'client_req' ], |
@@ -102,9 +100,12 @@ $vars{'varnish_translate'} = sub { | |||
102 | bansPersistedBytes => [ 'MAIN', 'bans_persisted_bytes' ], | 100 | bansPersistedBytes => [ 'MAIN', 'bans_persisted_bytes' ], |
103 | bansPersistedFragmentation => [ 'MAIN', 'bans_persisted_fragmentation' ], | 101 | bansPersistedFragmentation => [ 'MAIN', 'bans_persisted_fragmentation' ], |
104 | 102 | ||
105 | ); | 103 | }; |
104 | |||
105 | $vars{'varnish_translate'} = sub { | ||
106 | my $name = shift; | ||
106 | 107 | ||
107 | my $r = $trans{$name}; | 108 | my $r = $vars{'varnish_translate_table'}->{$name}; |
108 | if (!defined($r)) { | 109 | if (!defined($r)) { |
109 | print STDERR "no translation for $name!\n"; | 110 | print STDERR "no translation for $name!\n"; |
110 | exit(1); | 111 | exit(1); |
@@ -117,6 +118,13 @@ $vars{'varnish_translate'} = sub { | |||
117 | } else { | 118 | } else { |
118 | delete $vars{$setkw}; | 119 | delete $vars{$setkw}; |
119 | } | 120 | } |
121 | if ($vars{'varnish_type'} eq 'MAIN') { | ||
122 | $vars{'varnish_if'} = "#if HAVE_STRUCT_VSC_C_MAIN_" . uc($vars{'varnish_member'}); | ||
123 | $vars{'varnish_endif'} = '#endif'; | ||
124 | } else { | ||
125 | delete $vars{'varnish_if'}; | ||
126 | delete $vars{'varnish_endif'} | ||
127 | } | ||
120 | return 0; | 128 | return 0; |
121 | }; | 129 | }; |
122 | 130 | ||
@@ -224,6 +232,10 @@ varnish_get_vsm_data() | |||
224 | */ | 232 | */ |
225 | 233 | ||
226 | @foreach $i scalar@ | 234 | @foreach $i scalar@ |
235 | @startperl@ | ||
236 | &{$vars{'varnish_translate'}}($vars{'i'}); | ||
237 | @endperl@ | ||
238 | $varnish_if | ||
227 | static int | 239 | static int |
228 | handle_$i(netsnmp_mib_handler *handler, | 240 | handle_$i(netsnmp_mib_handler *handler, |
229 | netsnmp_handler_registration *reginfo, | 241 | netsnmp_handler_registration *reginfo, |
@@ -234,10 +246,6 @@ handle_$i(netsnmp_mib_handler *handler, | |||
234 | int ret; | 246 | int ret; |
235 | @end@ | 247 | @end@ |
236 | 248 | ||
237 | @startperl@ | ||
238 | &{$vars{'varnish_translate'}}($vars{'i'}); | ||
239 | @endperl@ | ||
240 | |||
241 | if (!varnish_get_vsm_data()) | 249 | if (!varnish_get_vsm_data()) |
242 | return SNMP_ERR_NOSUCHNAME; | 250 | return SNMP_ERR_NOSUCHNAME; |
243 | 251 | ||
@@ -359,6 +367,7 @@ handle_$i(netsnmp_mib_handler *handler, | |||
359 | 367 | ||
360 | return SNMP_ERR_NOERROR; | 368 | return SNMP_ERR_NOERROR; |
361 | } | 369 | } |
370 | $varnish_endif | ||
362 | @end@ | 371 | @end@ |
363 | 372 | ||
364 | @foreach $i table@ | 373 | @foreach $i table@ |
@@ -543,7 +552,12 @@ void | |||
543 | init_$modulename(void) | 552 | init_$modulename(void) |
544 | { | 553 | { |
545 | @foreach $i scalar@ | 554 | @foreach $i scalar@ |
555 | @startperl@ | ||
556 | &{$vars{'varnish_translate'}}($vars{'i'}); | ||
557 | @endperl@ | ||
558 | $varnish_if | ||
546 | const oid ${i}_oid[] = { $i.commaoid }; | 559 | const oid ${i}_oid[] = { $i.commaoid }; |
560 | $varnish_endif | ||
547 | @end@ | 561 | @end@ |
548 | 562 | ||
549 | DEBUGMSGTL(("$modulename", "Initializing\n")); | 563 | DEBUGMSGTL(("$modulename", "Initializing\n")); |
@@ -567,6 +581,10 @@ init_$modulename(void) | |||
567 | snmp_log(LOG_ERR,"can't register config handler\n"); | 581 | snmp_log(LOG_ERR,"can't register config handler\n"); |
568 | 582 | ||
569 | @foreach $i scalar@ | 583 | @foreach $i scalar@ |
584 | @startperl@ | ||
585 | &{$vars{'varnish_translate'}}($vars{'i'}); | ||
586 | @endperl@ | ||
587 | $varnish_if | ||
570 | netsnmp_register_scalar( | 588 | netsnmp_register_scalar( |
571 | netsnmp_create_handler_registration("$i", handle_$i, | 589 | netsnmp_create_handler_registration("$i", handle_$i, |
572 | ${i}_oid, OID_LENGTH(${i}_oid), | 590 | ${i}_oid, OID_LENGTH(${i}_oid), |
@@ -577,6 +595,7 @@ init_$modulename(void) | |||
577 | HANDLER_CAN_RWRITE | 595 | HANDLER_CAN_RWRITE |
578 | @end@ | 596 | @end@ |
579 | )); | 597 | )); |
598 | $varnish_endif | ||
580 | @end@ | 599 | @end@ |
581 | @foreach $i table@ | 600 | @foreach $i table@ |
582 | initialize_table_$i(); | 601 | initialize_table_$i(); |