[ << ]
[ < ]
[ Hauptseite ]
[ > ]
[ >> ]
5. Funktionalität hinzufügen
Inhalt:
5.a. Erweiterung der Standardfunktionen
Vier Funktionen können in /etc/conf.d/net definiert werden, die im
Zusammenhang mit den start/stop Funktionen aufgerufen werden. Die
Funktionen werden mit dem Namen der Schnittstelle zuerst aufgerufen, so dass
eine Funktion mehrere Adapter kontrollieren kann.
Der Rückgabewert der preup() und predown() Funktionen sollte 0
(Erfolg) sein um die erfolgreiche Konfiguration der Schnittstelle anzuzeigen.
Gibt preup() einen von Null verschiedenen Wert zurück, wird die
Konfiguration abgebrochen. Eine Dekonfiguration wird nicht durchgeführt,
falls predown() einen von Null verschiedenen Wert zurückgibt.
Die Rückgabewerte der postup() und postdown() Funktionen werden
ignoriert, da dort keine Reaktion auf Fehler vorgesehen ist.
${IFACE} wird auf die Schnittstelle gesetzt, die (de-)aktiviert werden
soll. ${IFVAR} ist ${IFACE} konvertiert zu einem Variablennamen,
den die Bash erlaubt.
Befehlsauflistung 1.1: Beispiele für pre/post up/down Funktionen in /etc/conf.d/net |
preup() {
if ethtool ${IFACE} | grep -q 'Link detected: no'; then
ewarn "No link on ${IFACE}, aborting configuration"
return 1
fi
return 0
}
predown() {
if is_net_fs /; then
eerror "root filesystem is network mounted -- can't stop ${IFACE}"
return 1
fi
return 0
}
postup() {
return 0
}
postdown() {
return 0
}
|
Notiz:
Für weitere Informationen, wie Sie Ihre eigenen Funktionen schreiben können,
siehe /usr/share/doc/openrc-*/net.example.bz2.
|
5.b. Funktionserweiterungen für die Wireless Tools
Notiz:
Funktioniert nicht mit WPA Supplicant - die ${ESSID} und
${ESSIDVAR} Variablen sind in der postup() Funktion
verfügbar.
|
Zwei Funktionen können in /etc/conf.d/net definiert werden, die im
Zusammenhang mit der associate Funktion aufgerufen werden. Die Funktionen werden
mit dem Namen der Schnittstelle zuerst aufgerufen, so das man mit einer Funktion
mehrere Adapter kontrollieren kann.
Der Rückgabewert der preassociate() Funktion sollte 0 sein, um
anzuzeigen, dass die (De-)Konfiguration der Schnittstelle fortgesetzt werden
kann. Wenn preassociate() einen von Null verschiedenen Wert zurückgibt,
wird die Konfiguration der Schnittstelle abgebrochen.
Der Rückgabewert der postassociate() Funktion wird ignoriert, da es im
Fehlerfall nichts zu tun gibt.
${ESSID} wird auf die exakte ESSID des Zugangspunktes gesetzt, zu dem
Sie sich verbinden.
${ESSIDVAR} ist ${ESSID} umgewandelt in einen Variablennamen, den
Bash erlaubt.
Befehlsauflistung 2.1: pre/post association Funktionen in /etc/conf.d/net |
preassociate() {
local user pass
eval user=\"\$\{leap_user_${ESSIDVAR}\}\"
eval pass=\"\$\{leap_pass_${ESSIDVAR}\}\"
if [[ -n ${user} && -n ${pass} ]]; then
if [[ ! -x /opt/cisco/bin/leapscript ]]; then
eend "For LEAP support, please emerge net-misc/cisco-aironet-client-utils"
return 1
fi
einfo "Waiting for LEAP Authentication on \"${ESSID//\\\\//}\""
if /opt/cisco/bin/leapscript ${user} ${pass} | grep -q 'Login incorrect'; then
ewarn "Login Failed for ${user}"
return 1
fi
fi
return 0
}
postassociate() {
return 0
}
|
Notiz:
Auf ${ESSID} und ${ESSIDVAR} kann in den predown() und
postdown() Funktionen nicht zugegriffen werden.
|
Notiz:
Für weitere Informationen, wie Sie Ihre eigenen Funktionen schreiben können,
siehe /usr/share/doc/openrc-*/net.example.bz2.
|
[ << ]
[ < ]
[ Hauptseite ]
[ > ]
[ >> ]
Die Inhalte dieses Dokuments sind, sofern nicht explizit
anders genannt, unter der Creative Commons -
Namensnennung / Weitergabe Lizenz lizenziert. Die Gentoo Name and Logo
Usage Guidelines treffen zu.
|