next up previous contents
Next: Abmeldung beim DPI-Agenten Up: Bearbeitung eines eintreffenden Paketes Previous: SET-Pakete

GETNEXT-Pakete

Deutlich schwieriger gestaltet sich die Realisierung der GETNEXT-Funktionalität. Wie oben bereits beschrieben, wird zuerst, mit Hilfe von 'get_number()', der Feldindex der Variablen bestimmt. Sollte die Variable nicht existieren, so liefert 'get_number()' den Index der nächstgrößeren Variablen und kennzeichnet dies durch Darstellung als negative Zahl.

Sollte die Variable existieren, so muß unterschieden werden, ob es sich um eine einfache Variable oder um eine Tabelle handelt. Bei einfachen Variablen werden einfach der Feldindex um eins erhöht und die Parameter auf -1 gesetzt, damit, falls die nächste Variable eine Tabelle ist, das erste Tabellenelement ausgelesen wird. Bei Tabellen verbleiben Index und Parameter unverändert.

Wenn die Variable nicht existiert, so verwendet man den erhaltenen negativen Index, der ja bereits auf die nächstgrößere Variable zeigt und setzt analog die Parameter auf -1.

Nun beginnt eine 'while'-Schleife, die erst verlassen wird, wenn ein Variablenwert gefunden wurde oder wenn das Ende der MIB erreicht ist. Zuerst wird untersucht, ob der Index nun auf eine Tabelle verweist. Sollte dies der Fall sein, so muß eine Funktion aufgerufen werden, die für diese spezielle Tabelle den nächsten Tabelleneintrag ermittelt. Hierzu wird dieser Funktion ein Zeiger auf die Parameterliste übergeben, die dort entsprechend abgeändert wird. Sollte die Tabelle kein größeres Element mehr erthalten, so werden die Parameter auf -1 gesetzt. Dann kann die entsprechende GET-Funktion aufgerufen werden. Sollte diese GET-Funktion kein Ergebnis liefern, dann wird der Index wiederum um eins erhöht und die Schleife beginnt von Neuem. Dies ist insbesondere der Fall, wenn, im Falle einer Tabelle, die Parameter aus den oben beschriebenen Gründen auf -1 gesetzt sind.


next up previous contents
Next: Abmeldung beim DPI-Agenten Up: Bearbeitung eines eintreffenden Paketes Previous: SET-Pakete
Copyright Munich Network Management Team