CVSROOT: /cvs Module name: src Changes by: d...@cvs.openbsd.org 2010/07/09 03:01:32
Modified files: sys/net : if_pfsync.c Log message: sending of bulk updates has been very broken since r1.124. pfsync_bulk_start sets up a bulk transfer by doing this: sc->sc_bulk_next = TAILQ_FIRST(&state_list); sc->sc_bulk_last = sc->sc_bulk_next; and then calls pfsync_bulk_update which loops over state_list like this: st = sc->sc_bulk_next; while (st != sc->sc_bulk_last) { basically bulk updates never got sent. this diff handles jjs problem by not attempting to send a bulk update when the state table is empty and fixed the loop to break at the right times. reported by david@ who's initial tests are positive. reviewed by mcbride@ tested in production at work.