aun estoy tratando de pillar que fue... Un poco dificil con 4 switches de cuneta como los Dlink 1024R :-)
----- Original Message ----- From: <[EMAIL PROTECTED]> To: "Discusion de Linux en Castellano" <[email protected]> Sent: Monday, October 04, 2004 4:19 PM Subject: Re: Neighbour table overflow > El Mon, Oct 04, 2004 at 02:15:27PM -0400, Marco Bravo escribio: >> en gc_thresh1,2 y 3 tengo valores de 128, 512 y 1024 respectivamente.. > > sip, ese es el default > >> >> Lo que leo acerca de gc_thresh es q si aumento los valores solo >> incrementaria el buffer para almacenar cache de ruteo? > > nopes, como veras de net/core/neighbour.c : > > static struct neighbour *neigh_alloc(struct neigh_table *tbl) > { > struct neighbour *n = NULL; > unsigned long now = jiffies; > > if (tbl->entries > tbl->gc_thresh3 || > (tbl->entries > tbl->gc_thresh2 && > now - tbl->last_flush > 5 * HZ)) { > if (!neigh_forced_gc(tbl) && > tbl->entries > tbl->gc_thresh3) > goto out; > } > ..... > .... > .. > . > > } > > ademas en net/ipv4/route.c : > > ... > .. > > static int rt_garbage_collect(void){ > > ... > ... > ... > > /* Calculate number of entries, which we want to expire now. */ > goal = atomic_read(&ipv4_dst_ops.entries) - > (ip_rt_gc_elasticity << rt_hash_log); > if (goal <= 0) { > if (equilibrium < ipv4_dst_ops.gc_thresh) > equilibrium = ipv4_dst_ops.gc_thresh; > > > > ... > ... > .. > > } > > y en net/ipv4/arp.c : > > > ... > .gc_interval = 30 * HZ, > .gc_thresh1 = 128, > .gc_thresh2 = 512, > .gc_thresh3 = 1024, > > .... > > > > o sea, los valores permiten un balance entre el tamanno de la tabla, > la frecuencia y la cantidad de nodos que se limpian en cada "pasada". > > > ** en resumen : > > gc_thresh1 = minimo > gc_thresh2 = balance, o cuando debe comenzar a preocuparse > gc_thresh3 = maximo permitido > > ** ademas puedes modificar el valor de : > > gc_stale_time = tiempo de vida de cada entrada en la tabla > > ** y de : > > gc_interval = cada cuanto debe correr el garbage_collector (GC) en la > tabla. > > > ** cuidado eso si que si tienes una tabla muy grande, con mucho trafico > a distintos hosts y un GC muy seguido podrias hacer que el kernel entrara > en un loop (algo asi como un auto DoS ;-D ) > > > suerte y que ojala te sirva, pero trata de determinar porque se te > llenaron > las tablas arp (algun virus o troyano quizas? ). > > > slds > mundo > > > >

