Lines Matching refs:parms
109 if (neigh->parms->neigh_cleanup) in neigh_cleanup_and_release()
110 neigh->parms->neigh_cleanup(neigh); in neigh_cleanup_and_release()
284 n->parms = neigh_parms_clone(&tbl->parms); in neigh_alloc()
430 if (n->parms->neigh_setup && in neigh_create()
431 (error = n->parms->neigh_setup(n)) < 0) { in neigh_create()
436 n->confirmed = jiffies - (n->parms->base_reachable_time << 1); in neigh_create()
445 if (n->parms->dead) { in neigh_create()
610 static void neigh_parms_destroy(struct neigh_parms *parms);
612 static inline void neigh_parms_put(struct neigh_parms *parms) in neigh_parms_put() argument
614 if (atomic_dec_and_test(&parms->refcnt)) in neigh_parms_put()
615 neigh_parms_destroy(parms); in neigh_parms_put()
652 neigh_parms_put(neigh->parms); in neigh_destroy()
712 for (p = &tbl->parms; p; p = p->next) in neigh_periodic_timer()
736 time_after(now, n->used + n->parms->gc_staletime))) { in neigh_periodic_timer()
753 expire = tbl->parms.base_reachable_time >> 1; in neigh_periodic_timer()
768 struct neigh_parms *p = n->parms; in neigh_max_probes()
798 neigh->confirmed + neigh->parms->reachable_time)) { in neigh_timer_handler()
800 next = neigh->confirmed + neigh->parms->reachable_time; in neigh_timer_handler()
802 neigh->used + neigh->parms->delay_probe_time)) { in neigh_timer_handler()
807 next = now + neigh->parms->delay_probe_time; in neigh_timer_handler()
817 neigh->confirmed + neigh->parms->delay_probe_time)) { in neigh_timer_handler()
823 next = neigh->confirmed + neigh->parms->reachable_time; in neigh_timer_handler()
829 next = now + neigh->parms->retrans_time; in neigh_timer_handler()
833 next = now + neigh->parms->retrans_time; in neigh_timer_handler()
901 if (neigh->parms->mcast_probes + neigh->parms->app_probes) { in __neigh_event_send()
902 atomic_set(&neigh->probes, neigh->parms->ucast_probes); in __neigh_event_send()
920 jiffies + neigh->parms->delay_probe_time); in __neigh_event_send()
926 neigh->parms->queue_len) { in __neigh_event_send()
1064 neigh->parms->reachable_time : in neigh_update()
1074 (neigh->parms->base_reachable_time << 1); in neigh_update()
1317 for (p = &tbl->parms; p; p = p->next) { in lookup_neigh_params()
1354 p->next = tbl->parms.next; in neigh_parms_alloc()
1355 tbl->parms.next = p; in neigh_parms_alloc()
1364 struct neigh_parms *parms = in neigh_rcu_free_parms() local
1367 neigh_parms_put(parms); in neigh_rcu_free_parms()
1370 void neigh_parms_release(struct neigh_table *tbl, struct neigh_parms *parms) in neigh_parms_release() argument
1374 if (!parms || parms == &tbl->parms) in neigh_parms_release()
1377 for (p = &tbl->parms.next; *p; p = &(*p)->next) { in neigh_parms_release()
1378 if (*p == parms) { in neigh_parms_release()
1379 *p = parms->next; in neigh_parms_release()
1380 parms->dead = 1; in neigh_parms_release()
1382 if (parms->dev) in neigh_parms_release()
1383 dev_put(parms->dev); in neigh_parms_release()
1384 call_rcu(&parms->rcu_head, neigh_rcu_free_parms); in neigh_parms_release()
1393 static void neigh_parms_destroy(struct neigh_parms *parms) in neigh_parms_destroy() argument
1395 release_net(neigh_parms_net(parms)); in neigh_parms_destroy()
1396 kfree(parms); in neigh_parms_destroy()
1406 write_pnet(&tbl->parms.net, &init_net); in neigh_table_init_no_netlink()
1407 atomic_set(&tbl->parms.refcnt, 1); in neigh_table_init_no_netlink()
1408 tbl->parms.reachable_time = in neigh_table_init_no_netlink()
1409 neigh_rand_reach_time(tbl->parms.base_reachable_time); in neigh_table_init_no_netlink()
1447 tbl->last_rand = now + tbl->parms.reachable_time * 20; in neigh_table_init_no_netlink()
1674 static int neightbl_fill_parms(struct sk_buff *skb, struct neigh_parms *parms) in neightbl_fill_parms() argument
1682 if (parms->dev) in neightbl_fill_parms()
1683 NLA_PUT_U32(skb, NDTPA_IFINDEX, parms->dev->ifindex); in neightbl_fill_parms()
1685 NLA_PUT_U32(skb, NDTPA_REFCNT, atomic_read(&parms->refcnt)); in neightbl_fill_parms()
1686 NLA_PUT_U32(skb, NDTPA_QUEUE_LEN, parms->queue_len); in neightbl_fill_parms()
1687 NLA_PUT_U32(skb, NDTPA_PROXY_QLEN, parms->proxy_qlen); in neightbl_fill_parms()
1688 NLA_PUT_U32(skb, NDTPA_APP_PROBES, parms->app_probes); in neightbl_fill_parms()
1689 NLA_PUT_U32(skb, NDTPA_UCAST_PROBES, parms->ucast_probes); in neightbl_fill_parms()
1690 NLA_PUT_U32(skb, NDTPA_MCAST_PROBES, parms->mcast_probes); in neightbl_fill_parms()
1691 NLA_PUT_MSECS(skb, NDTPA_REACHABLE_TIME, parms->reachable_time); in neightbl_fill_parms()
1693 parms->base_reachable_time); in neightbl_fill_parms()
1694 NLA_PUT_MSECS(skb, NDTPA_GC_STALETIME, parms->gc_staletime); in neightbl_fill_parms()
1695 NLA_PUT_MSECS(skb, NDTPA_DELAY_PROBE_TIME, parms->delay_probe_time); in neightbl_fill_parms()
1696 NLA_PUT_MSECS(skb, NDTPA_RETRANS_TIME, parms->retrans_time); in neightbl_fill_parms()
1697 NLA_PUT_MSECS(skb, NDTPA_ANYCAST_DELAY, parms->anycast_delay); in neightbl_fill_parms()
1698 NLA_PUT_MSECS(skb, NDTPA_PROXY_DELAY, parms->proxy_delay); in neightbl_fill_parms()
1699 NLA_PUT_MSECS(skb, NDTPA_LOCKTIME, parms->locktime); in neightbl_fill_parms()
1776 BUG_ON(tbl->parms.dev); in neightbl_fill_info()
1777 if (neightbl_fill_parms(skb, &tbl->parms) < 0) in neightbl_fill_info()
1791 struct neigh_parms *parms, in neightbl_fill_param_info() argument
1810 neightbl_fill_parms(skb, parms) < 0) in neightbl_fill_param_info()
1993 for (nidx = 0, p = tbl->parms.next; p; p = p->next) { in neightbl_dump_info()