Make sure we install the route returned by the upcall before trying to

forward any queued packets.  From Bill Fenner, via Brad Karp.
This commit is contained in:
mycroft 1997-08-14 06:42:33 +00:00
parent f9904b191f
commit e76ba36231
1 changed files with 5 additions and 4 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: ip_mroute.c,v 1.34 1996/10/13 02:03:06 christos Exp $ */
/* $NetBSD: ip_mroute.c,v 1.35 1997/08/14 06:42:33 mycroft Exp $ */
/*
* IP multicast forwarding procedures
@ -790,8 +790,11 @@ add_mfc(m)
if (rt->mfc_expire)
nexpire[hash]--;
rte = rt->mfc_stall;
update_mfc(mfccp, rt);
/* free packets Qed at the end of this entry */
for (rte = rt->mfc_stall; rte != 0; rte = nrte) {
for (; rte != 0; rte = nrte) {
nrte = rte->next;
#ifdef RSVP_ISI
ip_mdq(rte->m, rte->ifp, rt, -1);
@ -804,8 +807,6 @@ add_mfc(m)
#endif /* UPCALL_TIMING */
free(rte, M_MRTABLE);
}
update_mfc(mfccp, rt);
}
}