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@

Reply via email to