Home | History | Annotate | Download | only in netinet

Lines Matching refs:fin

353 /* Parameters:  fin(I)   - pointer to packet information                    */
367 fr_info_t *fin,
384 if ((fin->fin_flx & (FI_FRAG|FI_BAD)) != FI_FRAG) {
390 if (fin->fin_off != 0) {
397 frag.ipfr_v = fin->fin_v;
398 idx = fin->fin_v;
399 frag.ipfr_p = fin->fin_p;
400 idx += fin->fin_p;
401 frag.ipfr_id = fin->fin_id;
402 idx += fin->fin_id;
403 frag.ipfr_source = fin->fin_fi.fi_src;
405 frag.ipfr_dest = fin->fin_fi.fi_dst;
407 frag.ipfr_ifp = fin->fin_ifp;
411 frag.ipfr_optmsk = fin->fin_fi.fi_optmsk & IPF_OPTCOPY;
412 frag.ipfr_secmsk = fin->fin_fi.fi_secmsk;
413 frag.ipfr_auth = fin->fin_fi.fi_auth;
415 off = fin->fin_off >> 3;
421 if (fin->fin_v == 6) {
423 ptr = (char *)fin->fin_fraghdr +
428 ptr = fin->fin_dp;
430 end = fin->fin_plen - (ptr - (char *)fin->fin_ip);
463 fr = fin->fin_fr;
482 fra->ipfr_v = fin->fin_v;
483 fra->ipfr_p = fin->fin_p;
492 fra->ipfr_off = off + (fin->fin_dlen >> 3);
496 fra->ipfr_bytes = fin->fin_plen;
506 /* Parameters: fin(I) - pointer to packet information */
511 ipf_frag_new(ipf_main_softc_t *softc, fr_info_t *fin, u_32_t pass)
520 fra = ipfr_frag_new(softc, softf, fin, pass, softf->ipfr_heads, &softc->ipf_frag);
522 fra = ipfr_frag_new(softc, softf, fin, pass, softf->ipfr_heads);
538 /* Parameters: fin(I) - pointer to packet information */
545 ipf_frag_natnew(ipf_main_softc_t *softc, fr_info_t *fin, u_32_t pass,
555 fra = ipfr_frag_new(softc, softf, fin, pass, softf->ipfr_nattab,
558 fra = ipfr_frag_new(softc, softf, fin, pass, softf->ipfr_nattab);
577 /* Parameters: fin(I) - pointer to packet information */
584 ipf_frag_ipidnew(fr_info_t *fin, u_32_t ipid)
586 ipf_main_softc_t *softc = fin->fin_main_soft;
594 fra = ipfr_frag_new(softc, softf, fin, 0, softf->ipfr_ipidtab, &softf->ipfr_ipidfrag);
596 fra = ipfr_frag_new(softc, softf, fin, 0, softf->ipfr_ipidtab);
614 /* Parameters: fin(I) - pointer to packet information */
627 fr_info_t *fin,
645 if (fin->fin_flx & FI_SHORT) {
650 if ((fin->fin_flx & FI_BAD) != 0) {
662 frag.ipfr_v = fin->fin_v;
663 idx = fin->fin_v;
664 frag.ipfr_p = fin->fin_p;
665 idx += fin->fin_p;
666 frag.ipfr_id = fin->fin_id;
667 idx += fin->fin_id;
668 frag.ipfr_source = fin->fin_fi.fi_src;
670 frag.ipfr_dest = fin->fin_fi.fi_dst;
672 frag.ipfr_ifp = fin->fin_ifp;
676 frag.ipfr_optmsk = fin->fin_fi.fi_optmsk & IPF_OPTCOPY;
677 frag.ipfr_secmsk = fin->fin_fi.fi_secmsk;
678 frag.ipfr_auth = fin->fin_fi.fi_auth;
696 off = fin->fin_off >> 3;
711 fin->fin_flx |= FI_BAD;
745 f->ipfr_off = (fin->fin_dlen >> 3) + off;
773 f->ipfr_bytes += fin->fin_plen;
789 /* Parameters: fin(I) - pointer to packet information */
794 ipf_frag_natknown(fr_info_t *fin)
796 ipf_main_softc_t *softc = fin->fin_main_soft;
804 ipf = ipf_frag_lookup(softc, softf, fin, softf->ipfr_nattab,
807 ipf = ipf_frag_lookup(softc, softf, fin, softf->ipfr_nattab);
829 /* Parameters: fin(I) - pointer to packet information */
834 ipf_frag_ipidknown(fr_info_t *fin)
836 ipf_main_softc_t *softc = fin->fin_main_soft;
845 ipf = ipf_frag_lookup(softc, softf, fin, softf->ipfr_ipidtab,
848 ipf = ipf_frag_lookup(softc, softf, fin, softf->ipfr_ipidtab);
863 /* Parameters: fin(I) - pointer to packet information */
871 ipf_frag_known(fr_info_t *fin, u_32_t *passp)
873 ipf_main_softc_t *softc = fin->fin_main_soft;
883 fra = ipf_frag_lookup(softc, softf, fin, softf->ipfr_heads,
886 fra = ipf_frag_lookup(softc, softf, fin, softf->ipfr_heads);
889 if (fin->fin_flx & FI_BAD) {
891 fin->fin_reason = FRB_BADFRAG;
895 fin->fin_fr = fr;
899 fin->fin_flx |= FI_STATE;