ppp(7) ppp(7)
NAME
ppp - STREAMS-Modul PPP
BESCHREIBUNG
Der Treiber ppp ist zuständig für das Demultiplexen eingehender PPP-
Pakete. Dafür wird zunächst das Protokollkennzeichen im Paket-Vorspann
ausgewertet und anschließend das Paket von einer protokoll-spezifi-
schen Funktion verarbeitet. Ist für den Datenstrom keine Funktion
definiert, wird das Paket transparent weitergereicht. Der Treiber
dient vor allem der Abwicklung der für die Zustellung von IP-Paketen
benötigten DLPI-Schnittstelle.
Bei der Ausgabe versieht ppp das Paket mit dem PPP-Protokoll-Vorspann
und sendet es stromabwärts.
Beim ersten Öffnen des Treibers durch einen Prozeß wird dem Prozeß ein
blockorientiertes PPP-Gerät zugewiesen. Diese Zuordnung bleibt bis zum
Schließen des kontrollierenden Datenstroms erhalten. Zu jedem PPP-
Gerät gehört ein tieferliegender Datenstrom, der mittels ILINK mit
dem Datenstrom einer seriellen Leitungssteuerung verbunden werden
kann. Beim zweiten Öffnen des Treibers wird zu demselben tieferliegen-
den Datenstrom ein zweiter höherer Datenstrom angelegt. Die Ein-
/Ausgabeverarbeitung erfolgt in Abhängigkeit von dem höheren Daten-
strom und kann mit ioctl-Aufrufen modifiziert werden.
IOCTL-AUFRUFE
Der Multiplexer-Betrieb wird durch eine Reihe von ioctl(2)-Aufrufen
gesteuert, die folgende Union ppioctl übergeben.
typedef unsigned long pppcharmap;
long ppisap;
long ppiindx;
long ppiflags;
long ppimtu;
long ppitimeout;
ppacntt ppicnt;
pppcharmap ppicharmap;
struct ppisetstropts {
long ppssap;
long ppsflags;
} ppistropts;
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
ppp(7) ppp(7)
Folgende Optionen sind zulässig:
PPPGETDEV
Das Kommando liefert die Gerätenummer der Verbindung in ppiindx
und dient dazu, IP-Verbindungen einen Namen zuzuweisen.
PPPADDSAP
Dieses Kommando versieht den aktuellen Datenstrom mit einem in
ppisap übergebenen SAP (PPP-Protokollkennzeichen, das auf der
Empfängerseite zum Demultiplexen eingehender Pakete verwendet
wird). Wenn dieses SAP bereits an dem aktuellen Gerät verwendet
wird, erfolgt eine Fehlermeldung.
PPPDELSAP
Dieses Kommando löscht ein SAP aus dem aktuellen Datenstrom.
(Wird zur Zeit von ppd(1M) nicht verwendet; eine erfolgreiche
Ausführung ist nicht gewährleistet).
PPPSETSAPFLAGS
Mit diesem Kommando werden die Flags für das übergebene SAP
gesetzt. Zur Zeit wird nur das Flag PPPSAPVALI erkannt. Bei
gesetztem Flag wird das SAP zum Demultiplexen verwendet, bei
nicht gesetztem Flag wird das SAP ignoriert.
PPPGETSAPFLAGS
Dieses Kommando liefert das aktuelle SAP-Flag.
PPPSETQUEFLAGS
Dieses Kommando setzt die Flags für den aktuellen Datenstrom.
Gültige Flags sind:
PPPDATACHAN 0x2
PPPOUTENABLE 0x4
PPPOUTSAPSET 0x8
PPPPFCCOMPRESS 0x10
PPPACFCCOMPRESS 0x20
PPPVJCOMPRESS 0x40
PPPWAITOUTPUT 0x80
PPPOUTSAPENABLE 0x8000
Das Flag PPPDATACHAN zeigt dem System an, daß über diesen Daten-
strom Daten übertragen werden und mit netstat(1M) statistische
Daten zu der Verbindung erfaßt werden sollten.
Das Flag PPPOUTENABLE muß gesetzt sein, damit über diesen
Datenstrom übertragen werden kann. Bei nicht gesetztem Flag wer-
den keine Daten gesendet.
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
ppp(7) ppp(7)
Mit dem Flag PPPOUTSAPSET wird das SAP angegeben, das für die
Übertragung eines Pakets über diesen Datenstrom verwendet werden
soll. Die Angabe ist nur dann erforderlich, wenn dem Datenstrom
mehr als ein SAP zugewiesen wurde. Es wird nur bei gesetztem
PPPOUTSAPENABLE ausgewertet. Bei nicht gesetztem Flag wird der
aktuelle Wert von PPPOUTSAPSET verwendet.
Mit den Flags PPPPFCCOMPRESS und PPPACFCCOMPRESS wird die
Komprimierung von PPP-Frames aktiviert.
Mit dem Flag PPPVJCOMPRESS wird die Übertragung von VJ-kompri-
mierten TCP/IP-Frames aktiviert. Das Flag hat nur für Datenströme
mit einem IP-Protokoll-SAP für abgehende Pakete Gültigkeit.
Das Flag PPPWAITOUTPUT wird von der ppd-Option -W verwendet, um
die Herstellung einer speziellen Kurzschlußverbindung für IP-
Frames zu ermöglichen. Es sollte im Normalfall nicht verwendet
werden.
PPPGETQUEFLAGS
Dieses Kommando liefert die aktuelle Einstellung der oben
beschriebenen Datenstrom-Flags zurück.
PPPSETDEVFUNC
Mit diesem Kommando wird die Funktion angegeben, die beim Empfang
von Daten aktiviert werden soll. Folgende Werte sind derzeit
definiert:
PPPPROTOFUNC 1
PPPIPDATAFUNC 2
PPPDATAFUNC 3
Ist keine Funktion angegeben, so wird das Paket im Raw-Modus wei-
tergegeben. Durch Angabe von -1 wird auf die Standardeinstellung
für die Verbindung rückgesetzt.
PPPPROTOFUNC wird von ppd für die meisten Protokolle verwendet.
Dabei wird das eingehende Frame in zwei Teile geteilt: einen
Steuerteil vom Typ long, der das Protokollkennzeichen des empfan-
genen Pakets enthält, und den Datenteil mit den Daten des Pakets.
Sowohl PPPIPDATAFUNC als auch PPPDATAFUNC werden von IP zur
Verkapselung der Daten in einer DLPI-Nachricht verwendet. Der
Unterschied besteht darin, daß PPPIPDATAFUNC auch VJ-kompri-
mierte Pakete behandelt.
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
ppp(7) ppp(7)
PPPSETTIMER
Mit dieser Option wird angegeben (in Sekunden), wie lange sich
die Verbindung im Ruhezustand befinden kann, ehe sie abgebaut
wird. Dies wird durch Stromaufwärtssenden einer HUP-Nachricht
über den kontrollierenden Datenstrom erreicht.
PPPSETCTRL
Mit diesem Kommando wird der kontrollierende Datenstrom des tie-
ferliegenden Geräts angegeben. Normalerweise ist dies der erste
geöffnete Datenstrom, aber in manchen Fällen muß diese Zuordnung
geändert werden. Das Besondere am kontrollierenden Datenstrom
ist, daß beim Schließen dieses Datenstroms die Verbindung zwi-
schen allen anderen, dem aktuellen Gerät zugewiesenen Datenströ-
men und dem tieferliegenden Datenstrom, gelöst wird. Der kontrol-
lierende Datenstrom nimmt auch alle Pakete mit unbekannten SAPs
sowie Hangup-Nachrichten vom tieferliegenden Datenstrom entgegen.
DATEIEN
/dev/ppp
SIEHE AUCH
ppd(1M).
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98