sending of bulk updates has been very broken since r1.124. pfsync_bulk_start sets up a bulk transfer by doing this:
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.

orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars