Home | History | Annotate | Download | only in netinet

Lines Matching defs:softl

221 	ipf_log_softc_t *softl;
223 KMALLOC(softl, ipf_log_softc_t *);
224 if (softl == NULL)
227 bzero((char *)softl, sizeof(*softl));
228 bcopy((char *)magic, (char *)softl->ipl_magic, sizeof(magic));
230 softl->ipf_log_tune = ipf_tune_array_copy(softl,
233 if (softl->ipf_log_tune == NULL) {
234 ipf_log_soft_destroy(softc, softl);
237 if (ipf_tune_array_link(softc, softl->ipf_log_tune) == -1) {
238 ipf_log_soft_destroy(softc, softl);
242 softl->ipl_suppress = 1;
243 softl->ipl_logall = 0;
244 softl->ipl_log_init = 0;
245 softl->ipl_logsize = IPFILTER_LOGSIZE;
247 return softl;
261 ipf_log_softc_t *softl = arg;
265 softl->iplt[i] = NULL;
266 softl->ipll[i] = NULL;
267 softl->iplh[i] = &softl->iplt[i];
268 bzero((char *)&softl->ipl_crc[i], sizeof(softl->ipl_crc[i]));
270 softl->iplog_ss[i].read_waiter = 0;
271 softl->iplog_ss[i].state = 0;
274 init_waitqueue_head(softl->iplh_linux + i);
277 cv_init(&softl->ipl_wait[i], NULL, CV_DRIVER, NULL);
279 MUTEX_INIT(&softl->ipl_mutex[i], "ipf log mutex");
283 softl->ipl_log_init = 1;
299 ipf_log_softc_t *softl = arg;
302 if (softl->ipl_log_init == 0)
305 softl->ipl_log_init = 0;
314 MUTEX_ENTER(&softl->ipl_mutex[i]);
315 while (softl->ipl_readers[i] > 0) {
317 cv_broadcast(&softl->ipl_wait[i]);
318 MUTEX_EXIT(&softl->ipl_mutex[i]);
322 MUTEX_EXIT(&softl->ipl_mutex[i]);
323 WAKEUP(softl->iplh, i);
326 MUTEX_ENTER(&softl->ipl_mutex[i]);
328 MUTEX_EXIT(&softl->ipl_mutex[i]);
329 MUTEX_DESTROY(&softl->ipl_mutex[i]);
347 ipf_log_softc_t *softl = arg;
352 cv_destroy(&softl->ipl_wait[i]);
356 if (softl->ipf_log_tune != NULL) {
357 ipf_tune_array_unlink(softc, softl->ipf_log_tune);
358 KFREES(softl->ipf_log_tune, sizeof(ipf_log_tuneables));
359 softl->ipf_log_tune = NULL;
362 KFREE(softl);
382 ipf_log_softc_t *softl = softc->ipf_log_soft;
487 if (!softl->ipl_logall) {
557 ipf_log_softc_t *softl = softc->ipf_log_soft;
571 MUTEX_ENTER(&softl->ipl_mutex[unit]);
572 softl->ipl_counter[unit]++;
577 if ((softl->ipl_used[unit] + len) > softl->ipl_logsize) {
578 softl->ipl_logfail[unit]++;
579 MUTEX_EXIT(&softl->ipl_mutex[unit]);
585 softl->ipl_logfail[unit]++;
586 MUTEX_EXIT(&softl->ipl_mutex[unit]);
590 ipl->ipl_magic = softl->ipl_magic[unit];
592 ipl->ipl_seqnum = softl->ipl_counter[unit];
619 if (softl->ipl_suppress) {
621 if ((softl->ipll[unit] != NULL) &&
622 (fin->fin_crc == softl->ipl_crc[unit].fin_crc) &&
623 bcmp((char *)fin, (char *)&softl->ipl_crc[unit],
625 softl->ipll[unit]->ipl_count++;
626 MUTEX_EXIT(&softl->ipl_mutex[unit]);
631 bcopy((char *)fin, (char *)&softl->ipl_crc[unit],
633 softl->ipl_crc[unit].fin_crc = fin->fin_crc;
635 bzero((char *)&softl->ipl_crc[unit], FI_CSIZE);
642 softl->ipl_logok[unit]++;
643 softl->ipll[unit] = ipl;
644 *softl->iplh[unit] = ipl;
645 softl->iplh[unit] = &ipl->ipl_next;
646 softl->ipl_used[unit] += len;
653 cv_signal(&softl->ipl_wait[unit]);
654 MUTEX_EXIT(&softl->ipl_mutex[unit]);
657 MUTEX_EXIT(&softl->ipl_mutex[unit]);
658 WAKEUP(softl->iplh, unit);
685 ipf_log_softc_t *softl = softc->ipf_log_soft;
691 if (softl->ipl_log_init == 0) {
711 if (uio->uio_resid > softl->ipl_logsize) {
721 MUTEX_ENTER(&softl->ipl_mutex[unit]);
722 softl->ipl_readers[unit]++;
724 while (softl->ipl_log_init == 1 && softl->iplt[unit] == NULL) {
726 if (!cv_wait_sig(&softl->ipl_wait[unit],
727 &softl->ipl_mutex[unit].ipf_lk)) {
728 softl->ipl_readers[unit]--;
729 MUTEX_EXIT(&softl->ipl_mutex[unit]);
740 softl->ipl_readers[unit]--;
741 MUTEX_EXIT(&softl->ipl_mutex[unit]);
746 MUTEX_EXIT(&softl->ipl_mutex[unit]);
747 l = get_sleep_lock(&softl->iplh[unit]);
748 error = sleep(&softl->iplh[unit], PZERO+1);
752 error = mpsleep(&softl->iplh[unit], PSUSP|PCATCH, "ipfread", 0,
753 &softl->ipl_mutex, MS_LOCK_SIMPLE);
755 MUTEX_EXIT(&softl->ipl_mutex[unit]);
757 error = SLEEP(unit + softl->iplh, "ipl sleep");
761 MUTEX_ENTER(&softl->ipl_mutex[unit]);
763 softl->ipl_readers[unit]--;
764 MUTEX_EXIT(&softl->ipl_mutex[unit]);
770 if (softl->ipl_log_init != 1) {
771 softl->ipl_readers[unit]--;
772 MUTEX_EXIT(&softl->ipl_mutex[unit]);
782 for (copied = 0; (ipl = softl->iplt[unit]) != NULL; copied += dlen) {
789 softl->iplt[unit] = ipl->ipl_next;
790 softl->ipl_used[unit] -= dlen;
791 MUTEX_EXIT(&softl->ipl_mutex[unit]);
796 MUTEX_ENTER(&softl->ipl_mutex[unit]);
798 ipl->ipl_next = softl->iplt[unit];
799 softl->iplt[unit] = ipl;
800 softl->ipl_used[unit] += dlen;
803 MUTEX_ENTER(&softl->ipl_mutex[unit]);
807 if (!softl->iplt[unit]) {
808 softl->ipl_used[unit] = 0;
809 softl->iplh[unit] = &softl->iplt[unit];
810 softl->ipll[unit] = NULL;
813 softl->ipl_readers[unit]--;
814 MUTEX_EXIT(&softl->ipl_mutex[unit]);
831 ipf_log_softc_t *softl = softc->ipf_log_soft;
837 MUTEX_ENTER(&softl->ipl_mutex[unit]);
838 while ((ipl = softl->iplt[unit]) != NULL) {
839 softl->iplt[unit] = ipl->ipl_next;
842 softl->iplh[unit] = &softl->iplt[unit];
843 softl->ipll[unit] = NULL;
844 used = softl->ipl_used[unit];
845 softl->ipl_used[unit] = 0;
846 bzero((char *)&softl->ipl_crc[unit], FI_CSIZE);
847 MUTEX_EXIT(&softl->ipl_mutex[unit]);
865 ipf_log_softc_t *softl = softc->ipf_log_soft;
867 return softl->iplt[unit] != NULL;
883 ipf_log_softc_t *softl = softc->ipf_log_soft;
885 if (softl == NULL)
888 return softl->ipl_used[unit];
904 ipf_log_softc_t *softl = softc->ipf_log_soft;
906 if (softl == NULL)
909 return softl->ipl_logfail[unit];
925 ipf_log_softc_t *softl = softc->ipf_log_soft;
927 if (softl == NULL)
930 return softl->ipl_logok[unit];