Lines Matching defs:drp

261 	struct dr *drp;
270 for (drp = drs; drp < &drs[MAX_ADS]; drp++) {
271 drp->dr_recv_pref = 0;
272 drp->dr_life = 0;
305 struct dr *drp;
327 for (drp = drs; drp < &drs[MAX_ADS]; drp++) {
328 if (drp->dr_ts == 0)
336 if (drp->dr_gate == bad_gate) {
337 sec = (now.tv_sec - drp->dr_life
339 if (drp->dr_ts > sec) {
341 naddr_ntoa(drp->dr_gate),
342 drp->dr_ifp->int_name);
343 drp->dr_ts = sec;
370 struct dr *drp;
372 for (drp = drs; drp < &drs[MAX_ADS]; drp++) {
373 if (drp->dr_ifp != ifp)
375 drp->dr_recv_pref = 0;
376 drp->dr_ts = 0;
377 drp->dr_life = 0;
404 del_rdisc(struct dr *drp)
411 del_redirects(gate = drp->dr_gate, 0);
412 drp->dr_ts = 0;
413 drp->dr_life = 0;
419 ifp = drp->dr_ifp;
420 for (drp = drs; drp < &drs[MAX_ADS]; drp++) {
421 if (drp->dr_ts != 0
422 && drp->dr_ifp == ifp)
455 struct dr *drp, *new_drp;
466 for (drp = drs; drp < &drs[MAX_ADS]; drp++) {
467 if (drp->dr_ts == 0)
469 ifp = drp->dr_ifp;
473 if (drp->dr_ts + drp->dr_life <= now.tv_sec) {
474 del_rdisc(drp);
478 LIM_SEC(rdisc_timer, drp->dr_ts+drp->dr_life+1);
483 drp->dr_pref = PREF(drp->dr_recv_pref, ifp);
491 || (!((new_st ^ drp->dr_ifp->int_state) & IS_SICK)
492 && (new_pref < drp->dr_pref
493 || (new_pref == drp->dr_pref
494 && (drp == cur_drp
496 && new_drp->dr_life > drp->dr_life)))))
498 && !(drp->dr_ifp->int_state & IS_SICK))) {
499 new_drp = drp;
500 new_st = drp->dr_ifp->int_state;
501 new_pref = drp->dr_pref;
578 struct dr *drp, *new_drp;
611 for (new_drp = 0, drp = drs; drp < &drs[MAX_ADS]; drp++) {
614 if (drp->dr_gate == gate) {
615 new_drp = drp;
622 if (drp->dr_ts == 0) {
623 new_drp = drp; /* use unused entry */
630 && (drp->dr_ifp->int_state & IS_SICK))
631 || (pref > drp->dr_pref
632 && !((ifp->int_state ^ drp->dr_ifp->int_state)
634 new_drp = drp;
640 && (drp->dr_ifp->int_state & IS_SICK))
641 || (new_drp->dr_pref > drp->dr_pref
643 ^ drp->dr_ifp->int_state)
645 new_drp = drp;