• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/net/netfilter/ipvs/

Lines Matching refs:tbl

13  *                                   *lock(tbl->lock) ==> *lock(&tbl->lock)
14 * Wensong Zhang : fixed the uninitialized tbl->lock bug
164 ip_vs_lblc_hash(struct ip_vs_lblc_table *tbl, struct ip_vs_lblc_entry *en)
168 list_add(&en->list, &tbl->bucket[hash]);
169 atomic_inc(&tbl->entries);
178 ip_vs_lblc_get(int af, struct ip_vs_lblc_table *tbl,
184 list_for_each_entry(en, &tbl->bucket[hash], list)
197 ip_vs_lblc_new(struct ip_vs_lblc_table *tbl, const union nf_inet_addr *daddr,
202 en = ip_vs_lblc_get(dest->af, tbl, daddr);
217 ip_vs_lblc_hash(tbl, en);
231 static void ip_vs_lblc_flush(struct ip_vs_lblc_table *tbl)
237 list_for_each_entry_safe(en, nxt, &tbl->bucket[i], list) {
239 atomic_dec(&tbl->entries);
247 struct ip_vs_lblc_table *tbl = svc->sched_data;
252 for (i=0, j=tbl->rover; i<IP_VS_LBLC_TAB_SIZE; i++) {
256 list_for_each_entry_safe(en, nxt, &tbl->bucket[j], list) {
262 atomic_dec(&tbl->entries);
266 tbl->rover = j;
273 struct ip_vs_lblc_table *tbl = svc->sched_data;
279 if ((tbl->counter % COUNT_FOR_FULL_EXPIRATION) == 0) {
282 tbl->counter = 1;
286 if (atomic_read(&tbl->entries) <= tbl->max_size) {
287 tbl->counter++;
291 goal = (atomic_read(&tbl->entries) - tbl->max_size)*4/3;
292 if (goal > tbl->max_size/2)
293 goal = tbl->max_size/2;
295 for (i=0, j=tbl->rover; i<IP_VS_LBLC_TAB_SIZE; i++) {
299 list_for_each_entry_safe(en, nxt, &tbl->bucket[j], list) {
304 atomic_dec(&tbl->entries);
311 tbl->rover = j;
314 mod_timer(&tbl->periodic_timer, jiffies+CHECK_EXPIRE_INTERVAL);
321 struct ip_vs_lblc_table *tbl;
326 tbl = kmalloc(sizeof(*tbl), GFP_ATOMIC);
327 if (tbl == NULL) {
331 svc->sched_data = tbl;
333 "current service\n", sizeof(*tbl));
339 INIT_LIST_HEAD(&tbl->bucket[i]);
341 tbl->max_size = IP_VS_LBLC_TAB_SIZE*16;
342 tbl->rover = 0;
343 tbl->counter = 1;
348 setup_timer(&tbl->periodic_timer, ip_vs_lblc_check_expire,
350 mod_timer(&tbl->periodic_timer, jiffies + CHECK_EXPIRE_INTERVAL);
358 struct ip_vs_lblc_table *tbl = svc->sched_data;
361 del_timer_sync(&tbl->periodic_timer);
364 ip_vs_lblc_flush(tbl);
367 kfree(tbl);
369 sizeof(*tbl));
466 struct ip_vs_lblc_table *tbl = svc->sched_data;
477 en = ip_vs_lblc_get(svc->af, tbl, &iph.daddr);
509 ip_vs_lblc_new(tbl, &iph.daddr, dest);