Lines Matching refs:fr
63 void printc(fr) in printc() argument
64 frentry_t *fr; in printc()
71 if (fr->fr_v != 4)
73 if ((fr->fr_type != FR_T_IPF) && (fr->fr_type != FR_T_NONE))
75 if ((fr->fr_type == FR_T_IPF) &&
76 ((fr->fr_datype != FRI_NORMAL) || (fr->fr_satype != FRI_NORMAL)))
126 addrule(fp, fr);
127 fr->fr_type |= FR_T_BUILTIN;
129 fr->fr_ref = 1;
130 i = sizeof(*fr);
133 for (i /= sizeof(u_long), ulp = (u_long *)fr; i > 0; i--) {
138 fr->fr_type &= ~FR_T_BUILTIN;
149 static void addrule(fp, fr) in addrule() argument
151 frentry_t *fr;
164 bcopy((char *)fr, (char *)f, sizeof(*fr));
165 if (fr->fr_ipf) {
171 bcopy((char *)fr->fr_ipf, (char *)f->fr_ipf,
172 sizeof(*fr->fr_ipf));
199 if (fr->fr_dsize > 0) {
205 i = fr->fr_dsize;
206 ulp = fr->fr_data;
290 void emit(num, dir, v, fr) in emit() argument
293 frentry_t *fr;
306 emitGroup(num, dir, v, fr, g->fg_name, incnt, 0);
314 emitGroup(num, dir, v, fr, g->fg_name, 0, outcnt);
434 static void emitGroup(num, dir, v, fr, group, incount, outcount) in emitGroup() argument
437 frentry_t *fr;
548 ipf = fr->fr_ipf;
585 if (*fr->fr_ifname)
612 fr->fr_tcpfm != 0)
618 if (fr->fr_scmp == FR_INRANGE)
620 else if (fr->fr_scmp == FR_OUTRANGE)
622 else if (fr->fr_scmp != 0)
628 if (fr->fr_dcmp == FR_INRANGE)
630 else if (fr->fr_dcmp == FR_OUTRANGE)
632 else if (fr->fr_dcmp != 0)
638 if (fr->fr_satype == FRI_LOOKUP) {
640 } else if ((fr->fr_smask != 0) ||
641 (fr->fr_flags & FR_NOTSRCIP) != 0)
647 if (fr->fr_datype == FRI_LOOKUP) {
649 } else if ((fr->fr_dmask != 0) ||
650 (fr->fr_flags & FR_NOTDSTIP) != 0)
656 if (fr->fr_optmask != 0)
662 if (fr->fr_secmask != 0)
668 if (fr->fr_authmask != 0)
674 if ((fr->fr_icmpm & 0xff00) != 0)
680 if ((fr->fr_icmpm & 0xff) != 0)
792 printeq(fp, "fin->fin_tcpf", fr->fr_tcpfm,
793 0xff, fr->fr_tcpf);
800 if (fr->fr_scmp == FR_INRANGE) {
803 fr->fr_sport);
805 fr->fr_stop);
808 } else if (fr->fr_scmp == FR_OUTRANGE) {
811 fr->fr_sport);
813 fr->fr_stop);
816 } else if (fr->fr_scmp) {
819 portcmp[fr->fr_scmp], fr->fr_sport);
827 if (fr->fr_dcmp == FR_INRANGE) {
830 fr->fr_dport);
832 fr->fr_dtop);
835 } else if (fr->fr_dcmp == FR_OUTRANGE) {
838 fr->fr_dport);
840 fr->fr_dtop);
843 } else if (fr->fr_dcmp) {
846 portcmp[fr->fr_dcmp], fr->fr_dport);
854 if (fr->fr_satype == FRI_LOOKUP) {
856 } else if ((fr->fr_smask != 0) ||
857 (fr->fr_flags & FR_NOTSRCIP) != 0) {
861 fr->fr_flags & FR_NOTSRCIP,
862 fr->fr_smask, fr->fr_saddr);
869 if (fr->fr_datype == FRI_LOOKUP) {
871 } else if ((fr->fr_dmask != 0) ||
872 (fr->fr_flags & FR_NOTDSTIP) != 0) {
876 fr->fr_flags & FR_NOTDSTIP,
877 fr->fr_dmask, fr->fr_daddr);
886 fr->fr_optmask, 0xffffffff,
887 fr->fr_optbits);
896 fr->fr_secmask, 0xffff,
897 fr->fr_secbits);
906 fr->fr_authmask, 0xffff,
907 fr->fr_authbits);
916 fr->fr_icmpm & 0xff00, 0xffff,
917 fr->fr_icmp & 0xff00);
926 fr->fr_icmpm & 0xff, 0xffff,
927 fr->fr_icmp & 0xff);
936 if (fr->fr_flags & FR_QUICK) {
938 fr->fr_flags & FR_INQUE ? "in" : "out",
939 fr->fr_group, num);
942 fr->fr_flags & FR_INQUE ? "in" : "out",
943 fr->fr_group, num);
991 frentry_t *fr, *fr1; local
1029 for (fr = fr1->fr_next; fr; fr = fr->fr_next) {
1030 if (!dir && !(fr->fr_flags & FR_INQUE))
1032 if (dir && !(fr->fr_flags & FR_OUTQUE))
1036 !strcmp(fr1->fr_ifname, fr->fr_ifname)) {
1042 if ((n & 0x0002) && (fr1->fr_v == fr->fr_v)) {
1049 (fr->fr_type == fr1->fr_type) &&
1050 (fr->fr_type == FR_T_IPF) &&
1051 (fr1->fr_mip.fi_flx == fr->fr_mip.fi_flx) &&
1052 (fr1->fr_ip.fi_flx == fr->fr_ip.fi_flx)) {
1059 (fr->fr_type == fr1->fr_type) &&
1060 (fr->fr_type == FR_T_IPF) &&
1061 (fr1->fr_proto == fr->fr_proto)) {
1068 (fr->fr_type == fr1->fr_type) &&
1069 (fr->fr_type == FR_T_IPF) &&
1070 (fr1->fr_ttl == fr->fr_ttl)) {
1077 (fr->fr_type == fr1->fr_type) &&
1078 (fr->fr_type == FR_T_IPF) &&
1079 (fr1->fr_tos == fr->fr_tos)) {
1086 (fr->fr_type == fr1->fr_type) &&
1087 (fr->fr_type == FR_T_IPF) &&
1088 ((fr1->fr_tcpfm == fr->fr_tcpfm) &&
1089 (fr1->fr_tcpf == fr->fr_tcpf))) {
1096 (fr->fr_type == fr1->fr_type) &&
1097 (fr->fr_type == FR_T_IPF) &&
1098 ((fr1->fr_scmp == fr->fr_scmp) &&
1099 (fr1->fr_stop == fr->fr_stop) &&
1100 (fr1->fr_sport == fr->fr_sport))) {
1107 (fr->fr_type == fr1->fr_type) &&
1108 (fr->fr_type == FR_T_IPF) &&
1109 ((fr1->fr_dcmp == fr->fr_dcmp) &&
1110 (fr1->fr_dtop == fr->fr_dtop) &&
1111 (fr1->fr_dport == fr->fr_dport))) {
1118 (fr->fr_type == fr1->fr_type) &&
1119 (fr->fr_type == FR_T_IPF) &&
1121 (fr->fr_satype == FRI_LOOKUP) &&
1122 (fr1->fr_srcnum == fr->fr_srcnum))) {
1126 (fr->fr_type == fr1->fr_type) &&
1127 (fr->fr_type == FR_T_IPF) &&
1129 (fr->fr_flags & FR_NOTSRCIP)))) {
1130 if ((fr1->fr_smask == fr->fr_smask) &&
1131 (fr1->fr_saddr == fr->fr_saddr))
1137 (fr->fr_saddr & fr1->fr_smask)) {
1146 (fr->fr_type == fr1->fr_type) &&
1147 (fr->fr_type == FR_T_IPF) &&
1149 (fr->fr_datype == FRI_LOOKUP) &&
1150 (fr1->fr_dstnum == fr->fr_dstnum))) {
1154 (fr->fr_type == fr1->fr_type) &&
1155 (fr->fr_type == FR_T_IPF) &&
1157 (fr->fr_flags & FR_NOTDSTIP)))) {
1158 if ((fr1->fr_dmask == fr->fr_dmask) &&
1159 (fr1->fr_daddr == fr->fr_daddr))
1165 (fr->fr_daddr & fr1->fr_dmask)) {
1174 (fr->fr_type == fr1->fr_type) &&
1175 (fr->fr_type == FR_T_IPF) &&
1176 (fr1->fr_optmask == fr->fr_optmask) &&
1177 (fr1->fr_optbits == fr->fr_optbits)) {
1184 (fr->fr_type == fr1->fr_type) &&
1185 (fr->fr_type == FR_T_IPF) &&
1186 (fr1->fr_secmask == fr->fr_secmask) &&
1187 (fr1->fr_secbits == fr->fr_secbits)) {
1194 (fr->fr_type == fr1->fr_type) &&
1195 (fr->fr_type == FR_T_IPF) &&
1196 (fr1->fr_authmask == fr->fr_authmask) &&
1197 (fr1->fr_authbits == fr->fr_authbits)) {
1204 (fr->fr_type == fr1->fr_type) &&
1205 (fr->fr_type == FR_T_IPF) &&
1207 (fr->fr_icmpm & 0xff00)) &&
1209 (fr->fr_icmp & 0xff00))) {
1216 (fr->fr_type == fr1->fr_type) &&
1217 (fr->fr_type == FR_T_IPF) &&
1218 ((fr1->fr_icmpm & 0xff) == (fr->fr_icmpm & 0xff)) &&
1219 ((fr1->fr_icmp & 0xff) == (fr->fr_icmp & 0xff))) {
1240 frentry_t *fr; local
1277 for (i = 0, fr = grp->fg_start; fr != NULL; i++, fr = fr->fr_next)
1278 if (fr->fr_dsize > 0) {