Discussion:
Problema con firewall : mensaje "dst cahe overflow"
Lucas Nogueron
2010-03-17 12:44:39 UTC
Permalink
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.

Datos


brazilfw# uname -r
2.4.36.2

brazilfw# cd /proc/sys/net/ipv4/route/
brazilfw# grep . *
error_burst:500
error_cost:100
gc_elasticity:8
gc_interval:60
gc_min_interval:0
gc_thresh:512
gc_timeout:300
max_delay:10
max_size:8192
min_adv_mss:256
min_delay:2
min_pmtu:552
mtu_expires:600
redirect_load:2
redirect_number:9
redirect_silence:2048
secret_interval:600

Cualquier idea sera apreciada.
--
Hay 10 tipos de personas, las que saben binario y las que no.

Luxas
Luciano Ruete
2010-03-17 15:01:22 UTC
Permalink
Post by Lucas Nogueron
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
--
Luciano
Alfredo Daniel Rezinovsky
2010-03-17 15:13:04 UTC
Permalink
Post by Luciano Ruete
Post by Lucas Nogueron
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
-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
Lucas Nogueron
2010-03-17 15:38:31 UTC
Permalink
El día 17 de marzo de 2010 12:13, Alfredo Daniel Rezinovsky
Post by Alfredo Daniel Rezinovsky
Post by Luciano Ruete
Post by Lucas Nogueron
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
-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.
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.

brazilfw# cat /proc/meminfo
total: used: free: shared: buffers: cached:
Mem: 187846656 18075648 169771008 0 86016 11345920
Swap: 0 0 0
MemTotal: 183444 kB
MemFree: 165792 kB
MemShared: 0 kB
Buffers: 84 kB
Cached: 11080 kB
SwapCached: 0 kB
Active: 4516 kB
Inactive: 6684 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 183444 kB
LowFree: 165792 kB
SwapTotal: 0 kB
SwapFree: 0 kB

Debe ser que el garbage collector no actua en tiempo y forma. Voy a
jugar con los parametros a ver que onda,

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

Luxas
Ruben I. Toncic
2010-03-17 22:13:39 UTC
Permalink
Post by Lucas Nogueron
Estoy usando BrazilFW 2.31.10 para compartir inet y tengo este
inconveniente, me sale este error "dst cache overflow", y eso hizo
que
Post by Lucas Nogueron
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.
Yo también uso BrazilFW 2.31.10 SP1+, se me presente este problema cuando
habilite 2 interfaces bridgeadas, una eth0 y una ath0, también con eth0 y
eth2.

Tengo varios brazilfw pòr varios lados y muy estables, pero cuando habilite
las interfaces brX, a los 2 dias de prendido el que uso particular, se
tildaba como describís vos. Por ahora no he investigado por ese lado,
solución diferentes redes y ruteos entre ellas.

No te doy ninguna solución, pero te tiro un datito más.
Lucas Nogueron
2010-03-17 23:25:30 UTC
Permalink
El día 17 de marzo de 2010 19:13, Ruben I. Toncic
Post by Ruben I. Toncic
Post by Lucas Nogueron
Estoy usando BrazilFW 2.31.10 para compartir inet y tengo este
inconveniente, me sale este error "dst cache overflow", y eso hizo
que
Post by Lucas Nogueron
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.
Yo también uso BrazilFW 2.31.10 SP1+, se me presente este problema cuando
habilite 2 interfaces bridgeadas, una eth0 y una ath0, también con eth0 y
eth2.
Tengo varios brazilfw pòr varios lados y muy estables, pero cuando habilite
las interfaces brX, a los 2 dias de prendido el que uso particular, se
tildaba como describís vos. Por ahora no he investigado por ese lado,
solución diferentes redes y ruteos entre ellas.
No te doy ninguna solución, pero te tiro un datito más.
Tal cual, aparece en un bridge que tengo. un puerto del bridge es ath0
(wifi) y otro eth0 ¿vos decis que los ponga en diferentes subredes y
rutee entre ellas?
.Saludos.
--
Hay 10 tipos de personas, las que saben binario y las que no.

Luxas
Ruben I. Toncic
2010-03-18 00:23:27 UTC
Permalink
Post by Luciano Ruete
Post by Ruben I. Toncic
Post by Lucas Nogueron
Estoy usando BrazilFW 2.31.10 para compartir inet y tengo este
inconveniente, me sale este error "dst cache overflow", y eso hizo
que
Post by Lucas Nogueron
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
Post by Ruben I. Toncic
Post by Lucas Nogueron
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.
Yo también uso BrazilFW 2.31.10 SP1+, se me presente este problema
cuando
Post by Ruben I. Toncic
habilite 2 interfaces bridgeadas, una eth0 y una ath0, también con eth0
y
Post by Ruben I. Toncic
eth2.
Tengo varios brazilfw pòr varios lados y muy estables, pero cuando
habilite
Post by Ruben I. Toncic
las interfaces brX, a los 2 dias de prendido el que uso particular, se
tildaba como describís vos. Por ahora no he investigado por ese lado,
solución diferentes redes y ruteos entre ellas.
No te doy ninguna solución, pero te tiro un datito más.
Tal cual, aparece en un bridge que tengo. un puerto del bridge es ath0
(wifi) y otro eth0 ¿vos decis que los ponga en diferentes subredes y
rutee entre ellas?
.Saludos.
Talvez sea algun tema con la configuración de los archivos grales del
brazil.

Yo puse diferentes redes y rutee.

Por otro lado no me puse a investigar mucho el tema ya que por el momento no
necesito mas las brX, y además estoy investigando otra distribución mas
configurable.

En lo que te pueda ayudar, comentar.
Luciano Ruete
2010-03-19 16:55:32 UTC
Permalink
Post by Lucas Nogueron
El día 17 de marzo de 2010 12:13, Alfredo Daniel Rezinovsky
Post by Alfredo Daniel Rezinovsky
Post by Luciano Ruete
Post by Lucas Nogueron
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
-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
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.
Post by Lucas Nogueron
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!
--
Luciano
Lucas Nogueron
2010-03-19 18:13:55 UTC
Permalink
El día 19 de marzo de 2010 13:55, Luciano Ruete
Post by Luciano Ruete
Post by Lucas Nogueron
El día 17 de marzo de 2010 12:13, Alfredo Daniel Rezinovsky
Post by Alfredo Daniel Rezinovsky
Post by Luciano Ruete
Post by Lucas Nogueron
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
-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
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.
Post by Lucas Nogueron
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
Luciano Ruete
2010-03-20 11:53:35 UTC
Permalink
Post by Lucas Nogueron
El día 19 de marzo de 2010 13:55, Luciano Ruete
Post by Luciano Ruete
Post by Lucas Nogueron
El día 17 de marzo de 2010 12:13, Alfredo Daniel Rezinovsky
Post by Alfredo Daniel Rezinovsky
Post by Luciano Ruete
Post by Lucas Nogueron
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
-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
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.
Post by Lucas Nogueron
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.
El otro cache que se puede estar llenando y más en un bridge es el de
neighborhood (MAC address vecinas), pero si mal no recuerdo el mensaje en
syslog sería otro (igual la memoria en estas cosas no es de confiar).

***@sistecom:~# grep . /proc/sys/net/ipv4/neigh/default/gc_t*
/proc/sys/net/ipv4/neigh/default/gc_thresh1:2048
/proc/sys/net/ipv4/neigh/default/gc_thresh2:4096
/proc/sys/net/ipv4/neigh/default/gc_thresh3:8192

seguro tus numeros son más bajos por la poca RAM que tenés, los podes aumentar
a mano tranquilo.

Cambiar de distro ante un error así es la solución menos geek, deberías querer
aprender y entender como solucionar de _verdad_ el problema que tenés.

Saludos!
--
Luciano
Lucas Nogueron
2010-03-21 16:45:53 UTC
Permalink
El día 20 de marzo de 2010 08:53, Luciano Ruete
Post by Luciano Ruete
Post by Lucas Nogueron
El día 19 de marzo de 2010 13:55, Luciano Ruete
Post by Luciano Ruete
Post by Lucas Nogueron
El día 17 de marzo de 2010 12:13, Alfredo Daniel Rezinovsky
Post by Alfredo Daniel Rezinovsky
Post by Luciano Ruete
Post by Lucas Nogueron
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
-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
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.
Post by Lucas Nogueron
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.
El otro cache que se puede estar llenando y más en un bridge es el de
neighborhood (MAC address vecinas), pero si mal no recuerdo el mensaje en
syslog sería otro (igual la memoria en estas cosas no es de confiar).
/proc/sys/net/ipv4/neigh/default/gc_thresh1:2048
/proc/sys/net/ipv4/neigh/default/gc_thresh2:4096
/proc/sys/net/ipv4/neigh/default/gc_thresh3:8192
seguro tus numeros son más bajos por la poca RAM que tenés, los podes aumentar
a mano tranquilo.
Cambiar de distro ante un error así es la solución menos geek, deberías querer
aprender y entender como solucionar de _verdad_ el problema que tenés.
Bueno te agradezco, lo voy a intentar en casa. El fw es para el laburo
y no puedo hacerme el "geek" y tener a 100 personas sin internet por
"x" tiempo hasta que solucione el problema que no se tampoco sè si
tendrá solución. De todas maneras pasarme a BSD-pfsense y tratar de
aprender algo que nunca toquè me parece mas geek todavia.

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

Luxas
Ruben I. Toncic
2010-03-22 13:16:06 UTC
Permalink
Post by Lucas Nogueron
Bueno te agradezco, lo voy a intentar en casa. El fw es para el laburo
y no puedo hacerme el "geek" y tener a 100 personas sin internet por
"x" tiempo hasta que solucione el problema que no se tampoco sè si
tendrá solución. De todas maneras pasarme a BSD-pfsense y tratar de
aprender algo que nunca toquè me parece mas geek todavia.
La versión que estoy testeando yo es Voyage Linux - basada en Debian, creo
que es una buena opción.

En este momento estoy en tu misma situación, y entiendo el problema por eso
opte por rutear las interfaces.
Lucas Nogueron
2010-03-22 14:22:21 UTC
Permalink
El día 22 de marzo de 2010 10:16, Ruben I. Toncic
Post by Ruben I. Toncic
Post by Lucas Nogueron
Bueno te agradezco, lo voy a intentar en casa. El fw es para el laburo
y no puedo hacerme el "geek" y tener a 100 personas sin internet por
"x" tiempo hasta que solucione el problema que no se tampoco sè si
tendrá solución. De todas maneras pasarme a BSD-pfsense y tratar de
aprender algo que nunca toquè me parece mas geek todavia.
La versión que estoy testeando yo es Voyage Linux - basada en Debian, creo
que es una buena opción.
En este momento estoy en tu misma situación, y entiendo el problema por eso
opte por rutear las interfaces.
Seguro!. Una de las cosas que tb me hicieron abandonar la distro era
que no tenía referencias sobre las prestaciones de BrazilFW; y me pasé
a pfSense por las buenas referencias que tenia de la misma. Estaria
bueno cambiar el thread y postear las experiencias con estas
mini-distros orientadas a networking.

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

Luxas
Loading...