diff --git a/sys/net/if_llatbl.c b/sys/net/if_llatbl.c index d516dbc5accc..a0fb071d6f16 100644 --- a/sys/net/if_llatbl.c +++ b/sys/net/if_llatbl.c @@ -183,6 +183,7 @@ lltable_free(struct lltable *llt) free(llt, M_LLTABLE); } +#if 0 void lltable_drain(int af) { @@ -197,15 +198,18 @@ lltable_drain(int af) for (i=0; i < LLTBL_HASHTBL_SIZE; i++) { LIST_FOREACH(lle, &llt->lle_head[i], lle_next) { + LLE_WLOCK(lle); if (lle->la_hold) { m_freem(lle->la_hold); lle->la_hold = NULL; } + LLE_WUNLOCK(lle); } } } LLTABLE_RUNLOCK(); } +#endif void lltable_prefix_free(int af, struct sockaddr *prefix, struct sockaddr *mask) diff --git a/sys/net/if_llatbl.h b/sys/net/if_llatbl.h index debb416ca065..a4d02ab07906 100644 --- a/sys/net/if_llatbl.h +++ b/sys/net/if_llatbl.h @@ -186,7 +186,9 @@ struct lltable *lltable_init(struct ifnet *, int); void lltable_free(struct lltable *); void lltable_prefix_free(int, struct sockaddr *, struct sockaddr *); +#if 0 void lltable_drain(int); +#endif int lltable_sysctl_dumparp(int, struct sysctl_req *); void llentry_free(struct llentry *);