CVSROOT: /cvs Module name: src Changes by: d...@cvs.openbsd.org 2015/11/03 17:16:12
Modified files: sys/netinet : if_ether.c Log message: use ml_purge to flush the arp hold lists instead of dequeue/free loops. this is an interesting change because the loops have to decrement the global hold count too. they looked like this: while ((mh = ml_dequeue(&la->la_ml)) != NULL) { la_hold_total--; m_freem(mh); } because ml_purge returns how many mbufs were freed, we can do this: la_hold_total -= ml_purge(&la->la_ml); ok mpi@ bluhm@