Lines Matching defs:new_drp
576 struct dr *drp, *new_drp;
632 new_drp = NULL;
658 if (new_drp == NULL ||
662 (new_drp != cur_drp &&
663 new_drp->dr_life > drp->dr_life))))) ||
666 new_drp = drp;
675 if ((new_drp != cur_drp) || (rt == NULL)) {
681 * slot for the spare entry of new_drp
701 if (new_drp == NULL) {
709 naddr_ntoa(new_drp->dr_gate),
710 new_drp->dr_ifp->int_name);
714 /* Prepare a spare entry for the new_drp */
716 new.rts_ifp = new_drp->dr_ifp;
717 new.rts_gate = new_drp->dr_gate;
718 new.rts_router = new_drp->dr_gate;
731 * Add the spare entry for the new_drp in
737 naddr_ntoa(new_drp->dr_gate),
738 new_drp->dr_ifp->int_name);
753 cur_drp = new_drp;
882 struct dr *drp, *new_drp;
915 for (new_drp = NULL, drp = drs; drp < &drs[max_ads]; drp++) {
918 new_drp = drp;
927 new_drp = drp; /* use unused entry */
929 } else if (new_drp == NULL) {
936 new_drp = drp;
938 } else if (new_drp->dr_ts != 0) {
940 if ((!(new_drp->dr_ifp->int_state & IS_SICK) &&
942 (new_drp->dr_pref > drp->dr_pref &&
943 !((new_drp->dr_ifp->int_state ^
945 new_drp = drp;
950 if (new_drp == NULL) {
957 new_drp = &drs[max_ads];
966 new_drp->dr_ifp = ifp;
967 new_drp->dr_gate = gate;
968 new_drp->dr_ts = now.tv_sec;
969 new_drp->dr_life = life;
970 new_drp->dr_recv_pref = pref;
972 new_drp->dr_pref = PREF(pref, ifp);