Page MenuHomeFreeBSD

D43031.id131325.diff
No OneTemporary

D43031.id131325.diff

diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c
--- a/sys/netinet/ip_mroute.c
+++ b/sys/netinet/ip_mroute.c
@@ -1250,22 +1250,17 @@
MRW_WLOCK();
- rt = mfc_find(&origin, &mcastgrp);
+ LIST_FOREACH(rt, &V_mfchashtbl[MFCHASH(origin, mcastgrp)], mfc_hash) {
+ if (in_hosteq(rt->mfc_origin, origin) &&
+ in_hosteq(rt->mfc_mcastgrp, mcastgrp))
+ break;
+ }
if (rt == NULL) {
MRW_WUNLOCK();
return EADDRNOTAVAIL;
}
- /*
- * free the bw_meter entries
- */
- free_bw_list(rt->mfc_bw_meter_leq);
- rt->mfc_bw_meter_leq = NULL;
- free_bw_list(rt->mfc_bw_meter_geq);
- rt->mfc_bw_meter_geq = NULL;
-
- LIST_REMOVE(rt, mfc_hash);
- free(rt, M_MRTABLE);
+ expire_mfc(rt);
MRW_WUNLOCK();

File Metadata

Mime Type
text/plain
Expires
Sat, Oct 18, 5:45 AM (1 h, 43 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
23832556
Default Alt Text
D43031.id131325.diff (724 B)

Event Timeline