[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