next up previous contents
Next: Änderung in der Datei Up: 4 Details der Implementierung Previous: Änderung in der Datei

Änderung in der Datei snmp_agent.c

  Die Bearbeitung von eingehenden Anfragen vom Manager übernehmen beim Hauptagenten zwei Funktionen, die in der Datei snmp_agent.c spezifiziert werden. Sie erstellen Antwortpakete zu diesen Anfragen. Für GETBULK-Anfragen ist die Funktion bulk_var_op_list zuständig, alle anderen Anfragen werden von parse_var_op_list erledigt. Da nun MIB-Variablen sowohl im Hauptagenten als auch im Subagenten gehalten werden, müssen diese Funktionen so verändert werden, daß sie auch auf MIB-Variablen der Subagenten zugreifen können. Neuen Versionen dieser Funktionen sind in der Datei snmp_agent_in.c zu finden und werden in die Datei snmp_agent.c eingefügt.

...
struct repeater {
    oid name[MAX_NAME_LEN];
    int length;
} repeaterList[10];

#include "snmp_agent_in.c"
...
Die Beseitigung der alten Funktionen erfolgt durch einfache Umbennung.
static int
parse_var_op_list(data, length, out_data, out_length, index, pi, action)
wird zu
static int
old_parse_var_op_list(data, length, out_data, out_length, index, pi, action)
und
static int
bulk_var_op_list(data, length, out_data, out_length, non_repeaters,
                 max_repetitions, index, pi)
wird zu
static int
old_bulk_var_op_list(data, length, out_data, out_length, non_repeaters,
                 max_repetitions, index, pi)



Copyright Munich Network Management Team