Renuncia de responsabilidad:
Este documento ya no es válido y carece de soporte.
|
[ << ]
[ < ]
[ Inicio ]
[ > ]
[ >> ]
5. Agregar Funcionalidad
Contenido:
5.a. Puntos de enlace standard en las funciones
Se pueden definir cuatro funciones en /etc/conf.d/net,
que pueden ser llamadas antes o después de las operaciones
start/stop, de arranque/parada. Sus nombres se componen
empezando con el nombre de interfaz, de manera que una función puede
controlar múltiples interfaces.
Los valores de retorno de las funciones preup y predown
deben ser cero (éxito) indicando que la configuración o la
des-configuración de los interfaces pueden continuar. Si preup
devuelve un valor no-cero, se detendrá la configuración del interfaz.
Si predown devuelve un valor no-cero, no se permite que el
interfaz continúe desconfigurándose.
Los valores de retorno de las funciones postup() y
postdown() serán ignorados, ya que no hay nada que hacer si
hay indicación de algún fallo.
${IFACE} es el interfaz que será encendido/apagado,
${IFVAR} es ${IFACE} convertido a un nombre de variable
válido según bash.
Listado de Código 1.1: Ejemplo de funciones pre/post up/down |
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
}
|
Nota:
Para mayor información acerca de escribir sus propias funciones,
agradecemos lea
/usr/share/doc/openrc-*/net.example.bz2.
|
5.b. Puntos de enlace para las herramientas inalámbricas
Nota:
Esto no funcionará con WPA suplicante - pero las variables
${ESSID} y ${ESSIDVAR} están disponibles en la función
postup().
|
Se pueden definir dos funciones en /etc/conf.d/net que se
ejecutan antes y después de la función asociada referida. Estas
funciones se nombran antecediéndole el nombre del interfaz, de manera
que la misma función puede controlar múltiples interfaces.
El valor retornado por la función preassociate() debe ser 0 (éxito)
para indicar que la configuración o desconfiguración del interfaz puede
continuar. Si la función preassociate() retorna un valor no-cero, se
interrumpirá la configuración del interfaz.
El valor retornado por la función postassociate() se ignora, ya
que no hay nada que hacer si llegase a indicarse una falla.
A ${ESSID} se le asigna el ESSID exacto del PA al cual se está
conectando, ya que ${ESSIDVAR} es ${ESSID}, convertido a
un nombre de variable permitido por bash.
Listado de Código 2.1: Funciones pre/post asociación en /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
}
|
Nota:
Las variables ${ESSID} y ${ESSIDVAR} no están
disponibles en las funciones predown() y postdown().
|
Nota:
Para mayor información acerca de cómo escribir sus propias
funciones, agradecemos lea
/usr/share/doc/openrc-*/net.example.bz2.
|
[ << ]
[ < ]
[ Inicio ]
[ > ]
[ >> ]
El contenido de este documento, a no ser que se especifique
expresamente, está registrado bajo los términos de la licencia
CC-BY-SA-2.5. Se aplican las
Pautas de
Utilización del logotipo y nombre de Gentoo.
|