Lines Matching defs:nd
1 /* $NetBSD: nd.c,v 1.8 2025/08/18 06:46:43 ozaki-r Exp $ */
31 __KERNEL_RCSID(0, "$NetBSD: nd.c,v 1.8 2025/08/18 06:46:43 ozaki-r Exp $");
38 #include <net/nd.h>
55 struct nd_domain *nd;
73 nd = nd_find_domain(ln->lle_tbl->llt_af);
83 nd->nd_free(ln, 0);
88 if (ln->ln_asked < nd->nd_mmaxtries) {
129 nd->nd_free(ln, 1);
135 if (nd->nd_nud_enabled(ifp)) {
146 if (ln->ln_asked++ < nd->nd_umaxtries) {
172 if (ln->ln_asked++ < nd->nd_mmaxtries)
201 psrc = nd->nd_holdsrc(ln, &src);
204 nd->nd_output(ifp, daddrp, &taddr, lladdrp, psrc);
213 nd->nd_missed(ifp, &taddr, missed, m);
256 struct nd_domain *nd;
261 nd = nd_find_domain(ln->lle_tbl->llt_af);
271 xtick = nd->nd_retrans(ifp) * hz / 1000;
275 unsigned int retrans = nd->nd_retrans(ifp);
276 unsigned int attempts = ln->ln_asked - nd->nd_mmaxtries;
280 xtick *= nd->nd_retransmultiple;
281 if (xtick > nd->nd_maxretrans || xtick < retrans) {
282 xtick = nd->nd_maxretrans;
290 xtick = nd->nd_reachable(ifp) * hz / 1000;
299 xtick = nd->nd_delay * hz;
316 struct nd_domain *nd;
322 nd = nd_find_domain(ln->lle_tbl->llt_af);
385 while (i >= nd->nd_maxqueuelen) {
398 KASSERTMSG(ln->la_numheld < nd->nd_maxqueuelen,
400 ln->la_numheld, nd->nd_maxqueuelen);
403 if (ln->ln_asked >= nd->nd_mmaxtries)
420 psrc = nd->nd_holdsrc(ln, &src);
424 nd->nd_output(ifp, NULL, &dst, NULL, psrc);
435 struct nd_domain *nd;
445 nd = nd_find_domain(ln->lle_tbl->llt_af);
452 if (ln->ln_byhint > nd->nd_maxnudhint)
474 nd_attach_domain(struct nd_domain *nd)
477 KASSERT(nd->nd_family < __arraycount(nd_domains));
478 nd_domains[nd->nd_family] = nd;