El día 19 de marzo de 2010 13:55, Luciano Ruete
<[email protected]> escribió:
> On Wednesday 17 March 2010 12:38:31 pm Lucas Nogueron wrote:
>> El día 17 de marzo de 2010 12:13, Alfredo Daniel Rezinovsky
>>
>> <[email protected]> escribió:
>> > El mié, 17-03-2010 a las 12:01 -0300, Luciano Ruete escribió:
>> >> On Wednesday 17 March 2010 09:44:39 am Lucas Nogueron wrote:
>> >> > Hola!
>> >> >
>> >> > Estoy usando BrazilFW 2.31.10 para compartir inet y tengo este
>> >> > inconveniente, me sale este error "dst cache overflow", y eso hizo que
>> >> > se bloqueara mi red. El FW deja de responder y no queda mas que
>> >> > reseteralo. He googleado bastante y lo unico que encontre es q es un
>> >> > bug de kernel. Otros sugieren q es por el tamaño de cache. La
>> >> > cuestiion es que despues de un tiempo aparece el mensajito en la
>> >> > consola y el fw se muere.
>> >>
>> >> Te estás quedando sin entradas en el cache de la tabla de ruteo, para
>> >> agrandarlo tenés varias opciones:
>> >> -si tenés memoria disponible podés agrandar el cache: max_size
>> >> -si no tenés memoria tenes que aumentar la agresividad del garbage
>> >> collector para que libere y expire más pronto las entradas.
>> >> Te paso mis anotaciones de cuando tuve ese problema, mi solución fue
>> >> aumentar el max_size y un valor más que van en relacion (gc_treash) para
>> >> relajar al garbage collector ahora que la tabla está más grande.
>> >>
>> >> Suerte!
>> >>
>> >> #pareciera ser el promedio maximo de  profundidad x hash entry
>> >> #que el kernel acepta antes de empezar a expirar hashentrys(y sus rutas)
>> >> # default 8, mi valor por ahora es 8
>> >> up echo 8 > /proc/sys/net/ipv4/route/gc_elasticity
>> >> # determina el limite aceptable de entradas en la tabla
>> >> # antes hacer gc real
>> >> # default 4096, mi valor max_size/2
>> >> up echo 65536 > /proc/sys/net/ipv4/route/gc_thresh
>> >> # cada cuanto se ejecuta explicitamente el gc
>> >> # default 60(seg)
>> >> up echo 60 > /proc/sys/net/ipv4/route/gc_interval
>> >> # el timeout de una ruta antes de ser candidata a ser borrada
>> >> # default es 300(seg)
>> >> up echo 300 > /proc/sys/net/ipv4/route/gc_timeout
>> >> # tamano maximo de entradas en la tabla de routeo
>> >> # default 65536?, mi valor 2*r_hash (podria ser 8*r_hash para ser
>> >> coherente con gc_elast)
>> >> up echo 131072 > /proc/sys/net/ipv4/route/max_size
>> >> # cada cuanto se hace una limpieza _completa_ (equivale a un flush)
>> >> # default 600(seg, son 5min), mi valor 1hora
>> >> up echo 3600 > /proc/sys/net/ipv4/route/secret_interval
>> >
>> > Estos parametros se suelen configurar solos en base a la RAM.
>> > Podes tocarlos pero una buena idea si realmente necesitas tanto ruteo
>> > simultaneo sería poner más ram
>>
>> Exacto, le puse mas RAM y se modificó:
>>
>> max_size:16384
>>
>> Ahora, Luciano dice que aumente max_zise, la cuestion es ¿hasta cuanto
>> se podria? Tengo 180 MB ram.
>
> podes aumentar un montón porque las entradas en la tabla de ruteo no ocupan
> demasiada memoria, en un momento había sacado la cuenta pero ya no recuerdo,
> googlealo(o busca en el fuente del kernel  y sumá el struct).
>
> El tema es que esa memoria es de kernel no swapeable así que conviene no
> exagerar. aumentá la tabla tranquilo a 65mil y fijate si te soluciona.
>
>> Otra cosa, no creo que sea problema de memoria, puesto que
>> proc/meminfo me indica que me sobra mucha. La maquina es solo un
>> router que natea y no tiene nada raro.
>
> Por más que en meminfo veas que te sobrán varios megas eso no significa que el
> kernel los pueda usar para la tabla de ruteo, se lo tenes que declarar vos
> explicitamente.
> No hace falta que compres más ram, ya que la tenes libre dasela a quien la
> necesita en este caso la tabla de ruteo (max_size).
>
> Saludos!
Gracias Luciano

       La cuestion es que pasé los parametros que posteaste, los
verifique en funcionamiento. Pero no hay caso , no hay solucion, al
menos en inet hablan de los mismo y no hay caso, pareceria que es un
bug de kernel con el bridge.... con mas o menos memoria o lo que venga
tarde o temprano lo tira al errror. Falto probar la solucion de Ruben
que era hacer dos subnets separadas y sin bridge.. Por ahora mi
solucion fue pasarme a la distro Pfsense , hacer un par de clicks en
la interfaz wlan para que actue como ap , y listo, salió andando .
Faltaria probarlo a toda maquina pero pareceria mas robusto que
brazilfw. Si todo sale bien comento la experiencia. Salutos.

-- 
Hay 10 tipos de personas, las que saben binario y las que no.

Luxas

Responder a