[Nightwing] nw_check
"Sebastián D. Criado"
sebastian.criado en gmail.com
Mie Sep 1 11:29:23 ART 2010
El 01/09/10 11:17, F N escribió:
> Buenas,
> Ayer me he puesto a ver el c'odigo del *nw_check* y me ha llamado la
> atenci'on que en la linea 79 (? porque la hicieron as'i :S ?)
> http://my-trac.assembla.com/lugro-mesh/browser/trunk/nightwing/usr/bin/nw_check#L79
> se controla si hay conexio'n por la LAN_IFACE controlando la salida de ping.
>
> *if* [ $($PING -W 1 -c 1 -I $LAN_IFACE $IP|wc -l) -gt 4 ]; *then*//
> //
>
Bien, lo primero que hay que saber con eso es que el estado en que se
encuentra el nodo en ese momento.
BMX_CLIENWITHIP=1
Esto quiere decir que el nodo ha tomado una ip de la lan por DHCP, pero,
sin embargo, no tiene salida a Internet.
La comprobación que se hace con el nw_check es ver si puede envíar un
ping a una lista de IP en internet a través de la LAN.
Lo demás, se explica en el código.
>
> si bien es correcto chequear la salida del comando PING, no quita que en
> un futuro cambie la implementaci'on de una salida ok del ping. Lo que
> quiero decir es que se "podr'ia" utilizar de otra manera si se
> controlase esto mediante el /error code /del comando PING.
>
> $PING -W 1 -c 1 -I $LAN_IFACE $IP
>
> *if *[ $? -eq 0 ]; *then*
>
Si, es verdad, buen punto. No recuerdo ahora por que no lo hice así. Lo
que puedo decir es que el ping que se usa es el del busybox y no se
comporta de igual manera que un comando ping normal ya que está
recortado. Por ello hay cosas que se pueden hacer y otras no.
Igualmente, no creo que lo que vos indicas no se pueda hacer. Si te
parece, podes probarlo y decirnos si anda bien.
Tene en cuenta el estado "chungo" en el que hace esa comprobación.
Con gusto te doy más detalles si los necesitas.
>
> Esto es lo que dice el manual de PING
>
> /If *ping* does not receive any reply packets at all it will exit
> with code 1. If a packet count and deadline are both specified, and
> fewer than count packets are received by the time the deadline has
> arrived, it will also exit with code 1. On other error it exits with
> code 2. Otherwise it exits with code 0. This makes it possible to
> use the exit code to see if a host is alive or not. /
>
> Por ultimo, siempre tener en cuenta la ley del desarrollo: _/"Si
> funciona, no lo toques"/_ ("If It Works, Don't Touch It")
> Gracias, y espero no molestar con mis preguntontas. :D.
Para nada es molestia. Se agradece mucho que mires el código. Es muy
importante para nosotros.
>
> Por ultimo, han echo un excelente trabajo con nightwing.
>
Muchas gracias.
> ///Saludos,
Saludos.-
--
Sebastian.Criado en gmail.com - GPG: 1024D/7D98DF14
37E4 246A F17B 689F 9F2D|counter.li.org: #146768
0578 B1AA 8CDB 7D98 DF14|http://www.lugro.org.ar
http://noalamatricula.wordpress.com/about/ read!
"Si el Universo fuera un programa estaría hecho
en C, y correría sobre un sistema UNIX" Anónimo.
Más información sobre la lista de distribución Nightwing