The FreeRADIUS server  $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
Data Structures | Macros | Typedefs | Functions | Variables
snmp.c File Reference
#include <freeradius-devel/util/atexit.h>
#include <freeradius-devel/util/debug.h>
#include <freeradius-devel/util/misc.h>
#include <freeradius-devel/util/proto.h>
#include <freeradius-devel/util/value.h>
#include <freeradius-devel/server/dependency.h>
#include <freeradius-devel/server/main_loop.h>
#include <freeradius-devel/protocol/snmp/freeradius.h>
+ Include dependency graph for snmp.c:

Go to the source code of this file.

Data Structures

struct  fr_snmp_map
 Maps a fr_pair_t to the source of a value. More...
 
union  fr_snmp_map.__unnamed69__
 

Macros

#define FR_FREERADIUS_SNMP_TYPE_OBJECT   0
 
#define SNMP_MAP_TERMINATOR   { .name = NULL, .da = NULL, .type = 0 }
 

Typedefs

typedef int(* fr_snmp_get_func_t) (TALLOC_CTX *ctx, fr_value_box_t *out, fr_snmp_map_t const *map, void *snmp_ctx)
 
typedef int(* fr_snmp_index_func_t) (TALLOC_CTX *ctx, void **snmp_ctx_out, fr_snmp_map_t const *map, void const *snmp_ctx_in, uint32_t index)
 
typedef struct fr_snmp_map fr_snmp_map_t
 
typedef int(* fr_snmp_set_func_t) (fr_snmp_map_t const *map, void *snmp_ctx, fr_value_box_t *data)
 

Functions

static int _fr_snmp_free (UNUSED void *uctx)
 
static int _fr_snmp_init (UNUSED void *uctx)
 
static int _fr_snmp_init_r (fr_snmp_map_t map[], fr_dict_attr_t const *parent)
 Internal SNMP initialisation function (used for recursion) More...
 
int fr_snmp_init (void)
 Initialise the tree of SNMP map structures used to attach callbacks to OIDs. More...
 
int fr_snmp_process (request_t *request)
 
static int snmp_auth_client_stats_offset_get (UNUSED TALLOC_CTX *ctx, fr_value_box_t *out, fr_snmp_map_t const *map, void *snmp_ctx)
 
static int snmp_auth_stats_offset_get (UNUSED TALLOC_CTX *ctx, fr_value_box_t *out, fr_snmp_map_t const *map, UNUSED void *snmp_ctx)
 
static int snmp_client_id_get (TALLOC_CTX *ctx, fr_value_box_t *out, NDEBUG_UNUSED fr_snmp_map_t const *map, void *snmp_ctx)
 
static int snmp_client_index (UNUSED TALLOC_CTX *ctx, void **snmp_ctx_out, UNUSED fr_snmp_map_t const *map, NDEBUG_UNUSED void const *snmp_ctx_in, uint32_t index_num)
 
static int snmp_client_index_get (UNUSED TALLOC_CTX *ctx, fr_value_box_t *out, UNUSED fr_snmp_map_t const *map, void *snmp_ctx)
 
static int snmp_client_ipv4addr_get (UNUSED TALLOC_CTX *ctx, fr_value_box_t *out, NDEBUG_UNUSED fr_snmp_map_t const *map, void *snmp_ctx)
 
static int snmp_config_reset_get (UNUSED TALLOC_CTX *ctx, fr_value_box_t *out, NDEBUG_UNUSED fr_snmp_map_t const *map, UNUSED void *snmp_ctx)
 
static int snmp_config_reset_set (NDEBUG_UNUSED fr_snmp_map_t const *map, UNUSED void *snmp_ctx, fr_value_box_t *in)
 
static int snmp_config_reset_time_get (UNUSED TALLOC_CTX *ctx, fr_value_box_t *out, NDEBUG_UNUSED fr_snmp_map_t const *map, UNUSED void *snmp_ctx)
 
static fr_snmp_map_t const * snmp_map_search (fr_snmp_map_t const map[], fr_dict_attr_t const *da)
 Perform a binary search to find a map matching a da. More...
 
static void snmp_next_leaf (fr_da_stack_t *da_stack, unsigned int depth, fr_snmp_map_t const *map)
 Perform depth first traversal of the tree until we hit a leaf node. More...
 
static ssize_t snmp_process (fr_dcursor_t *out, request_t *request, fr_da_stack_t *da_stack, unsigned int depth, fr_dcursor_t *cursor, fr_snmp_map_t const *map, void *snmp_ctx, unsigned int snmp_op)
 Traverse a tree of SNMP maps. More...
 
static ssize_t snmp_process_index (fr_dcursor_t *out, request_t *request, fr_da_stack_t *da_stack, unsigned int depth, fr_dcursor_t cursor, fr_snmp_map_t const *map, void *snmp_ctx, unsigned int snmp_op, uint32_t index_num)
 
static ssize_t snmp_process_index_attr (fr_dcursor_t *out, request_t *request, fr_da_stack_t *da_stack, unsigned int depth, fr_dcursor_t *cursor, fr_snmp_map_t const *map, void *snmp_ctx, unsigned int snmp_op)
 
static ssize_t snmp_process_leaf (fr_dcursor_t *out, request_t *request, fr_da_stack_t *da_stack, unsigned int depth, fr_dcursor_t *cursor, fr_snmp_map_t const *map, void *snmp_ctx, unsigned int snmp_op)
 
static ssize_t snmp_process_tlv (fr_dcursor_t *out, request_t *request, fr_da_stack_t *da_stack, unsigned int depth, fr_dcursor_t *cursor, fr_snmp_map_t const *map, void *snmp_ctx, unsigned int snmp_op)
 
static int snmp_value_serv_ident_get (TALLOC_CTX *ctx, fr_value_box_t *out, NDEBUG_UNUSED fr_snmp_map_t const *map, UNUSED void *snmp_ctx)
 
static int snmp_value_uptime_get (UNUSED TALLOC_CTX *ctx, fr_value_box_t *out, NDEBUG_UNUSED fr_snmp_map_t const *map, UNUSED void *snmp_ctx)
 

Variables

static fr_dict_attr_t const * attr_snmp_failure
 
static fr_dict_attr_t const * attr_snmp_operation
 
static fr_dict_attr_t const * attr_snmp_root
 
static fr_dict_attr_t const * attr_snmp_type
 
static fr_dict_t const * dict_snmp
 
static int reset_state = FR_RADIUS_AUTH_SERV_CONFIG_RESET_VALUE_RUNNING
 
static fr_time_t reset_time
 
static fr_snmp_map_t snmp_auth_client_entry []
 
static fr_snmp_map_t snmp_auth_client_entry_counters []
 
static fr_snmp_map_t snmp_auth_serv []
 
static fr_snmp_map_t snmp_auth_serv_counters []
 
static fr_snmp_map_t snmp_auth_serv_mib []
 
static fr_snmp_map_t snmp_auth_serv_mib_objects []
 
static fr_snmp_map_t snmp_authentication []
 
fr_dict_autoload_t snmp_dict []
 
fr_dict_attr_autoload_t snmp_dict_attr []
 
static fr_snmp_map_t snmp_dod []
 
static fr_snmp_map_t snmp_internet []
 
static fr_snmp_map_t snmp_iso []
 
static fr_snmp_map_t snmp_mgmt []
 
static fr_snmp_map_t snmp_mib_2 []
 
static fr_snmp_map_t snmp_org []
 
static fr_snmp_map_t snmp_radius_mib []
 
static fr_time_t start_time
 

Data Structure Documentation

◆ fr_snmp_map

struct fr_snmp_map

Maps a fr_pair_t to the source of a value.

Note
Arrays of maps must be in ascending attribute order. This is because the lookup is performed using a binary search, not by index.

Mappings between attributes and snmp values are more complex in an SNMP based interface, because we need to traverse the tree, looking at indexes in multiple levels of mapping tables.

Definition at line 85 of file snmp.c.

+ Collaboration diagram for fr_snmp_map:
Data Fields
union fr_snmp_map __unnamed__
fr_snmp_map_t * child Child map.
fr_dict_attr_t const * da Dictionary attribute (resolved from attribute number).
fr_snmp_get_func_t get Function to retrieve value.
fr_snmp_index_func_t index Function for traversing indexes.
char const * name Attribute number.

Table entries must be in attribute number order.

fr_snmp_set_func_t set Function to write a new value.
unsigned int type SNMP type - More specific than attribute type.

◆ fr_snmp_map.__unnamed69__

union fr_snmp_map.__unnamed69__

Definition at line 95 of file snmp.c.

Data Fields
fr_snmp_map_t * last Last sibling at this level.
size_t offset Offset in snmp_ctx (passed to index function).

Macro Definition Documentation

◆ FR_FREERADIUS_SNMP_TYPE_OBJECT

#define FR_FREERADIUS_SNMP_TYPE_OBJECT   0

Definition at line 64 of file snmp.c.

◆ SNMP_MAP_TERMINATOR

#define SNMP_MAP_TERMINATOR   { .name = NULL, .da = NULL, .type = 0 }

Definition at line 66 of file snmp.c.

Typedef Documentation

◆ fr_snmp_get_func_t

typedef int(* fr_snmp_get_func_t) (TALLOC_CTX *ctx, fr_value_box_t *out, fr_snmp_map_t const *map, void *snmp_ctx)

Definition at line 70 of file snmp.c.

◆ fr_snmp_index_func_t

typedef int(* fr_snmp_index_func_t) (TALLOC_CTX *ctx, void **snmp_ctx_out, fr_snmp_map_t const *map, void const *snmp_ctx_in, uint32_t index)

Definition at line 72 of file snmp.c.

◆ fr_snmp_map_t

typedef struct fr_snmp_map fr_snmp_map_t

Definition at line 56 of file snmp.c.

◆ fr_snmp_set_func_t

typedef int(* fr_snmp_set_func_t) (fr_snmp_map_t const *map, void *snmp_ctx, fr_value_box_t *data)

Definition at line 71 of file snmp.c.

Function Documentation

◆ _fr_snmp_free()

static int _fr_snmp_free ( UNUSED void *  uctx)
static

Definition at line 1119 of file snmp.c.

+ Here is the caller graph for this function:

◆ _fr_snmp_init()

static int _fr_snmp_init ( UNUSED void *  uctx)
static

Definition at line 1101 of file snmp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _fr_snmp_init_r()

static int _fr_snmp_init_r ( fr_snmp_map_t  map[],
fr_dict_attr_t const *  parent 
)
static

Internal SNMP initialisation function (used for recursion)

Definition at line 1058 of file snmp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fr_snmp_init()

int fr_snmp_init ( void  )

Initialise the tree of SNMP map structures used to attach callbacks to OIDs.

Definition at line 1129 of file snmp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fr_snmp_process()

int fr_snmp_process ( request_t request)

Definition at line 925 of file snmp.c.

+ Here is the call graph for this function:

◆ snmp_auth_client_stats_offset_get()

static int snmp_auth_client_stats_offset_get ( UNUSED TALLOC_CTX *  ctx,
fr_value_box_t out,
fr_snmp_map_t const *  map,
void *  snmp_ctx 
)
static

Definition at line 253 of file snmp.c.

+ Here is the call graph for this function:

◆ snmp_auth_stats_offset_get()

static int snmp_auth_stats_offset_get ( UNUSED TALLOC_CTX *  ctx,
fr_value_box_t out,
fr_snmp_map_t const *  map,
UNUSED void *  snmp_ctx 
)
static

Definition at line 181 of file snmp.c.

+ Here is the call graph for this function:

◆ snmp_client_id_get()

static int snmp_client_id_get ( TALLOC_CTX *  ctx,
fr_value_box_t out,
NDEBUG_UNUSED fr_snmp_map_t const *  map,
void *  snmp_ctx 
)
static

Definition at line 240 of file snmp.c.

+ Here is the call graph for this function:

◆ snmp_client_index()

static int snmp_client_index ( UNUSED TALLOC_CTX *  ctx,
void **  snmp_ctx_out,
UNUSED fr_snmp_map_t const *  map,
NDEBUG_UNUSED void const *  snmp_ctx_in,
uint32_t  index_num 
)
static

Definition at line 191 of file snmp.c.

+ Here is the call graph for this function:

◆ snmp_client_index_get()

static int snmp_client_index_get ( UNUSED TALLOC_CTX *  ctx,
fr_value_box_t out,
UNUSED fr_snmp_map_t const *  map,
void *  snmp_ctx 
)
static

Definition at line 207 of file snmp.c.

+ Here is the call graph for this function:

◆ snmp_client_ipv4addr_get()

static int snmp_client_ipv4addr_get ( UNUSED TALLOC_CTX *  ctx,
fr_value_box_t out,
NDEBUG_UNUSED fr_snmp_map_t const *  map,
void *  snmp_ctx 
)
static

Definition at line 219 of file snmp.c.

+ Here is the call graph for this function:

◆ snmp_config_reset_get()

static int snmp_config_reset_get ( UNUSED TALLOC_CTX *  ctx,
fr_value_box_t out,
NDEBUG_UNUSED fr_snmp_map_t const *  map,
UNUSED void *  snmp_ctx 
)
static

Definition at line 155 of file snmp.c.

+ Here is the call graph for this function:

◆ snmp_config_reset_set()

static int snmp_config_reset_set ( NDEBUG_UNUSED fr_snmp_map_t const *  map,
UNUSED void *  snmp_ctx,
fr_value_box_t in 
)
static

Definition at line 165 of file snmp.c.

+ Here is the call graph for this function:

◆ snmp_config_reset_time_get()

static int snmp_config_reset_time_get ( UNUSED TALLOC_CTX *  ctx,
fr_value_box_t out,
NDEBUG_UNUSED fr_snmp_map_t const *  map,
UNUSED void *  snmp_ctx 
)
static

Definition at line 136 of file snmp.c.

+ Here is the call graph for this function:

◆ snmp_map_search()

static fr_snmp_map_t const* snmp_map_search ( fr_snmp_map_t const  map[],
fr_dict_attr_t const *  da 
)
static

Perform a binary search to find a map matching a da.

Parameters
mapto search in.
dato search for.
Returns
  • Matching map if da was found.
  • NULL if da was not found.

Definition at line 473 of file snmp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ snmp_next_leaf()

static void snmp_next_leaf ( fr_da_stack_t da_stack,
unsigned int  depth,
fr_snmp_map_t const *  map 
)
static

Perform depth first traversal of the tree until we hit a leaf node.

This is used for building a fake da_stack, for findNext, so that if we get a findNext operation on something that's not a leaf, we can find the first leaf under that branch of the tree.

Parameters
[out]da_stackto rewrite.
[in]depthat which to start rewriting.
[in]mapat this level.

Definition at line 512 of file snmp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ snmp_process()

static ssize_t snmp_process ( fr_dcursor_t out,
request_t request,
fr_da_stack_t da_stack,
unsigned int  depth,
fr_dcursor_t cursor,
fr_snmp_map_t const *  map,
void *  snmp_ctx,
unsigned int  snmp_op 
)
static

Traverse a tree of SNMP maps.

Parameters
[out]outWhere to write response attributes.
[in]requestThe current request.
[in,out]da_stackwe're traversing.
[in]depthwe're currently at in the da_stack.
[in]cursorrepresenting the current attribute we're processing.
[in]mapmatching the current depth in the da_stack.
[in]snmp_ctxallocated by the previous index traversal function.
[in]snmp_opwe're performing.
Returns
  • 0 on success.
  • 1 to signal caller that it should find the next OID at this level and recurse again.
  • <0 the depth at which an error occurred, as a negative integer.

Definition at line 872 of file snmp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ snmp_process_index()

static ssize_t snmp_process_index ( fr_dcursor_t out,
request_t request,
fr_da_stack_t da_stack,
unsigned int  depth,
fr_dcursor_t  cursor,
fr_snmp_map_t const *  map,
void *  snmp_ctx,
unsigned int  snmp_op,
uint32_t  index_num 
)
static

Definition at line 524 of file snmp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ snmp_process_index_attr()

static ssize_t snmp_process_index_attr ( fr_dcursor_t out,
request_t request,
fr_da_stack_t da_stack,
unsigned int  depth,
fr_dcursor_t cursor,
fr_snmp_map_t const *  map,
void *  snmp_ctx,
unsigned int  snmp_op 
)
static

Definition at line 615 of file snmp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ snmp_process_leaf()

static ssize_t snmp_process_leaf ( fr_dcursor_t out,
request_t request,
fr_da_stack_t da_stack,
unsigned int  depth,
fr_dcursor_t cursor,
fr_snmp_map_t const *  map,
void *  snmp_ctx,
unsigned int  snmp_op 
)
static

Definition at line 736 of file snmp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ snmp_process_tlv()

static ssize_t snmp_process_tlv ( fr_dcursor_t out,
request_t request,
fr_da_stack_t da_stack,
unsigned int  depth,
fr_dcursor_t cursor,
fr_snmp_map_t const *  map,
void *  snmp_ctx,
unsigned int  snmp_op 
)
static

Definition at line 674 of file snmp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ snmp_value_serv_ident_get()

static int snmp_value_serv_ident_get ( TALLOC_CTX *  ctx,
fr_value_box_t out,
NDEBUG_UNUSED fr_snmp_map_t const *  map,
UNUSED void *  snmp_ctx 
)
static

Definition at line 107 of file snmp.c.

+ Here is the call graph for this function:

◆ snmp_value_uptime_get()

static int snmp_value_uptime_get ( UNUSED TALLOC_CTX *  ctx,
fr_value_box_t out,
NDEBUG_UNUSED fr_snmp_map_t const *  map,
UNUSED void *  snmp_ctx 
)
static

Definition at line 117 of file snmp.c.

+ Here is the call graph for this function:

Variable Documentation

◆ attr_snmp_failure

fr_dict_attr_t const* attr_snmp_failure
static

Definition at line 52 of file snmp.c.

◆ attr_snmp_operation

fr_dict_attr_t const* attr_snmp_operation
static

Definition at line 50 of file snmp.c.

◆ attr_snmp_root

fr_dict_attr_t const* attr_snmp_root
static

Definition at line 53 of file snmp.c.

◆ attr_snmp_type

fr_dict_attr_t const* attr_snmp_type
static

Definition at line 51 of file snmp.c.

◆ dict_snmp

fr_dict_t const* dict_snmp
static

Definition at line 42 of file snmp.c.

◆ reset_state

int reset_state = FR_RADIUS_AUTH_SERV_CONFIG_RESET_VALUE_RUNNING
static

Definition at line 105 of file snmp.c.

◆ reset_time

fr_time_t reset_time
static

Definition at line 104 of file snmp.c.

◆ snmp_auth_client_entry

fr_snmp_map_t snmp_auth_client_entry[]
static
Initial value:
= {
{ .name = "Radius-Auth-Client-Entry",
}
#define FR_FREERADIUS_SNMP_TYPE_OBJECT
Definition: snmp.c:64
static int snmp_client_index(UNUSED TALLOC_CTX *ctx, void **snmp_ctx_out, UNUSED fr_snmp_map_t const *map, NDEBUG_UNUSED void const *snmp_ctx_in, uint32_t index_num)
Definition: snmp.c:191
#define SNMP_MAP_TERMINATOR
Definition: snmp.c:66
static fr_snmp_map_t snmp_auth_client_entry_counters[]
Definition: snmp.c:266

Definition at line 315 of file snmp.c.

◆ snmp_auth_client_entry_counters

fr_snmp_map_t snmp_auth_client_entry_counters[]
static

Definition at line 266 of file snmp.c.

◆ snmp_auth_serv

fr_snmp_map_t snmp_auth_serv[]
static
Initial value:
= {
{ .name = "Radius-Auth-Serv",
}
static fr_snmp_map_t snmp_auth_serv_counters[]
Definition: snmp.c:323

Definition at line 383 of file snmp.c.

◆ snmp_auth_serv_counters

fr_snmp_map_t snmp_auth_serv_counters[]
static

Definition at line 323 of file snmp.c.

◆ snmp_auth_serv_mib

fr_snmp_map_t snmp_auth_serv_mib[]
static
Initial value:
= {
{ .name = "Radius-Auth-Serv-Mib",
}
static fr_snmp_map_t snmp_auth_serv_mib_objects[]
Definition: snmp.c:390

Definition at line 397 of file snmp.c.

◆ snmp_auth_serv_mib_objects

fr_snmp_map_t snmp_auth_serv_mib_objects[]
static
Initial value:
= {
{ .name = "Radius-Auth-Serv-Mib-Objects",
.child = snmp_auth_serv },
}
static fr_snmp_map_t snmp_auth_serv[]
Definition: snmp.c:383

Definition at line 390 of file snmp.c.

◆ snmp_authentication

fr_snmp_map_t snmp_authentication[]
static
Initial value:
= {
{ .name = "Radius-Authentication",
.child = snmp_auth_serv_mib },
}
static fr_snmp_map_t snmp_auth_serv_mib[]
Definition: snmp.c:397

Definition at line 404 of file snmp.c.

◆ snmp_dict

fr_dict_autoload_t snmp_dict
Initial value:
= {
{ .out = &dict_snmp, .proto = "snmp" },
{ NULL }
}
static fr_dict_t const * dict_snmp
Definition: snmp.c:42

Definition at line 45 of file snmp.c.

◆ snmp_dict_attr

fr_dict_attr_autoload_t snmp_dict_attr
Initial value:
= {
{ .out = &attr_snmp_operation, .name = "FreeRADIUS-SNMP-Operation", .type = FR_TYPE_UINT8, .dict = &dict_snmp },
{ .out = &attr_snmp_type, .name = "FreeRADIUS-SNMP-Type", .type = FR_TYPE_UINT8, .dict = &dict_snmp },
{ .out = &attr_snmp_failure, .name = "FreeRADIUS-SNMP-Failure", .type = FR_TYPE_UINT8, .dict = &dict_snmp },
{ .out = &attr_snmp_root, .name = "FreeRADIUS-Iso", .type = FR_TYPE_TLV, .dict = &dict_snmp },
{ NULL }
}
@ FR_TYPE_TLV
Contains nested attributes.
Definition: merged_model.c:118
@ FR_TYPE_UINT8
8 Bit unsigned integer.
Definition: merged_model.c:97
static fr_dict_attr_t const * attr_snmp_root
Definition: snmp.c:53
static fr_dict_attr_t const * attr_snmp_failure
Definition: snmp.c:52
static fr_dict_attr_t const * attr_snmp_type
Definition: snmp.c:51
static fr_dict_attr_t const * attr_snmp_operation
Definition: snmp.c:50

Definition at line 56 of file snmp.c.

◆ snmp_dod

fr_snmp_map_t snmp_dod[]
static
Initial value:
= {
{ .name = "FreeRADIUS-Dod",
.child = snmp_internet },
}
static fr_snmp_map_t snmp_internet[]
Definition: snmp.c:432

Definition at line 439 of file snmp.c.

◆ snmp_internet

fr_snmp_map_t snmp_internet[]
static
Initial value:
= {
{ .name = "FreeRADIUS-Internet",
.child = snmp_mgmt },
}
static fr_snmp_map_t snmp_mgmt[]
Definition: snmp.c:425

Definition at line 432 of file snmp.c.

◆ snmp_iso

fr_snmp_map_t snmp_iso[]
static
Initial value:
= {
{ .name = "FreeRADIUS-Iso",
.child = snmp_org },
}
static fr_snmp_map_t snmp_org[]
Definition: snmp.c:446

Definition at line 453 of file snmp.c.

◆ snmp_mgmt

fr_snmp_map_t snmp_mgmt[]
static
Initial value:
= {
{ .name = "FreeRADIUS-Mgmt",
.child = snmp_mib_2 },
}
static fr_snmp_map_t snmp_mib_2[]
Definition: snmp.c:418

Definition at line 425 of file snmp.c.

◆ snmp_mib_2

fr_snmp_map_t snmp_mib_2[]
static
Initial value:
= {
{ .name = "FreeRADIUS-Mib-2",
.child = snmp_radius_mib },
}
static fr_snmp_map_t snmp_radius_mib[]
Definition: snmp.c:411

Definition at line 418 of file snmp.c.

◆ snmp_org

fr_snmp_map_t snmp_org[]
static
Initial value:
= {
{ .name = "FreeRADIUS-Org",
.child = snmp_dod },
}
static fr_snmp_map_t snmp_dod[]
Definition: snmp.c:439

Definition at line 446 of file snmp.c.

◆ snmp_radius_mib

fr_snmp_map_t snmp_radius_mib[]
static
Initial value:
= {
{ .name = "Radius-Mib",
.child = snmp_authentication },
}
static fr_snmp_map_t snmp_authentication[]
Definition: snmp.c:404

Definition at line 411 of file snmp.c.

◆ start_time

fr_time_t start_time
static

Definition at line 103 of file snmp.c.