📄 ipcidrroutetable.c
字号:
set, start dealing with it here, else continue */ } /** extracts the information about the table from the request */ table_info = netsnmp_extract_table_info(request); /** table_info->colnum contains the column number requested */ /** table_info->indexes contains a linked list of snmp variable bindings for the indexes of the table. Values in the list have been set corresponding to the indexes of the request */ if (table_info == NULL) { continue; } switch (reqinfo->mode) { case MODE_GET: switch (table_info->colnum) { case COLUMN_IPCIDRROUTEDEST: { u_long *retval; size_t retval_len = 0; retval = get_ipCidrRouteDest(data_context, &retval_len); snmp_set_var_typed_value(var, ASN_IPADDRESS, (const u_char *) retval, retval_len); } break; case COLUMN_IPCIDRROUTEMASK: { u_long *retval; size_t retval_len = 0; retval = get_ipCidrRouteMask(data_context, &retval_len); snmp_set_var_typed_value(var, ASN_IPADDRESS, (const u_char *) retval, retval_len); } break; case COLUMN_IPCIDRROUTETOS: { long *retval; size_t retval_len = 0; retval = get_ipCidrRouteTos(data_context, &retval_len); snmp_set_var_typed_value(var, ASN_INTEGER, (const u_char *) retval, retval_len); } break; case COLUMN_IPCIDRROUTENEXTHOP: { u_long *retval; size_t retval_len = 0; retval = get_ipCidrRouteNextHop(data_context, &retval_len); snmp_set_var_typed_value(var, ASN_IPADDRESS, (const u_char *) retval, retval_len); } break; case COLUMN_IPCIDRROUTEIFINDEX: { long *retval; size_t retval_len = 0; retval = get_ipCidrRouteIfIndex(data_context, &retval_len); snmp_set_var_typed_value(var, ASN_INTEGER, (const u_char *) retval, retval_len); } break; case COLUMN_IPCIDRROUTETYPE: { long *retval; size_t retval_len = 0; retval = get_ipCidrRouteType(data_context, &retval_len); snmp_set_var_typed_value(var, ASN_INTEGER, (const u_char *) retval, retval_len); } break; case COLUMN_IPCIDRROUTEPROTO: { long *retval; size_t retval_len = 0; retval = get_ipCidrRouteProto(data_context, &retval_len); snmp_set_var_typed_value(var, ASN_INTEGER, (const u_char *) retval, retval_len); } break; case COLUMN_IPCIDRROUTEAGE: { long *retval; size_t retval_len = 0; retval = get_ipCidrRouteAge(data_context, &retval_len); snmp_set_var_typed_value(var, ASN_INTEGER, (const u_char *) retval, retval_len); } break; case COLUMN_IPCIDRROUTEINFO: { oid *retval; size_t retval_len = 0; retval = get_ipCidrRouteInfo(data_context, &retval_len); snmp_set_var_typed_value(var, ASN_OBJECT_ID, (const u_char *) retval, retval_len); } break; case COLUMN_IPCIDRROUTENEXTHOPAS: { long *retval; size_t retval_len = 0; retval = get_ipCidrRouteNextHopAS(data_context, &retval_len); snmp_set_var_typed_value(var, ASN_INTEGER, (const u_char *) retval, retval_len); } break; case COLUMN_IPCIDRROUTEMETRIC1: { long *retval; size_t retval_len = 0; retval = get_ipCidrRouteMetric1(data_context, &retval_len); snmp_set_var_typed_value(var, ASN_INTEGER, (const u_char *) retval, retval_len); } break; case COLUMN_IPCIDRROUTEMETRIC2: { long *retval; size_t retval_len = 0; retval = get_ipCidrRouteMetric2(data_context, &retval_len); snmp_set_var_typed_value(var, ASN_INTEGER, (const u_char *) retval, retval_len); } break; case COLUMN_IPCIDRROUTEMETRIC3: { long *retval; size_t retval_len = 0; retval = get_ipCidrRouteMetric3(data_context, &retval_len); snmp_set_var_typed_value(var, ASN_INTEGER, (const u_char *) retval, retval_len); } break; case COLUMN_IPCIDRROUTEMETRIC4: { long *retval; size_t retval_len = 0; retval = get_ipCidrRouteMetric4(data_context, &retval_len); snmp_set_var_typed_value(var, ASN_INTEGER, (const u_char *) retval, retval_len); } break; case COLUMN_IPCIDRROUTEMETRIC5: { long *retval; size_t retval_len = 0; retval = get_ipCidrRouteMetric5(data_context, &retval_len); snmp_set_var_typed_value(var, ASN_INTEGER, (const u_char *) retval, retval_len); } break; case COLUMN_IPCIDRROUTESTATUS: { long *retval; size_t retval_len = 0; retval = get_ipCidrRouteStatus(data_context, &retval_len); snmp_set_var_typed_value(var, ASN_INTEGER, (const u_char *) retval, retval_len); } break; default: /** We shouldn't get here */ snmp_log(LOG_ERR, "problem encountered in ipCidrRouteTable_handler: unknown column\n"); } break; case MODE_SET_RESERVE1: /** mib2cXXX: clear out old undo info if we have any. Remove if table_iterator becomes un-serialized */ netsnmp_oid_stash_free(&undoStorage, free_undoInfo); switch (table_info->colnum) { case COLUMN_IPCIDRROUTEIFINDEX: { int ret = check_ipCidrRouteIfIndex(request->requestvb->type, (long *) request-> requestvb->val.string, request->requestvb-> val_len); if (ret != 0) { netsnmp_set_request_error(reqinfo, requests, ret); } } break; case COLUMN_IPCIDRROUTETYPE: { int ret = check_ipCidrRouteType(request->requestvb->type, (long *) request->requestvb-> val.string, request->requestvb->val_len); if (ret != 0) { netsnmp_set_request_error(reqinfo, requests, ret); } } break; case COLUMN_IPCIDRROUTEINFO: { int ret = check_ipCidrRouteInfo(request->requestvb->type, (oid *) request->requestvb-> val.string, request->requestvb->val_len); if (ret != 0) { netsnmp_set_request_error(reqinfo, requests, ret); } } break; case COLUMN_IPCIDRROUTENEXTHOPAS: { int ret = check_ipCidrRouteNextHopAS(request->requestvb-> type, (long *) request-> requestvb->val.string, request->requestvb-> val_len); if (ret != 0) { netsnmp_set_request_error(reqinfo, requests, ret); } } break; case COLUMN_IPCIDRROUTEMETRIC1: { int ret = check_ipCidrRouteMetric1(request->requestvb->type, (long *) request-> requestvb->val.string, request->requestvb-> val_len); if (ret != 0) { netsnmp_set_request_error(reqinfo, requests, ret); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -