Symbol: nat
crypto/krb5/src/util/verto/ev.c
3375
ev_tstamp nat = at + w->interval;
crypto/krb5/src/util/verto/ev.c
3378
if (expect_false (nat == at))
crypto/krb5/src/util/verto/ev.c
3384
at = nat;
lib/libpfctl/libpfctl.c
1252
snl_add_msg_attr_rpool(nw, PF_RT_RPOOL_NAT, &r->nat);
lib/libpfctl/libpfctl.c
1703
{ .type = PF_RT_RPOOL_NAT, .off = _OUT(r.nat), .arg = &pool_parser, .cb = snl_attr_get_nested },
lib/libpfctl/libpfctl.c
2121
snl_add_msg_attr_bool(&nw, PF_CS_NAT, kill->nat);
lib/libpfctl/libpfctl.h
195
struct pfctl_pool nat;
lib/libpfctl/libpfctl.h
353
bool nat;
sbin/ipf/common/ipf.h
221
extern char *getnattype(struct nat *);
sbin/ipf/common/ipf.h
346
extern void printactivenat(struct nat *, int, u_long);
sbin/ipf/ipfs/ipfs.c
152
nat_t *nat;
sbin/ipf/ipfs/ipfs.c
162
nat = &ipn.ipn_nat;
sbin/ipf/ipfs/ipfs.c
163
if (nlen >= sizeof(nat->nat_ifnames[0]) ||
sbin/ipf/ipfs/ipfs.c
164
olen >= sizeof(nat->nat_ifnames[0]))
sbin/ipf/ipfs/ipfs.c
175
if (!strncmp(nat->nat_ifnames[0], ifs, olen + 1)) {
sbin/ipf/ipfs/ipfs.c
176
strcpy(nat->nat_ifnames[0], s);
sbin/ipf/ipfs/ipfs.c
179
if (!strncmp(nat->nat_ifnames[1], ifs, olen + 1)) {
sbin/ipf/ipfs/ipfs.c
180
strcpy(nat->nat_ifnames[1], s);
sbin/ipf/ipfs/ipfs.c
539
nat_t *nat;
sbin/ipf/ipfs/ipfs.c
608
nat = &in->ipn_nat;
sbin/ipf/ipfs/ipfs.c
609
if (nat->nat_fr != NULL) {
sbin/ipf/ipfs/ipfs.c
611
if (in1->ipn_rule == nat->nat_fr)
sbin/ipf/ipfs/ipfs.c
614
nat->nat_flags |= SI_NEWFR;
sbin/ipf/ipfs/ipfs.c
616
nat->nat_fr = &in1->ipn_fr;
sbin/ipf/ipfs/ipfs.c
639
nat = &in->ipn_nat;
sbin/ipf/ipfs/ipfs.c
640
if (nat->nat_flags & SI_NEWFR) {
sbin/ipf/ipfs/ipfs.c
654
if (nat->nat_flags & SI_NEWFR) {
sbin/ipf/ipfs/ipfs.c
656
printf("Real rule addr %p\n", nat->nat_fr);
sbin/ipf/ipfs/ipfs.c
659
in1->ipn_rule = nat->nat_fr;
sbin/ipf/ipftest/ipftest.c
524
nat_t *nat;
sbin/ipf/ipftest/ipftest.c
530
for (nat = softn->ipf_nat_instances; nat; nat = nat->nat_next) {
sbin/ipf/ipftest/ipftest.c
531
printactivenat(nat, opts, 0);
sbin/ipf/ipftest/ipftest.c
532
if (nat->nat_aps)
sbin/ipf/ipnat/ipnat.c
328
nat_t *np, nat;
sbin/ipf/ipnat/ipnat.c
359
for (np = nsp->ns_instances; np; np = nat.nat_next) {
sbin/ipf/ipnat/ipnat.c
360
if (kmemcpy((char *)&nat, (long)np, sizeof(nat)))
sbin/ipf/ipnat/ipnat.c
362
if ((filter != NULL) && (nat_matcharray(&nat, filter) == 0))
sbin/ipf/ipnat/ipnat.c
366
printnatfield(&nat, nat_fields[i].w_value);
sbin/ipf/ipnat/ipnat.c
372
printactivenat(&nat, opts, nsp->ns_ticks);
sbin/ipf/ipnat/ipnat.c
373
if (nat.nat_aps) {
sbin/ipf/ipnat/ipnat.c
376
if (nat.nat_dir & NAT_OUTBOUND)
sbin/ipf/ipnat/ipnat.c
377
proto = nat.nat_pr[1];
sbin/ipf/ipnat/ipnat.c
379
proto = nat.nat_pr[0];
sbin/ipf/ipnat/ipnat.c
380
printaps(nat.nat_aps, opts, proto);
sbin/ipf/ipnat/ipnat.c
520
nat_t nat;
sbin/ipf/ipnat/ipnat.c
567
iter.igi_data = &nat;
sbin/ipf/ipnat/ipnat.c
572
if ((filter != NULL) && (nat_matcharray(&nat, filter) == 0))
sbin/ipf/ipnat/ipnat.c
576
printnatfield(&nat, nat_fields[i].w_value);
sbin/ipf/ipnat/ipnat.c
582
printactivenat(&nat, opts, nsp->ns_ticks);
sbin/ipf/ipnat/ipnat.c
583
if (nat.nat_aps) {
sbin/ipf/ipnat/ipnat.c
586
if (nat.nat_dir & NAT_OUTBOUND)
sbin/ipf/ipnat/ipnat.c
587
proto = nat.nat_pr[1];
sbin/ipf/ipnat/ipnat.c
589
proto = nat.nat_pr[0];
sbin/ipf/ipnat/ipnat.c
590
printaps(nat.nat_aps, opts, proto);
sbin/ipf/ipnat/ipnat.c
593
nsp->ns_instances = nat.nat_next;
sbin/ipf/ipnat/ipnat.c
676
nat_matcharray(nat_t *nat, int *array)
sbin/ipf/ipnat/ipnat.c
692
if ((p != 0) && (p != nat->nat_pr[1]))
sbin/ipf/ipnat/ipnat.c
699
rv |= (nat->nat_pr[1] == e->ipfe_arg0[i]);
sbin/ipf/ipnat/ipnat.c
704
if (nat->nat_v[0] != 4)
sbin/ipf/ipnat/ipnat.c
707
rv |= ((nat->nat_osrcaddr &
sbin/ipf/ipnat/ipnat.c
710
((nat->nat_nsrcaddr &
sbin/ipf/ipnat/ipnat.c
717
if (nat->nat_v[0] != 4)
sbin/ipf/ipnat/ipnat.c
720
rv |= ((nat->nat_odstaddr &
sbin/ipf/ipnat/ipnat.c
723
((nat->nat_ndstaddr &
sbin/ipf/ipnat/ipnat.c
730
if (nat->nat_v[0] != 4)
sbin/ipf/ipnat/ipnat.c
733
rv |= ((nat->nat_osrcaddr &
sbin/ipf/ipnat/ipnat.c
736
((nat->nat_nsrcaddr &
sbin/ipf/ipnat/ipnat.c
739
((nat->nat_odstaddr &
sbin/ipf/ipnat/ipnat.c
742
((nat->nat_ndstaddr &
sbin/ipf/ipnat/ipnat.c
750
if (nat->nat_v[0] != 6)
sbin/ipf/ipnat/ipnat.c
753
rv |= IP6_MASKEQ(&nat->nat_osrc6,
sbin/ipf/ipnat/ipnat.c
756
IP6_MASKEQ(&nat->nat_nsrc6,
sbin/ipf/ipnat/ipnat.c
763
if (nat->nat_v[0] != 6)
sbin/ipf/ipnat/ipnat.c
766
rv |= IP6_MASKEQ(&nat->nat_odst6,
sbin/ipf/ipnat/ipnat.c
769
IP6_MASKEQ(&nat->nat_ndst6,
sbin/ipf/ipnat/ipnat.c
776
if (nat->nat_v[0] != 6)
sbin/ipf/ipnat/ipnat.c
779
rv |= IP6_MASKEQ(&nat->nat_osrc6,
sbin/ipf/ipnat/ipnat.c
782
IP6_MASKEQ(&nat->nat_nsrc6,
sbin/ipf/ipnat/ipnat.c
785
IP6_MASKEQ(&nat->nat_odst6,
sbin/ipf/ipnat/ipnat.c
788
IP6_MASKEQ(&nat->nat_ndst6,
sbin/ipf/ipnat/ipnat.c
798
rv |= (nat->nat_osport == e->ipfe_arg0[i]) ||
sbin/ipf/ipnat/ipnat.c
799
(nat->nat_nsport == e->ipfe_arg0[i]) ||
sbin/ipf/ipnat/ipnat.c
800
(nat->nat_odport == e->ipfe_arg0[i]) ||
sbin/ipf/ipnat/ipnat.c
801
(nat->nat_ndport == e->ipfe_arg0[i]);
sbin/ipf/ipnat/ipnat.c
808
rv |= (nat->nat_osport == e->ipfe_arg0[i]) ||
sbin/ipf/ipnat/ipnat.c
809
(nat->nat_nsport == e->ipfe_arg0[i]);
sbin/ipf/ipnat/ipnat.c
816
rv |= (nat->nat_odport == e->ipfe_arg0[i]) ||
sbin/ipf/ipnat/ipnat.c
817
(nat->nat_ndport == e->ipfe_arg0[i]);
sbin/ipf/ipnat/ipnat_y.y
1006
$$.a.iplookupname = addname(&nat,$3);
sbin/ipf/ipnat/ipnat_y.y
1018
$$.a.iplookupname = addname(&nat,$3);
sbin/ipf/ipnat/ipnat_y.y
1031
pool: IPNY_POOL { if (!(nat->in_flags & IPN_FILTER)) {
sbin/ipf/ipnat/ipnat_y.y
1039
hash: IPNY_HASH { if (!(nat->in_flags & IPN_FILTER)) {
sbin/ipf/ipnat/ipnat_y.y
1060
nattag: | IPNY_TAG YY_STR { strncpy(nat->in_tag.ipt_tag, $2,
sbin/ipf/ipnat/ipnat_y.y
1061
sizeof(nat->in_tag.ipt_tag));
sbin/ipf/ipnat/ipnat_y.y
1063
rr: | IPNY_ROUNDROBIN { nat->in_flags |= IPN_ROUNDR; }
sbin/ipf/ipnat/ipnat_y.y
1066
frag: | IPNY_FRAG { nat->in_flags |= IPN_FRAG; }
sbin/ipf/ipnat/ipnat_y.y
1069
age: | IPNY_AGE YY_NUMBER { nat->in_age[0] = $2;
sbin/ipf/ipnat/ipnat_y.y
1070
nat->in_age[1] = $2; }
sbin/ipf/ipnat/ipnat_y.y
1071
| IPNY_AGE YY_NUMBER '/' YY_NUMBER { nat->in_age[0] = $2;
sbin/ipf/ipnat/ipnat_y.y
1072
nat->in_age[1] = $4; }
sbin/ipf/ipnat/ipnat_y.y
1075
sticky: | IPNY_STICKY { if (!(nat->in_flags & IPN_ROUNDR) &&
sbin/ipf/ipnat/ipnat_y.y
1076
!(nat->in_flags & IPN_SPLIT)) {
sbin/ipf/ipnat/ipnat_y.y
1080
nat->in_flags |= IPN_STICKY;
sbin/ipf/ipnat/ipnat_y.y
1085
| IPNY_MSSCLAMP YY_NUMBER { nat->in_mssclamp = $2; }
sbin/ipf/ipnat/ipnat_y.y
1090
| IPNY_TCPUDP { nat->in_flags |= IPN_TCPUDP;
sbin/ipf/ipnat/ipnat_y.y
1091
nat->in_pr[0] = 0;
sbin/ipf/ipnat/ipnat_y.y
1092
nat->in_pr[1] = 0;
sbin/ipf/ipnat/ipnat_y.y
1094
| IPNY_TCP '/' IPNY_UDP { nat->in_flags |= IPN_TCPUDP;
sbin/ipf/ipnat/ipnat_y.y
1095
nat->in_pr[0] = 0;
sbin/ipf/ipnat/ipnat_y.y
1096
nat->in_pr[1] = 0;
sbin/ipf/ipnat/ipnat_y.y
1101
| IPNY_SEQUENTIAL { nat->in_flags |= IPN_SEQUENTIAL; }
sbin/ipf/ipnat/ipnat_y.y
1105
| IPNY_PURGE { nat->in_flags |= IPN_PURGE; }
sbin/ipf/ipnat/ipnat_y.y
1111
pos = addname(&nat, $2);
sbin/ipf/ipnat/ipnat_y.y
1112
nat->in_plabel = pos;
sbin/ipf/ipnat/ipnat_y.y
1113
nat->in_odport = nat->in_dpnext;
sbin/ipf/ipnat/ipnat_y.y
1114
nat->in_dtop = nat->in_odport;
sbin/ipf/ipnat/ipnat_y.y
1117
| proxy { if (nat->in_plabel != -1) {
sbin/ipf/ipnat/ipnat_y.y
1118
nat->in_ndport = nat->in_odport;
sbin/ipf/ipnat/ipnat_y.y
1119
nat->in_dpmin = nat->in_odport;
sbin/ipf/ipnat/ipnat_y.y
1120
nat->in_dpmax = nat->in_dpmin;
sbin/ipf/ipnat/ipnat_y.y
1121
nat->in_dtop = nat->in_dpmin;
sbin/ipf/ipnat/ipnat_y.y
1122
nat->in_dpnext = nat->in_dpmin;
sbin/ipf/ipnat/ipnat_y.y
1128
| IPNY_PURGE { nat->in_flags |= IPN_PURGE; }
sbin/ipf/ipnat/ipnat_y.y
1157
if (nat->in_v[0] == 6)
sbin/ipf/ipnat/ipnat_y.y
130
while ((nat = nattop) != NULL) {
sbin/ipf/ipnat/ipnat_y.y
131
if (nat->in_v[0] == 0)
sbin/ipf/ipnat/ipnat_y.y
132
nat->in_v[0] = 4;
sbin/ipf/ipnat/ipnat_y.y
133
if (nat->in_v[1] == 0)
sbin/ipf/ipnat/ipnat_y.y
134
nat->in_v[1] = nat->in_v[0];
sbin/ipf/ipnat/ipnat_y.y
135
nattop = nat->in_next;
sbin/ipf/ipnat/ipnat_y.y
136
err = (*nataddfunc)(natfd, natioctlfunc, nat);
sbin/ipf/ipnat/ipnat_y.y
137
free(nat);
sbin/ipf/ipnat/ipnat_y.y
1377
if (nat == NULL) {
sbin/ipf/ipnat/ipnat_y.y
1378
nattop = nat = n;
sbin/ipf/ipnat/ipnat_y.y
1381
nat->in_next = n;
sbin/ipf/ipnat/ipnat_y.y
1382
n->in_pnext = &nat->in_next;
sbin/ipf/ipnat/ipnat_y.y
1383
nat = n;
sbin/ipf/ipnat/ipnat_y.y
1400
nat->in_pr[0] = p;
sbin/ipf/ipnat/ipnat_y.y
1401
nat->in_pr[1] = p;
sbin/ipf/ipnat/ipnat_y.y
1406
nat->in_flags |= IPN_TCP;
sbin/ipf/ipnat/ipnat_y.y
1407
nat->in_flags &= ~IPN_UDP;
sbin/ipf/ipnat/ipnat_y.y
1410
nat->in_flags |= IPN_UDP;
sbin/ipf/ipnat/ipnat_y.y
1411
nat->in_flags &= ~IPN_TCP;
sbin/ipf/ipnat/ipnat_y.y
1417
nat->in_flags &= ~IPN_TCPUDP;
sbin/ipf/ipnat/ipnat_y.y
1418
if (!(nat->in_flags & IPN_ICMPQUERY) &&
sbin/ipf/ipnat/ipnat_y.y
1419
!(nat->in_redir & NAT_DIVERTUDP)) {
sbin/ipf/ipnat/ipnat_y.y
1420
nat->in_dcmp = 0;
sbin/ipf/ipnat/ipnat_y.y
1421
nat->in_scmp = 0;
sbin/ipf/ipnat/ipnat_y.y
1422
nat->in_dpmin = 0;
sbin/ipf/ipnat/ipnat_y.y
1423
nat->in_dpmax = 0;
sbin/ipf/ipnat/ipnat_y.y
1424
nat->in_dpnext = 0;
sbin/ipf/ipnat/ipnat_y.y
1425
nat->in_spmin = 0;
sbin/ipf/ipnat/ipnat_y.y
1426
nat->in_spmax = 0;
sbin/ipf/ipnat/ipnat_y.y
1427
nat->in_spnext = 0;
sbin/ipf/ipnat/ipnat_y.y
1431
if ((nat->in_redir & NAT_MAPBLK) == 0) {
sbin/ipf/ipnat/ipnat_y.y
1432
nat->in_flags &= ~IPN_TCPUDP;
sbin/ipf/ipnat/ipnat_y.y
1433
nat->in_dcmp = 0;
sbin/ipf/ipnat/ipnat_y.y
1434
nat->in_scmp = 0;
sbin/ipf/ipnat/ipnat_y.y
1435
nat->in_dpmin = 0;
sbin/ipf/ipnat/ipnat_y.y
1436
nat->in_dpmax = 0;
sbin/ipf/ipnat/ipnat_y.y
1437
nat->in_dpnext = 0;
sbin/ipf/ipnat/ipnat_y.y
1438
nat->in_spmin = 0;
sbin/ipf/ipnat/ipnat_y.y
1439
nat->in_spmax = 0;
sbin/ipf/ipnat/ipnat_y.y
1440
nat->in_spnext = 0;
sbin/ipf/ipnat/ipnat_y.y
1445
if ((nat->in_flags & (IPN_TCP|IPN_UDP)) == 0) {
sbin/ipf/ipnat/ipnat_y.y
1446
nat->in_stop = 0;
sbin/ipf/ipnat/ipnat_y.y
1447
nat->in_dtop = 0;
sbin/ipf/ipnat/ipnat_y.y
1448
nat->in_osport = 0;
sbin/ipf/ipnat/ipnat_y.y
1449
nat->in_odport = 0;
sbin/ipf/ipnat/ipnat_y.y
1450
nat->in_stop = 0;
sbin/ipf/ipnat/ipnat_y.y
1451
nat->in_osport = 0;
sbin/ipf/ipnat/ipnat_y.y
1452
nat->in_dtop = 0;
sbin/ipf/ipnat/ipnat_y.y
1453
nat->in_odport = 0;
sbin/ipf/ipnat/ipnat_y.y
1455
if ((nat->in_flags & (IPN_TCPUDP|IPN_FIXEDDPORT)) == IPN_FIXEDDPORT)
sbin/ipf/ipnat/ipnat_y.y
1456
nat->in_flags &= ~IPN_FIXEDDPORT;
sbin/ipf/ipnat/ipnat_y.y
1547
if (nat->in_ifnames[1] == -1)
sbin/ipf/ipnat/ipnat_y.y
1548
nat->in_ifnames[1] = nat->in_ifnames[0];
sbin/ipf/ipnat/ipnat_y.y
1550
if ((suggest_port == 1) && (nat->in_flags & IPN_TCPUDP) == 0)
sbin/ipf/ipnat/ipnat_y.y
1551
nat->in_flags |= IPN_TCPUDP;
sbin/ipf/ipnat/ipnat_y.y
1553
if ((nat->in_flags & IPN_TCPUDP) == 0)
sbin/ipf/ipnat/ipnat_y.y
1554
setnatproto(nat->in_pr[1]);
sbin/ipf/ipnat/ipnat_y.y
1556
if (((nat->in_redir & NAT_MAPBLK) != 0) ||
sbin/ipf/ipnat/ipnat_y.y
1557
((nat->in_flags & IPN_AUTOPORTMAP) != 0))
sbin/ipf/ipnat/ipnat_y.y
1558
nat_setgroupmap(nat);
sbin/ipf/ipnat/ipnat_y.y
1565
if ((suggest_port == 1) && (nat->in_flags & IPN_TCPUDP) == 0)
sbin/ipf/ipnat/ipnat_y.y
1566
nat->in_flags |= IPN_TCPUDP;
sbin/ipf/ipnat/ipnat_y.y
1568
if ((nat->in_pr[0] == 0) && ((nat->in_flags & IPN_TCPUDP) == 0) &&
sbin/ipf/ipnat/ipnat_y.y
1569
(nat->in_dpmin != 0 || nat->in_dpmax != 0 || nat->in_dpnext != 0))
sbin/ipf/ipnat/ipnat_y.y
1572
if (nat->in_ifnames[1] == -1)
sbin/ipf/ipnat/ipnat_y.y
1573
nat->in_ifnames[1] = nat->in_ifnames[0];
sbin/ipf/ipnat/ipnat_y.y
174
no: IPNY_NO { nat->in_flags |= IPN_NO; }
sbin/ipf/ipnat/ipnat_y.y
183
if (nat->in_v[0] == 0 && $5.v != 0)
sbin/ipf/ipnat/ipnat_y.y
184
nat->in_v[0] = $5.v;
sbin/ipf/ipnat/ipnat_y.y
185
else if (nat->in_v[0] == 0 && $3.v != 0)
sbin/ipf/ipnat/ipnat_y.y
186
nat->in_v[0] = $3.v;
sbin/ipf/ipnat/ipnat_y.y
187
if (nat->in_v[1] == 0 && $5.v != 0)
sbin/ipf/ipnat/ipnat_y.y
188
nat->in_v[1] = $5.v;
sbin/ipf/ipnat/ipnat_y.y
189
else if (nat->in_v[1] == 0 && $3.v != 0)
sbin/ipf/ipnat/ipnat_y.y
190
nat->in_v[1] = $3.v;
sbin/ipf/ipnat/ipnat_y.y
191
nat->in_osrcatype = $3.t;
sbin/ipf/ipnat/ipnat_y.y
192
bcopy(&$3.a, &nat->in_osrc.na_addr[0],
sbin/ipf/ipnat/ipnat_y.y
194
bcopy(&$3.m, &nat->in_osrc.na_addr[1],
sbin/ipf/ipnat/ipnat_y.y
196
nat->in_nsrcatype = $5.t;
sbin/ipf/ipnat/ipnat_y.y
197
nat->in_nsrcafunc = $5.u;
sbin/ipf/ipnat/ipnat_y.y
198
bcopy(&$5.a, &nat->in_nsrc.na_addr[0],
sbin/ipf/ipnat/ipnat_y.y
200
bcopy(&$5.m, &nat->in_nsrc.na_addr[1],
sbin/ipf/ipnat/ipnat_y.y
208
if (nat->in_v[1] == 0 && $5.v != 0)
sbin/ipf/ipnat/ipnat_y.y
209
nat->in_v[1] = $5.v;
sbin/ipf/ipnat/ipnat_y.y
210
else if (nat->in_v[0] == 0 && $3.v != 0)
sbin/ipf/ipnat/ipnat_y.y
211
nat->in_v[0] = $3.v;
sbin/ipf/ipnat/ipnat_y.y
212
if (nat->in_v[0] == 0 && $5.v != 0)
sbin/ipf/ipnat/ipnat_y.y
213
nat->in_v[0] = $5.v;
sbin/ipf/ipnat/ipnat_y.y
214
else if (nat->in_v[1] == 0 && $3.v != 0)
sbin/ipf/ipnat/ipnat_y.y
215
nat->in_v[1] = $3.v;
sbin/ipf/ipnat/ipnat_y.y
216
nat->in_osrcatype = $3.t;
sbin/ipf/ipnat/ipnat_y.y
217
bcopy(&$3.a, &nat->in_osrc.na_addr[0],
sbin/ipf/ipnat/ipnat_y.y
219
bcopy(&$3.m, &nat->in_osrc.na_addr[1],
sbin/ipf/ipnat/ipnat_y.y
221
nat->in_nsrcatype = $5.t;
sbin/ipf/ipnat/ipnat_y.y
222
nat->in_nsrcafunc = $5.u;
sbin/ipf/ipnat/ipnat_y.y
223
bcopy(&$5.a, &nat->in_nsrc.na_addr[0],
sbin/ipf/ipnat/ipnat_y.y
225
bcopy(&$5.m, &nat->in_nsrc.na_addr[1],
sbin/ipf/ipnat/ipnat_y.y
231
{ if (nat->in_v[0] == 0)
sbin/ipf/ipnat/ipnat_y.y
232
nat->in_v[0] = $4.v;
sbin/ipf/ipnat/ipnat_y.y
233
nat->in_osrcatype = $4.t;
sbin/ipf/ipnat/ipnat_y.y
234
bcopy(&$4.a, &nat->in_osrc.na_addr[0],
sbin/ipf/ipnat/ipnat_y.y
236
bcopy(&$4.m, &nat->in_osrc.na_addr[1],
sbin/ipf/ipnat/ipnat_y.y
244
if (nat->in_v[0] == 0 && $5.v != 0)
sbin/ipf/ipnat/ipnat_y.y
245
nat->in_v[0] = $5.v;
sbin/ipf/ipnat/ipnat_y.y
246
else if (nat->in_v[0] == 0 && $3 != 0)
sbin/ipf/ipnat/ipnat_y.y
247
nat->in_v[0] = ftov($3);
sbin/ipf/ipnat/ipnat_y.y
248
if (nat->in_v[1] == 0 && $5.v != 0)
sbin/ipf/ipnat/ipnat_y.y
249
nat->in_v[1] = $5.v;
sbin/ipf/ipnat/ipnat_y.y
250
else if (nat->in_v[1] == 0 && $3 != 0)
sbin/ipf/ipnat/ipnat_y.y
251
nat->in_v[1] = ftov($3);
sbin/ipf/ipnat/ipnat_y.y
252
nat->in_nsrcatype = $5.t;
sbin/ipf/ipnat/ipnat_y.y
253
nat->in_nsrcafunc = $5.u;
sbin/ipf/ipnat/ipnat_y.y
254
bcopy(&$5.a, &nat->in_nsrc.na_addr[0],
sbin/ipf/ipnat/ipnat_y.y
256
bcopy(&$5.m, &nat->in_nsrc.na_addr[1],
sbin/ipf/ipnat/ipnat_y.y
262
{ nat->in_v[0] = ftov($4);
sbin/ipf/ipnat/ipnat_y.y
268
if (nat->in_v[0] == 0 && $5.v != 0)
sbin/ipf/ipnat/ipnat_y.y
269
nat->in_v[0] = $5.v;
sbin/ipf/ipnat/ipnat_y.y
270
else if (nat->in_v[0] == 0 && $3 != 0)
sbin/ipf/ipnat/ipnat_y.y
271
nat->in_v[0] = ftov($3);
sbin/ipf/ipnat/ipnat_y.y
272
if (nat->in_v[1] == 0 && $5.v != 0)
sbin/ipf/ipnat/ipnat_y.y
273
nat->in_v[1] = $5.v;
sbin/ipf/ipnat/ipnat_y.y
274
else if (nat->in_v[1] == 0 && $3 != 0)
sbin/ipf/ipnat/ipnat_y.y
275
nat->in_v[1] = ftov($3);
sbin/ipf/ipnat/ipnat_y.y
276
nat->in_nsrcatype = $5.t;
sbin/ipf/ipnat/ipnat_y.y
277
nat->in_nsrcafunc = $5.u;
sbin/ipf/ipnat/ipnat_y.y
278
bcopy(&$5.a, &nat->in_nsrc.na_addr[0],
sbin/ipf/ipnat/ipnat_y.y
280
bcopy(&$5.m, &nat->in_nsrc.na_addr[1],
sbin/ipf/ipnat/ipnat_y.y
291
if (nat->in_v[0] == 0 && $5.v != 0)
sbin/ipf/ipnat/ipnat_y.y
292
nat->in_v[0] = $5.v;
sbin/ipf/ipnat/ipnat_y.y
293
else if (nat->in_v[0] == 0 && $3.v != 0)
sbin/ipf/ipnat/ipnat_y.y
294
nat->in_v[0] = $3.v;
sbin/ipf/ipnat/ipnat_y.y
295
if (nat->in_v[1] == 0 && $5.v != 0)
sbin/ipf/ipnat/ipnat_y.y
296
nat->in_v[1] = $5.v;
sbin/ipf/ipnat/ipnat_y.y
297
else if (nat->in_v[1] == 0 && $3.v != 0)
sbin/ipf/ipnat/ipnat_y.y
298
nat->in_v[1] = $3.v;
sbin/ipf/ipnat/ipnat_y.y
299
nat->in_osrcatype = $3.t;
sbin/ipf/ipnat/ipnat_y.y
300
bcopy(&$3.a, &nat->in_osrc.na_addr[0],
sbin/ipf/ipnat/ipnat_y.y
302
bcopy(&$3.m, &nat->in_osrc.na_addr[1],
sbin/ipf/ipnat/ipnat_y.y
304
nat->in_nsrcatype = $5.t;
sbin/ipf/ipnat/ipnat_y.y
305
nat->in_nsrcafunc = $5.u;
sbin/ipf/ipnat/ipnat_y.y
306
bcopy(&$5.a, &nat->in_nsrc.na_addr[0],
sbin/ipf/ipnat/ipnat_y.y
308
bcopy(&$5.m, &nat->in_nsrc.na_addr[1],
sbin/ipf/ipnat/ipnat_y.y
314
{ if (nat->in_v[0] == 0)
sbin/ipf/ipnat/ipnat_y.y
315
nat->in_v[0] = $5.v;
sbin/ipf/ipnat/ipnat_y.y
316
if (nat->in_v[1] == 0)
sbin/ipf/ipnat/ipnat_y.y
317
nat->in_v[1] = $5.v;
sbin/ipf/ipnat/ipnat_y.y
318
nat->in_osrcatype = $5.t;
sbin/ipf/ipnat/ipnat_y.y
319
bcopy(&$5.a, &nat->in_osrc.na_addr[0],
sbin/ipf/ipnat/ipnat_y.y
321
bcopy(&$5.m, &nat->in_osrc.na_addr[1],
sbin/ipf/ipnat/ipnat_y.y
331
if (nat->in_v[0] == 0) {
sbin/ipf/ipnat/ipnat_y.y
333
nat->in_v[0] = ftov($3.f);
sbin/ipf/ipnat/ipnat_y.y
335
nat->in_v[0] = ftov($6);
sbin/ipf/ipnat/ipnat_y.y
337
nat->in_odstatype = $3.t;
sbin/ipf/ipnat/ipnat_y.y
338
bcopy(&$3.a, &nat->in_odst.na_addr[0],
sbin/ipf/ipnat/ipnat_y.y
340
bcopy(&$3.m, &nat->in_odst.na_addr[1],
sbin/ipf/ipnat/ipnat_y.y
346
{ if (nat->in_v[0] == 0)
sbin/ipf/ipnat/ipnat_y.y
347
nat->in_v[0] = ftov($4.f);
sbin/ipf/ipnat/ipnat_y.y
348
nat->in_odstatype = $4.t;
sbin/ipf/ipnat/ipnat_y.y
349
bcopy(&$4.a, &nat->in_odst.na_addr[0],
sbin/ipf/ipnat/ipnat_y.y
351
bcopy(&$4.m, &nat->in_odst.na_addr[1],
sbin/ipf/ipnat/ipnat_y.y
359
if (nat->in_v[0] == 0) {
sbin/ipf/ipnat/ipnat_y.y
361
nat->in_v[0] = ftov($3);
sbin/ipf/ipnat/ipnat_y.y
363
nat->in_v[0] = ftov($5);
sbin/ipf/ipnat/ipnat_y.y
368
{ nat->in_v[0] = ftov($4);
sbin/ipf/ipnat/ipnat_y.y
376
{ if (nat->in_v[0] == 0)
sbin/ipf/ipnat/ipnat_y.y
377
nat->in_v[0] = ftov($4);
sbin/ipf/ipnat/ipnat_y.y
378
if (nat->in_redir & NAT_MAP)
sbin/ipf/ipnat/ipnat_y.y
382
nat->in_redir |= NAT_REWRITE;
sbin/ipf/ipnat/ipnat_y.y
387
{ if (nat->in_v[0] == 0)
sbin/ipf/ipnat/ipnat_y.y
388
nat->in_v[0] = ftov($4);
sbin/ipf/ipnat/ipnat_y.y
389
if (nat->in_redir & NAT_MAP) {
sbin/ipf/ipnat/ipnat_y.y
391
nat->in_pr[0] = IPPROTO_UDP;
sbin/ipf/ipnat/ipnat_y.y
394
nat->in_pr[1] = IPPROTO_UDP;
sbin/ipf/ipnat/ipnat_y.y
396
nat->in_flags &= ~IPN_TCP;
sbin/ipf/ipnat/ipnat_y.y
428
inout: IPNY_IN { nat->in_redir = NAT_REDIRECT; }
sbin/ipf/ipnat/ipnat_y.y
429
| IPNY_OUT { nat->in_redir = NAT_MAP; }
sbin/ipf/ipnat/ipnat_y.y
437
{ nat->in_nsrc.na_addr[0] = $2.a;
sbin/ipf/ipnat/ipnat_y.y
438
nat->in_nsrc.na_addr[1] = $2.m;
sbin/ipf/ipnat/ipnat_y.y
439
nat->in_nsrc.na_atype = $2.t;
sbin/ipf/ipnat/ipnat_y.y
441
nat->in_nsrc.na_type = $2.u;
sbin/ipf/ipnat/ipnat_y.y
442
nat->in_nsrc.na_subtype = $2.s;
sbin/ipf/ipnat/ipnat_y.y
443
nat->in_nsrc.na_num = $2.n;
sbin/ipf/ipnat/ipnat_y.y
445
nat->in_nsports[0] = $3.p1;
sbin/ipf/ipnat/ipnat_y.y
446
nat->in_nsports[1] = $3.p2;
sbin/ipf/ipnat/ipnat_y.y
447
nat->in_ndst.na_addr[0] = $5.a;
sbin/ipf/ipnat/ipnat_y.y
448
nat->in_ndst.na_addr[1] = $5.m;
sbin/ipf/ipnat/ipnat_y.y
449
nat->in_ndst.na_atype = $5.t;
sbin/ipf/ipnat/ipnat_y.y
45
static ipnat_t *nat = NULL;
sbin/ipf/ipnat/ipnat_y.y
451
nat->in_ndst.na_type = $5.u;
sbin/ipf/ipnat/ipnat_y.y
452
nat->in_ndst.na_subtype = $5.s;
sbin/ipf/ipnat/ipnat_y.y
453
nat->in_ndst.na_num = $5.n;
sbin/ipf/ipnat/ipnat_y.y
455
nat->in_ndports[0] = $6.p1;
sbin/ipf/ipnat/ipnat_y.y
456
nat->in_ndports[1] = $6.p2;
sbin/ipf/ipnat/ipnat_y.y
461
{ nat->in_nsrc.na_addr[0] = $2.a;
sbin/ipf/ipnat/ipnat_y.y
464
nat->in_nsrc.na_addr[1] = $2.m;
sbin/ipf/ipnat/ipnat_y.y
465
nat->in_nsports[0] = $4;
sbin/ipf/ipnat/ipnat_y.y
466
nat->in_nsports[1] = $4;
sbin/ipf/ipnat/ipnat_y.y
468
nat->in_ndst.na_addr[0] = $6.a;
sbin/ipf/ipnat/ipnat_y.y
469
nat->in_ndst.na_addr[1] = $6.m;
sbin/ipf/ipnat/ipnat_y.y
472
nat->in_ndports[0] = $8;
sbin/ipf/ipnat/ipnat_y.y
473
nat->in_ndports[1] = $8;
sbin/ipf/ipnat/ipnat_y.y
475
nat->in_redir |= NAT_DIVERTUDP;
sbin/ipf/ipnat/ipnat_y.y
492
nat->in_flags |= IPN_FIXEDSPORT;
sbin/ipf/ipnat/ipnat_y.y
503
nat->in_flags |= IPN_FIXEDDPORT;
sbin/ipf/ipnat/ipnat_y.y
511
| ',' { if (!(nat->in_flags & IPN_TCPUDP))
sbin/ipf/ipnat/ipnat_y.y
521
pos = addname(&nat, $4);
sbin/ipf/ipnat/ipnat_y.y
522
nat->in_plabel = pos;
sbin/ipf/ipnat/ipnat_y.y
523
if (nat->in_dcmp == 0) {
sbin/ipf/ipnat/ipnat_y.y
524
nat->in_odport = $3;
sbin/ipf/ipnat/ipnat_y.y
525
} else if ($3 != nat->in_odport) {
sbin/ipf/ipnat/ipnat_y.y
528
nat->in_ndport = $3;
sbin/ipf/ipnat/ipnat_y.y
534
pos = addname(&nat, $4);
sbin/ipf/ipnat/ipnat_y.y
535
nat->in_plabel = pos;
sbin/ipf/ipnat/ipnat_y.y
539
nat->in_odport = ntohs(pnum);
sbin/ipf/ipnat/ipnat_y.y
540
nat->in_ndport = ntohs(pnum);
sbin/ipf/ipnat/ipnat_y.y
547
pos = addname(&nat, $4);
sbin/ipf/ipnat/ipnat_y.y
548
nat->in_plabel = pos;
sbin/ipf/ipnat/ipnat_y.y
549
if (nat->in_dcmp == 0) {
sbin/ipf/ipnat/ipnat_y.y
550
nat->in_odport = $3;
sbin/ipf/ipnat/ipnat_y.y
551
} else if ($3 != nat->in_odport) {
sbin/ipf/ipnat/ipnat_y.y
554
nat->in_ndport = $3;
sbin/ipf/ipnat/ipnat_y.y
556
nat->in_pconfig = addname(&nat, $8);
sbin/ipf/ipnat/ipnat_y.y
562
pos = addname(&nat, $4);
sbin/ipf/ipnat/ipnat_y.y
563
nat->in_plabel = pos;
sbin/ipf/ipnat/ipnat_y.y
567
nat->in_odport = ntohs(pnum);
sbin/ipf/ipnat/ipnat_y.y
568
nat->in_ndport = ntohs(pnum);
sbin/ipf/ipnat/ipnat_y.y
570
pos = addname(&nat, $8);
sbin/ipf/ipnat/ipnat_y.y
571
nat->in_pconfig = pos;
sbin/ipf/ipnat/ipnat_y.y
578
| proto { if (nat->in_pr[0] != 0 ||
sbin/ipf/ipnat/ipnat_y.y
579
nat->in_pr[1] != 0 ||
sbin/ipf/ipnat/ipnat_y.y
580
nat->in_flags & IPN_TCPUDP)
sbin/ipf/ipnat/ipnat_y.y
584
| IPNY_TCPUDP { if (nat->in_pr[0] != 0 ||
sbin/ipf/ipnat/ipnat_y.y
585
nat->in_pr[1] != 0 ||
sbin/ipf/ipnat/ipnat_y.y
586
nat->in_flags & IPN_TCPUDP)
sbin/ipf/ipnat/ipnat_y.y
588
nat->in_flags |= IPN_TCPUDP;
sbin/ipf/ipnat/ipnat_y.y
589
nat->in_pr[0] = 0;
sbin/ipf/ipnat/ipnat_y.y
590
nat->in_pr[1] = 0;
sbin/ipf/ipnat/ipnat_y.y
592
| IPNY_TCP '/' IPNY_UDP { if (nat->in_pr[0] != 0 ||
sbin/ipf/ipnat/ipnat_y.y
593
nat->in_pr[1] != 0 ||
sbin/ipf/ipnat/ipnat_y.y
594
nat->in_flags & IPN_TCPUDP)
sbin/ipf/ipnat/ipnat_y.y
596
nat->in_flags |= IPN_TCPUDP;
sbin/ipf/ipnat/ipnat_y.y
597
nat->in_pr[0] = 0;
sbin/ipf/ipnat/ipnat_y.y
598
nat->in_pr[1] = 0;
sbin/ipf/ipnat/ipnat_y.y
615
nat->in_flags |= IPN_SIPRANGE;
sbin/ipf/ipnat/ipnat_y.y
627
nat->in_flags |= IPN_SIPRANGE;
sbin/ipf/ipnat/ipnat_y.y
634
{ nat->in_flags |= IPN_SPLIT;
sbin/ipf/ipnat/ipnat_y.y
639
nat->in_ndstip6 = $1.a;
sbin/ipf/ipnat/ipnat_y.y
640
nat->in_ndstmsk6 = $4.a;
sbin/ipf/ipnat/ipnat_y.y
641
nat->in_ndstatype = FRI_SPLIT;
sbin/ipf/ipnat/ipnat_y.y
645
nat->in_ndstip6 = $1.a;
sbin/ipf/ipnat/ipnat_y.y
646
nat->in_ndstmsk6 = $1.m;
sbin/ipf/ipnat/ipnat_y.y
647
nat->in_ndst.na_atype = $1.t;
sbin/ipf/ipnat/ipnat_y.y
676
nat->in_flags |= IPN_DIPRANGE;
sbin/ipf/ipnat/ipnat_y.y
688
nat->in_flags |= IPN_DIPRANGE;
sbin/ipf/ipnat/ipnat_y.y
703
$$.n = addname(&nat, $3);
sbin/ipf/ipnat/ipnat_y.y
729
dport: | port portpair { nat->in_odport = $2.p1;
sbin/ipf/ipnat/ipnat_y.y
731
nat->in_dtop = $2.p1;
sbin/ipf/ipnat/ipnat_y.y
733
nat->in_dtop = $2.p2;
sbin/ipf/ipnat/ipnat_y.y
737
nport: | port portpair { nat->in_dpmin = $2.p1;
sbin/ipf/ipnat/ipnat_y.y
738
nat->in_dpnext = $2.p1;
sbin/ipf/ipnat/ipnat_y.y
739
nat->in_dpmax = $2.p2;
sbin/ipf/ipnat/ipnat_y.y
740
nat->in_ndport = $2.p1;
sbin/ipf/ipnat/ipnat_y.y
741
if (nat->in_dtop == 0)
sbin/ipf/ipnat/ipnat_y.y
742
nat->in_dtop = $2.p2;
sbin/ipf/ipnat/ipnat_y.y
744
| port '=' portspec { nat->in_dpmin = $3;
sbin/ipf/ipnat/ipnat_y.y
745
nat->in_dpnext = $3;
sbin/ipf/ipnat/ipnat_y.y
746
nat->in_ndport = $3;
sbin/ipf/ipnat/ipnat_y.y
747
if (nat->in_dtop == 0)
sbin/ipf/ipnat/ipnat_y.y
748
nat->in_dtop = nat->in_odport;
sbin/ipf/ipnat/ipnat_y.y
749
nat->in_flags |= IPN_FIXEDDPORT;
sbin/ipf/ipnat/ipnat_y.y
753
ports: | IPNY_PORTS YY_NUMBER { nat->in_spmin = $2; }
sbin/ipf/ipnat/ipnat_y.y
754
| IPNY_PORTS IPNY_AUTO { nat->in_flags |= IPN_AUTOPORTMAP; }
sbin/ipf/ipnat/ipnat_y.y
757
mapit: IPNY_MAP { nat->in_redir = NAT_MAP; }
sbin/ipf/ipnat/ipnat_y.y
758
| IPNY_BIMAP { nat->in_redir = NAT_BIMAP; }
sbin/ipf/ipnat/ipnat_y.y
761
rdrit: IPNY_RDR { nat->in_redir = NAT_REDIRECT; }
sbin/ipf/ipnat/ipnat_y.y
765
IPNY_MAPBLOCK { nat->in_redir = NAT_MAPBLK; }
sbin/ipf/ipnat/ipnat_y.y
778
nat->in_flags |= IPN_NOTDST;
sbin/ipf/ipnat/ipnat_y.y
785
nat->in_flags |= IPN_NOTDST;
sbin/ipf/ipnat/ipnat_y.y
800
nat->in_flags |= IPN_NOTSRC;
sbin/ipf/ipnat/ipnat_y.y
807
nat->in_flags |= IPN_NOTSRC;
sbin/ipf/ipnat/ipnat_y.y
812
from: IPNY_FROM { nat->in_flags |= IPN_FILTER;
sbin/ipf/ipnat/ipnat_y.y
825
ifname: YY_STR { setifname(&nat, 0, $1);
sbin/ipf/ipnat/ipnat_y.y
830
family: | IPNY_INET { nat->in_v[0] = 4; nat->in_v[1] = 4; }
sbin/ipf/ipnat/ipnat_y.y
831
| IPNY_INET6 { nat->in_v[0] = 6; nat->in_v[1] = 6; }
sbin/ipf/ipnat/ipnat_y.y
835
YY_STR { setifname(&nat, 1, $1);
sbin/ipf/ipnat/ipnat_y.y
842
{ nat->in_spmin = $3.p1;
sbin/ipf/ipnat/ipnat_y.y
843
nat->in_spmax = $3.p2;
sbin/ipf/ipnat/ipnat_y.y
846
{ nat->in_spmin = $2.p1;
sbin/ipf/ipnat/ipnat_y.y
847
nat->in_spmax = $2.p2;
sbin/ipf/ipnat/ipnat_y.y
850
{ nat->in_flags |= IPN_AUTOPORTMAP;
sbin/ipf/ipnat/ipnat_y.y
851
nat->in_spmin = 1024;
sbin/ipf/ipnat/ipnat_y.y
852
nat->in_spmax = 65535;
sbin/ipf/ipnat/ipnat_y.y
865
nat->in_pr[0] = IPPROTO_ICMPV6;
sbin/ipf/ipnat/ipnat_y.y
866
nat->in_pr[1] = IPPROTO_ICMPV6;
sbin/ipf/ipnat/ipnat_y.y
868
nat->in_pr[0] = IPPROTO_ICMP;
sbin/ipf/ipnat/ipnat_y.y
869
nat->in_pr[1] = IPPROTO_ICMP;
sbin/ipf/ipnat/ipnat_y.y
871
nat->in_flags = IPN_ICMPQUERY;
sbin/ipf/ipnat/ipnat_y.y
872
nat->in_spmin = $3.p1;
sbin/ipf/ipnat/ipnat_y.y
873
nat->in_spmax = $3.p2;
sbin/ipf/ipnat/ipnat_y.y
879
| saddr port portstuff { nat->in_osport = $3.p1;
sbin/ipf/ipnat/ipnat_y.y
880
nat->in_stop = $3.p2;
sbin/ipf/ipnat/ipnat_y.y
881
nat->in_scmp = $3.pc;
sbin/ipf/ipnat/ipnat_y.y
886
saddr: addr { nat->in_osrcatype = $1.t;
sbin/ipf/ipnat/ipnat_y.y
888
&nat->in_osrc.na_addr[0],
sbin/ipf/ipnat/ipnat_y.y
891
&nat->in_osrc.na_addr[1],
sbin/ipf/ipnat/ipnat_y.y
899
| daddr port portstuff { nat->in_odport = $3.p1;
sbin/ipf/ipnat/ipnat_y.y
900
nat->in_dtop = $3.p2;
sbin/ipf/ipnat/ipnat_y.y
901
nat->in_dcmp = $3.pc;
sbin/ipf/ipnat/ipnat_y.y
906
daddr: addr { nat->in_odstatype = $1.t;
sbin/ipf/ipnat/ipnat_y.y
908
&nat->in_odst.na_addr[0],
sbin/ipf/ipnat/ipnat_y.y
911
&nat->in_odst.na_addr[1],
sbin/ipf/libipf/getnattype.c
18
getnattype(nat_t *nat)
sbin/ipf/libipf/getnattype.c
23
if (!nat)
sbin/ipf/libipf/getnattype.c
26
switch (nat->nat_redir)
sbin/ipf/libipf/getnattype.c
60
nat->nat_redir & 0xffffffff);
sbin/ipf/libipf/printactivenat.c
100
PRINTF(" %-5hu", ntohs(nat->nat_odport));
sbin/ipf/libipf/printactivenat.c
103
printactiveaddress(nat->nat_v[0], "%s", &nat->nat_osrc6,
sbin/ipf/libipf/printactivenat.c
104
nat->nat_ifnames[0]);
sbin/ipf/libipf/printactivenat.c
106
if ((nat->nat_flags & IPN_TCPUDP) != 0)
sbin/ipf/libipf/printactivenat.c
107
PRINTF(" %hu", ntohs(nat->nat_osport));
sbin/ipf/libipf/printactivenat.c
110
pproto = getprotobynumber(nat->nat_pr[0]);
sbin/ipf/libipf/printactivenat.c
117
nat->nat_age - ticks, nat->nat_use,
sbin/ipf/libipf/printactivenat.c
118
getsumd(nat->nat_sumd[0]));
sbin/ipf/libipf/printactivenat.c
120
getsumd(nat->nat_sumd[1]),
sbin/ipf/libipf/printactivenat.c
121
nat->nat_pr[0], nat->nat_pr[1],
sbin/ipf/libipf/printactivenat.c
122
nat->nat_hv[0], nat->nat_hv[1], nat->nat_flags);
sbin/ipf/libipf/printactivenat.c
123
PRINTF("\tifp %s,%s ", FORMAT_IF(nat->nat_ifnames[0]),
sbin/ipf/libipf/printactivenat.c
124
FORMAT_IF(nat->nat_ifnames[1]));
sbin/ipf/libipf/printactivenat.c
127
(unsigned long long)nat->nat_bytes[0],
sbin/ipf/libipf/printactivenat.c
128
(unsigned long long)nat->nat_bytes[1],
sbin/ipf/libipf/printactivenat.c
129
(unsigned long long)nat->nat_pkts[0],
sbin/ipf/libipf/printactivenat.c
130
(unsigned long long)nat->nat_pkts[1]);
sbin/ipf/libipf/printactivenat.c
132
PRINTF("bytes %lu/%lu pkts %lu/%lu", nat->nat_bytes[0],
sbin/ipf/libipf/printactivenat.c
133
nat->nat_bytes[1], nat->nat_pkts[0], nat->nat_pkts[1]);
sbin/ipf/libipf/printactivenat.c
135
PRINTF(" ipsumd %x", nat->nat_ipsumd);
sbin/ipf/libipf/printactivenat.c
140
nat->nat_next, nat->nat_pnext, nat->nat_hm);
sbin/ipf/libipf/printactivenat.c
142
nat->nat_hnext[0], nat->nat_hnext[1],
sbin/ipf/libipf/printactivenat.c
143
nat->nat_phnext[0], nat->nat_phnext[1]);
sbin/ipf/libipf/printactivenat.c
145
nat->nat_data, nat->nat_me, nat->nat_state,
sbin/ipf/libipf/printactivenat.c
146
nat->nat_aps);
sbin/ipf/libipf/printactivenat.c
148
nat->nat_fr, nat->nat_ptr, nat->nat_ifps[0],
sbin/ipf/libipf/printactivenat.c
149
nat->nat_ifps[1], nat->nat_sync);
sbin/ipf/libipf/printactivenat.c
151
nat->nat_tqe.tqe_pnext, nat->nat_tqe.tqe_next,
sbin/ipf/libipf/printactivenat.c
152
nat->nat_tqe.tqe_ifq, nat->nat_tqe.tqe_parent, nat);
sbin/ipf/libipf/printactivenat.c
154
nat->nat_tqe.tqe_die, nat->nat_tqe.tqe_touched,
sbin/ipf/libipf/printactivenat.c
155
nat->nat_tqe.tqe_flags, nat->nat_tqe.tqe_state[0],
sbin/ipf/libipf/printactivenat.c
156
nat->nat_tqe.tqe_state[1]);
sbin/ipf/libipf/printactivenat.c
17
printactivenat(nat_t *nat, int opts, u_long ticks)
sbin/ipf/libipf/printactivenat.c
26
PRINTF("%s", getnattype(nat));
sbin/ipf/libipf/printactivenat.c
28
if (nat->nat_flags & SI_CLONE)
sbin/ipf/libipf/printactivenat.c
30
if (nat->nat_phnext[0] == NULL && nat->nat_phnext[1] == NULL)
sbin/ipf/libipf/printactivenat.c
34
if (nat->nat_redir & NAT_REWRITE) {
sbin/ipf/libipf/printactivenat.c
35
printactiveaddress(nat->nat_v[0], "%-15s", &nat->nat_osrc6,
sbin/ipf/libipf/printactivenat.c
36
nat->nat_ifnames[0]);
sbin/ipf/libipf/printactivenat.c
38
if ((nat->nat_flags & IPN_TCPUDP) != 0)
sbin/ipf/libipf/printactivenat.c
39
PRINTF(" %-5hu", ntohs(nat->nat_osport));
sbin/ipf/libipf/printactivenat.c
42
printactiveaddress(nat->nat_v[0], "%-15s", &nat->nat_odst6,
sbin/ipf/libipf/printactivenat.c
43
nat->nat_ifnames[0]);
sbin/ipf/libipf/printactivenat.c
45
if ((nat->nat_flags & IPN_TCPUDP) != 0)
sbin/ipf/libipf/printactivenat.c
46
PRINTF(" %-5hu", ntohs(nat->nat_odport));
sbin/ipf/libipf/printactivenat.c
49
printactiveaddress(nat->nat_v[1], "%-15s", &nat->nat_nsrc6,
sbin/ipf/libipf/printactivenat.c
50
nat->nat_ifnames[0]);
sbin/ipf/libipf/printactivenat.c
52
if ((nat->nat_flags & IPN_TCPUDP) != 0)
sbin/ipf/libipf/printactivenat.c
53
PRINTF(" %-5hu", ntohs(nat->nat_nsport));
sbin/ipf/libipf/printactivenat.c
56
printactiveaddress(nat->nat_v[1], "%-15s", &nat->nat_ndst6,
sbin/ipf/libipf/printactivenat.c
57
nat->nat_ifnames[0]);
sbin/ipf/libipf/printactivenat.c
58
if ((nat->nat_flags & IPN_TCPUDP) != 0)
sbin/ipf/libipf/printactivenat.c
59
PRINTF(" %-5hu", ntohs(nat->nat_ndport));
sbin/ipf/libipf/printactivenat.c
61
pproto = getprotobynumber(nat->nat_pr[0]);
sbin/ipf/libipf/printactivenat.c
64
} else if (nat->nat_dir == NAT_OUTBOUND) {
sbin/ipf/libipf/printactivenat.c
65
printactiveaddress(nat->nat_v[0], "%-15s", &nat->nat_osrc6,
sbin/ipf/libipf/printactivenat.c
66
nat->nat_ifnames[0]);
sbin/ipf/libipf/printactivenat.c
68
if ((nat->nat_flags & IPN_TCPUDP) != 0)
sbin/ipf/libipf/printactivenat.c
69
PRINTF(" %-5hu", ntohs(nat->nat_osport));
sbin/ipf/libipf/printactivenat.c
72
printactiveaddress(nat->nat_v[1], "%-15s", &nat->nat_nsrc6,
sbin/ipf/libipf/printactivenat.c
73
nat->nat_ifnames[0]);
sbin/ipf/libipf/printactivenat.c
75
if ((nat->nat_flags & IPN_TCPUDP) != 0)
sbin/ipf/libipf/printactivenat.c
76
PRINTF(" %-5hu", ntohs(nat->nat_nsport));
sbin/ipf/libipf/printactivenat.c
79
printactiveaddress(nat->nat_v[0], "%s", &nat->nat_odst6,
sbin/ipf/libipf/printactivenat.c
80
nat->nat_ifnames[0]);
sbin/ipf/libipf/printactivenat.c
82
if ((nat->nat_flags & IPN_TCPUDP) != 0)
sbin/ipf/libipf/printactivenat.c
83
PRINTF(" %hu", ntohs(nat->nat_odport));
sbin/ipf/libipf/printactivenat.c
86
pproto = getprotobynumber(nat->nat_pr[1]);
sbin/ipf/libipf/printactivenat.c
89
printactiveaddress(nat->nat_v[1], "%-15s", &nat->nat_ndst6,
sbin/ipf/libipf/printactivenat.c
90
nat->nat_ifnames[0]);
sbin/ipf/libipf/printactivenat.c
92
if ((nat->nat_flags & IPN_TCPUDP) != 0)
sbin/ipf/libipf/printactivenat.c
93
PRINTF(" %-5hu", ntohs(nat->nat_ndport));
sbin/ipf/libipf/printactivenat.c
96
printactiveaddress(nat->nat_v[0], "%-15s", &nat->nat_odst6,
sbin/ipf/libipf/printactivenat.c
97
nat->nat_ifnames[0]);
sbin/ipf/libipf/printactivenat.c
99
if ((nat->nat_flags & IPN_TCPUDP) != 0)
sbin/ipfw/tables.c
1522
v->nat = val;
sbin/ipfw/tables.c
1611
v->nat = strtol(n, &e, 10);
sbin/ipfw/tables.c
1857
l = snprintf(buf, sz, "%u,", v->nat);
sbin/pfctl/parse.y
319
struct redirspec *nat;
sbin/pfctl/parse.y
3426
if (filter_opts.nat) {
sbin/pfctl/parse.y
3430
filter_opts.nat = $2;
sbin/pfctl/parse.y
3440
if (filter_opts.nat) {
sbin/pfctl/parse.y
3444
filter_opts.nat = $2;
sbin/pfctl/parse.y
3445
filter_opts.nat->binat = 1;
sbin/pfctl/parse.y
3446
filter_opts.nat->pool_opts.staticport = 1;
sbin/pfctl/parse.y
3449
if (filter_opts.nat) {
sbin/pfctl/parse.y
3458
filter_opts.nat = $4;
sbin/pfctl/parse.y
3459
filter_opts.nat->af = $2;
sbin/pfctl/parse.y
3460
remove_invalid_hosts(&($4->host), &(filter_opts.nat->af));
sbin/pfctl/parse.y
3469
if (filter_opts.nat) {
sbin/pfctl/parse.y
3477
filter_opts.nat = $4;
sbin/pfctl/parse.y
3478
filter_opts.nat->af = $2;
sbin/pfctl/parse.y
3481
remove_invalid_hosts(&($4->host), &(filter_opts.nat->af));
sbin/pfctl/parse.y
5882
if (!TAILQ_EMPTY(&(r->nat.list)) || !TAILQ_EMPTY(&(r->rdr.list))) {
sbin/pfctl/parse.y
6708
struct pfctl_pooladdr *nat_pool = TAILQ_FIRST(&(r->nat.list));
sbin/pfctl/parse.y
6785
TAILQ_INIT(&(rdr_rule->nat.list));
sbin/pfctl/parse.y
6814
struct node_if *interfaces, struct redirspec *nat,
sbin/pfctl/parse.y
6856
assert(nat != NULL);
sbin/pfctl/parse.y
6857
r->naf = nat->af;
sbin/pfctl/parse.y
6978
error += apply_nat_ports(&(r->nat), nat);
sbin/pfctl/parse.y
6979
error += apply_redirspec(&(r->nat), nat);
sbin/pfctl/parse.y
6983
if (nat && nat->binat)
sbin/pfctl/parse.y
6996
if (!error && nat && nat->binat) {
sbin/pfctl/parse.y
7002
r, nat, src_hosts,
sbin/pfctl/parse.y
7032
if (nat) {
sbin/pfctl/parse.y
7033
FREE_LIST(struct node_host, nat->host);
sbin/pfctl/parse.y
7034
free(nat);
sbin/pfctl/pfctl.c
1700
if (pfctl_get_pool(dev, &rule.nat,
sbin/pfctl/pfctl.c
1728
pfctl_clear_pool(&rule.nat);
sbin/pfctl/pfctl.c
1747
if (pfctl_get_pool(dev, &rule.nat,
sbin/pfctl/pfctl.c
1820
pfctl_clear_pool(&rule.nat);
sbin/pfctl/pfctl.c
1912
if (pfctl_get_pool(dev, &rule.nat, nr,
sbin/pfctl/pfctl.c
2158
TAILQ_INIT(&(r->nat.list));
sbin/pfctl/pfctl.c
2180
TAILQ_INIT(&rule->nat.list);
sbin/pfctl/pfctl.c
2181
pfctl_move_pool(&r->nat, &rule->nat);
sbin/pfctl/pfctl.c
2599
if (pfctl_add_pool(pf, &r->nat, PF_NAT))
sbin/pfctl/pfctl.c
2628
pfctl_clear_pool(&r->nat);
sbin/pfctl/pfctl.c
817
kill.nat = true;
sbin/pfctl/pfctl_optimize.c
139
PF_RULE_FIELD(nat, BREAK),
sbin/pfctl/pfctl_optimize.c
306
if (TAILQ_FIRST(&r->nat.list) != NULL) {
sbin/pfctl/pfctl_optimize.c
307
TAILQ_INIT(&por->por_rule.nat.list);
sbin/pfctl/pfctl_optimize.c
308
pfctl_move_pool(&r->nat, &por->por_rule.nat);
sbin/pfctl/pfctl_optimize.c
310
bzero(&por->por_rule.nat,
sbin/pfctl/pfctl_optimize.c
311
sizeof(por->por_rule.nat));
sbin/pfctl/pfctl_optimize.c
348
TAILQ_INIT(&r->nat.list);
sbin/pfctl/pfctl_optimize.c
349
pfctl_move_pool(&por->por_rule.nat, &r->nat);
sbin/pfctl/pfctl_optimize.c
926
if (TAILQ_EMPTY(&por->por_rule.nat.list))
sbin/pfctl/pfctl_optimize.c
927
memset(&por->por_rule.nat, 0,
sbin/pfctl/pfctl_optimize.c
928
sizeof(por->por_rule.nat));
sbin/pfctl/pfctl_parser.c
1337
if (!TAILQ_EMPTY(&r->nat.list)) {
sbin/pfctl/pfctl_parser.c
1343
print_pool(&r->nat, r->nat.proxy_port[0],
sbin/pfctl/pfctl_parser.c
1344
r->nat.proxy_port[1], PF_NAT);
share/examples/ipfilter/samples/proxy.c
144
nat_t *nat;
share/examples/ipfilter/samples/proxy.c
148
nat = &ns.ipn_nat;
share/examples/ipfilter/samples/proxy.c
149
nat->nat_p = IPPROTO_TCP;
share/examples/ipfilter/samples/proxy.c
150
nat->nat_dir = NAT_OUTBOUND;
share/examples/ipfilter/samples/proxy.c
152
strncpy(nat->nat_ifnames[0], extif,
share/examples/ipfilter/samples/proxy.c
153
sizeof(nat->nat_ifnames[0]));
share/examples/ipfilter/samples/proxy.c
154
strncpy(nat->nat_ifnames[1], extif,
share/examples/ipfilter/samples/proxy.c
155
sizeof(nat->nat_ifnames[1]));
share/examples/ipfilter/samples/proxy.c
156
nat->nat_ifnames[0][sizeof(nat->nat_ifnames[0]) - 1] = '\0';
share/examples/ipfilter/samples/proxy.c
157
nat->nat_ifnames[1][sizeof(nat->nat_ifnames[1]) - 1] = '\0';
share/examples/ipfilter/samples/proxy.c
181
nat->nat_inip = usin.sin_addr;
share/examples/ipfilter/samples/proxy.c
182
nat->nat_outip = nlp->nl_outip;
share/examples/ipfilter/samples/proxy.c
183
nat->nat_oip = nlp->nl_realip;
share/examples/ipfilter/samples/proxy.c
186
sum2 = LONG_SUM(ntohl(nat->nat_outip.s_addr)) + ntohs(nlp->nl_outport);
share/examples/ipfilter/samples/proxy.c
188
nat->nat_sumd[0] = (sumd & 0xffff) + (sumd >> 16);
share/examples/ipfilter/samples/proxy.c
189
nat->nat_sumd[1] = nat->nat_sumd[0];
share/examples/ipfilter/samples/proxy.c
192
sum2 = LONG_SUM(ntohl(nat->nat_outip.s_addr));
share/examples/ipfilter/samples/proxy.c
194
nat->nat_ipsumd = (sumd & 0xffff) + (sumd >> 16);
share/examples/ipfilter/samples/proxy.c
196
nat->nat_inport = usin.sin_port;
share/examples/ipfilter/samples/proxy.c
197
nat->nat_outport = nlp->nl_outport;
share/examples/ipfilter/samples/proxy.c
198
nat->nat_oport = nlp->nl_realport;
share/examples/ipfilter/samples/proxy.c
200
nat->nat_flags = IPN_TCPUDP;
sys/net/pfvar.h
815
struct pf_kpool nat;
sys/netgraph/ng_nat.c
280
NETGRAPH_INIT(nat, &typestruct);
sys/netinet/ip_fw.h
1010
uint32_t nat; /* O_NAT */
sys/netinet/ip_fw.h
672
struct cfg_nat *nat;
sys/netinet/sctp_indata.c
1359
struct sctp_tmit_chunk *at, *nat;
sys/netinet/sctp_indata.c
1604
TAILQ_FOREACH_SAFE(at, &control->reasm, sctp_next, nat) {
sys/netpfil/ipfilter/netinet/fil.c
6215
{ 0, sizeof(struct nat), 5010000 },
sys/netpfil/ipfilter/netinet/ip_dns_pxy.c
171
ipf_p_dns_new(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_dns_pxy.c
314
ipf_p_dns_inout(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_dns_pxy.c
361
ipf_p_dns_match(fr_info_t *fin, ap_session_t *aps, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_frag.c
1006
nat = fra->ipfr_data;
sys/netpfil/ipfilter/netinet/ip_frag.c
1007
if (nat != NULL) {
sys/netpfil/ipfilter/netinet/ip_frag.c
1008
if (nat->nat_data == fra)
sys/netpfil/ipfilter/netinet/ip_frag.c
1009
nat->nat_data = NULL;
sys/netpfil/ipfilter/netinet/ip_frag.c
1032
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_frag.c
1077
nat = fra->ipfr_data;
sys/netpfil/ipfilter/netinet/ip_frag.c
1078
if (nat != NULL) {
sys/netpfil/ipfilter/netinet/ip_frag.c
1079
if (nat->nat_data == fra)
sys/netpfil/ipfilter/netinet/ip_frag.c
1080
nat->nat_data = NULL;
sys/netpfil/ipfilter/netinet/ip_frag.c
534
nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_frag.c
549
fra->ipfr_data = nat;
sys/netpfil/ipfilter/netinet/ip_frag.c
550
nat->nat_data = fra;
sys/netpfil/ipfilter/netinet/ip_frag.c
783
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_frag.c
795
nat = ipf->ipfr_data;
sys/netpfil/ipfilter/netinet/ip_frag.c
799
if ((ipf->ipfr_ttl == softc->ipf_ticks + 1) && (nat != NULL)) {
sys/netpfil/ipfilter/netinet/ip_frag.c
800
nat->nat_data = NULL;
sys/netpfil/ipfilter/netinet/ip_frag.c
805
nat = NULL;
sys/netpfil/ipfilter/netinet/ip_frag.c
806
return (nat);
sys/netpfil/ipfilter/netinet/ip_frag.c
993
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_frag.h
108
extern int ipf_frag_natnew(ipf_main_softc_t *, fr_info_t *, u_32_t, struct nat *);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1214
ipf_p_ftp_process(ipf_ftp_softc_t *softf, fr_info_t *fin, nat_t *nat,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1251
aps = nat->nat_aps;
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1472
nat, ftp, len);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1475
nat, ftp, len);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1547
ipf_p_ftp_out(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1557
rev = (nat->nat_dir == NAT_OUTBOUND) ? 0 : 1;
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1561
return (ipf_p_ftp_process(softf, fin, nat, ftp, rev));
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1566
ipf_p_ftp_in(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1576
rev = (nat->nat_dir == NAT_OUTBOUND) ? 0 : 1;
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1580
return (ipf_p_ftp_process(softf, fin, nat, ftp, 1 - rev));
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1616
ipf_p_ftp_eprt(ipf_ftp_softc_t *softf, fr_info_t *fin, ip_t *ip, nat_t *nat,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1641
if (f->ftps_rptr[6] == '1' && nat->nat_v[0] == 4)
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1642
return (ipf_p_ftp_eprt4(softf, fin, ip, nat, ftp, dlen));
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1644
if (f->ftps_rptr[6] == '2' && nat->nat_v[0] == 6)
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1645
return (ipf_p_ftp_eprt6(softf, fin, ip, nat, ftp, dlen));
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1653
ipf_p_ftp_eprt4(ipf_ftp_softc_t *softf, fr_info_t *fin, ip_t *ip, nat_t *nat,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1748
if (nat->nat_dir == NAT_INBOUND)
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1749
a1 = ntohl(nat->nat_odstaddr);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1795
return (ipf_p_ftp_addport(softf, fin, ip, nat, ftp, dlen, port, inc));
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1800
ipf_p_ftp_epsv(ipf_ftp_softc_t *softf, fr_info_t *fin, ip_t *ip, nat_t *nat,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1862
return (ipf_p_ftp_pasvreply(softf, fin, ip, nat, ftp, (u_int)ap,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
1868
ipf_p_ftp_eprt6(ipf_ftp_softc_t *softf, fr_info_t *fin, ip_t *ip, nat_t *nat,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
2047
return (ipf_p_ftp_addport(softf, fin, ip, nat, ftp, dlen, port, inc));
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
222
ipf_p_ftp_new(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat __unused)
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
275
ipf_p_ftp_port(ipf_ftp_softc_t *softf, fr_info_t *fin, ip_t *ip, nat_t *nat,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
296
DT3(ftp_PORT_error_dlen, nat_t *, nat, ftpside_t *, f,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
312
DT2(ftp_PORT_error_atoi_1, nat_t *, nat, ftpside_t *, f);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
319
DT2(ftp_PORT_error_atoi_2, nat_t *, nat, ftpside_t *, f);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
331
if (((nat->nat_dir == NAT_OUTBOUND) &&
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
332
(a1 != ntohl(nat->nat_osrcaddr))) ||
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
333
((nat->nat_dir == NAT_INBOUND) &&
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
334
(a1 != ntohl(nat->nat_nsrcaddr)))) {
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
335
DT3(ftp_PORT_error_address, nat_t *, nat, ftpside_t *, f,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
344
DT2(ftp_PORT_error_atoi_3, nat_t *, nat, ftpside_t *, f);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
358
DT2(ftp_PORT_error_no_crlf, nat_t *, nat, ftpside_t *, f);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
377
if (nat->nat_dir == NAT_INBOUND)
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
378
a1 = ntohl(nat->nat_ndstaddr);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
393
DT3(ftp_PORT_error_inc, nat_t *, nat, ftpside_t *, f,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
422
return (ipf_p_ftp_addport(softf, fin, ip, nat, ftp, dlen, sp, inc));
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
427
ipf_p_ftp_addport(ipf_ftp_softc_t *softf, fr_info_t *fin, ip_t *ip, nat_t *nat,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
445
DT2(ftp_PORT_error_add_active, nat_t *, nat,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
465
DT3(ftp_PORT_error_port, nat_t *, nat, ftpinfo_t *, ftp,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
480
fi.fin_src6 = nat->nat_ndst6;
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
481
fi.fin_dst6 = nat->nat_nsrc6;
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
484
if (nat->nat_v[0] == 6)
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
492
if (nat->nat_v[0] == 6) {
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
493
if (nat->nat_dir == NAT_OUTBOUND) {
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
495
nat->nat_pr[1],
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
496
&nat->nat_osrc6.in6,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
497
&nat->nat_odst6.in6);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
500
nat->nat_pr[0],
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
501
&nat->nat_odst6.in6,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
502
&nat->nat_osrc6.in6);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
507
if (nat->nat_dir == NAT_OUTBOUND) {
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
509
nat->nat_pr[1],
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
510
nat->nat_osrcip,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
511
nat->nat_odstip);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
514
nat->nat_pr[0],
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
515
nat->nat_odstip,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
516
nat->nat_osrcip);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
525
ipn = ipf_proxy_rule_rev(nat);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
546
if (nat->nat_dir == NAT_INBOUND) {
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
557
if (nat->nat_v[0] == 6)
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
577
fi.fin_dst6 = nat->nat_osrc6;
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
588
nat_t *nat, ftpinfo_t *ftp, int dlen)
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
643
inc = ipf_p_ftp_port(softf, fin, ip, nat, ftp, dlen);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
647
inc = ipf_p_ftp_eprt(softf, fin, ip, nat, ftp, dlen);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
651
inc = ipf_p_ftp_port(softf, fin, ip, nat, ftp, dlen);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
666
ipf_p_ftp_pasv(ipf_ftp_softc_t *softf, fr_info_t *fin, ip_t *ip, nat_t *nat,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
678
DT2(ftp_PASV_error_state, nat_t *, nat, ftpinfo_t *, ftp);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
692
DT3(ftp_PASV_error_short, nat_t *, nat, ftpinfo_t *, ftp,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
700
DT2(ftp_PASV_error_string, nat_t *, nat, ftpinfo_t *, ftp);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
725
DT2(ftp_PASV_error_atoi_1, nat_t *, nat, ftpside_t *, f);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
732
DT2(ftp_PASV_error_atoi_2, nat_t *, nat, ftpside_t *, f);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
745
if (((nat->nat_dir == NAT_INBOUND) &&
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
746
(a1 != ntohl(nat->nat_ndstaddr))) ||
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
747
((nat->nat_dir == NAT_OUTBOUND) &&
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
748
(a1 != ntohl(nat->nat_odstaddr)))) {
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
749
DT3(ftp_PASV_error_address, nat_t *, nat, ftpside_t *, f,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
758
DT2(ftp_PASV_error_atoi_3, nat_t *, nat, ftpside_t *, f);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
786
if (nat->nat_dir == NAT_INBOUND) {
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
787
data_ip = nat->nat_odstaddr;
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
800
return (ipf_p_ftp_pasvreply(softf, fin, ip, nat, ftp, (a5 << 8 | a6),
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
806
nat_t *nat, ftpinfo_t *ftp, u_int port, char *newmsg, char *s)
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
840
DT3(ftp_PASV_error_inc, nat_t *, nat, ftpside_t *, f,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
848
ipn = ipf_proxy_rule_fwd(nat);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
868
fi.fin_src6 = nat->nat_osrc6;
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
869
fi.fin_dst6 = nat->nat_odst6;
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
880
if (nat->nat_v[0] == 6)
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
882
nflags, nat->nat_dir);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
886
nflags, nat->nat_dir);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
899
if (nat->nat_dir == NAT_INBOUND) {
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
901
if (nat->nat_v[0] == 6)
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
902
fi.fin_dst6 = nat->nat_ndst6;
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
905
fi.fin_daddr = nat->nat_ndstaddr;
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
929
if (nat->nat_v[0] == 6) {
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
943
ipf_p_ftp_server(ipf_ftp_softc_t *softf, fr_info_t *fin, ip_t *ip, nat_t *nat,
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
965
inc = ipf_p_ftp_pasv(softf, fin, ip, nat, ftp, dlen);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
967
inc = ipf_p_ftp_epsv(softf, fin, ip, nat, ftp, dlen);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
975
inc = ipf_p_ftp_pasv(softf, fin, ip, nat, ftp, dlen);
sys/netpfil/ipfilter/netinet/ip_ftp_pxy.c
977
inc = ipf_p_ftp_epsv(softf, fin, ip, nat, ftp, dlen);
sys/netpfil/ipfilter/netinet/ip_ipsec_pxy.c
126
ipf_p_ipsec_new(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_ipsec_pxy.c
156
if (ipf_nat_outlookup(fin, 0, IPPROTO_ESP, nat->nat_nsrcip,
sys/netpfil/ipfilter/netinet/ip_ipsec_pxy.c
160
np = nat->nat_ptr;
sys/netpfil/ipfilter/netinet/ip_ipsec_pxy.c
191
ipn->in_snip = ntohl(nat->nat_nsrcaddr);
sys/netpfil/ipfilter/netinet/ip_ipsec_pxy.c
193
ipn->in_osrcip = nat->nat_osrcip;
sys/netpfil/ipfilter/netinet/ip_ipsec_pxy.c
195
ipn->in_nsrcip = nat->nat_nsrcip;
sys/netpfil/ipfilter/netinet/ip_ipsec_pxy.c
197
ipn->in_odstip = nat->nat_odstip;
sys/netpfil/ipfilter/netinet/ip_ipsec_pxy.c
199
ipn->in_ndstip = nat->nat_ndstip;
sys/netpfil/ipfilter/netinet/ip_ipsec_pxy.c
258
ipf_p_ipsec_inout(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_ipsec_pxy.c
267
if ((fin->fin_out == 1) && (nat->nat_dir == NAT_INBOUND))
sys/netpfil/ipfilter/netinet/ip_ipsec_pxy.c
270
if ((fin->fin_out == 0) && (nat->nat_dir == NAT_OUTBOUND))
sys/netpfil/ipfilter/netinet/ip_ipsec_pxy.c
305
nat->nat_dir);
sys/netpfil/ipfilter/netinet/ip_ipsec_pxy.c
322
ipsec->ipsc_state->is_die = nat->nat_age;
sys/netpfil/ipfilter/netinet/ip_ipsec_pxy.c
344
ipf_p_ipsec_match(fr_info_t *fin, ap_session_t *aps, nat_t *nat __unused)
sys/netpfil/ipfilter/netinet/ip_irc_pxy.c
224
ipf_p_irc_new(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat __unused)
sys/netpfil/ipfilter/netinet/ip_irc_pxy.c
244
ipf_p_irc_send(fr_info_t *fin, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_irc_pxy.c
280
irc = nat->nat_aps->aps_data;
sys/netpfil/ipfilter/netinet/ip_irc_pxy.c
288
if (irc->irc_ipnum != ntohl(nat->nat_osrcaddr))
sys/netpfil/ipfilter/netinet/ip_irc_pxy.c
384
nat2 = ipf_nat_outlookup(fin, IPN_TCP, nat->nat_pr[1], nat->nat_nsrcip,
sys/netpfil/ipfilter/netinet/ip_irc_pxy.c
403
ip->ip_src = nat->nat_nsrcip;
sys/netpfil/ipfilter/netinet/ip_irc_pxy.c
405
nat2 = ipf_nat_add(&fi, nat->nat_ptr, NULL,
sys/netpfil/ipfilter/netinet/ip_irc_pxy.c
423
ipf_p_irc_out(void *arg, fr_info_t *fin, ap_session_t *aps __unused, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_irc_pxy.c
425
return (ipf_p_irc_send(fin, nat));
sys/netpfil/ipfilter/netinet/ip_nat.c
1012
nat = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
1018
nat = &natd;
sys/netpfil/ipfilter/netinet/ip_nat.c
1052
nat = nt;
sys/netpfil/ipfilter/netinet/ip_nat.c
1058
if ((interr = ipf_check_names_string(nat->in_names, nat->in_namelen, nat->in_ifnames[0])) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
1063
if (nat->in_ifnames[0] != nat->in_ifnames[1]) {
sys/netpfil/ipfilter/netinet/ip_nat.c
1064
if ((interr = ipf_check_names_string(nat->in_names, nat->in_namelen, nat->in_ifnames[1])) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
1070
if ((interr = ipf_check_names_string(nat->in_names, nat->in_namelen, nat->in_plabel)) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
1075
if ((interr = ipf_check_names_string(nat->in_names, nat->in_namelen, nat->in_pconfig)) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
1085
nat->in_flags &= IPN_USERFLAGS;
sys/netpfil/ipfilter/netinet/ip_nat.c
1086
if ((nat->in_redir & NAT_MAPBLK) == 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
1087
if (nat->in_osrcatype == FRI_NORMAL ||
sys/netpfil/ipfilter/netinet/ip_nat.c
1088
nat->in_osrcatype == FRI_NONE)
sys/netpfil/ipfilter/netinet/ip_nat.c
1089
nat->in_osrcaddr &= nat->in_osrcmsk;
sys/netpfil/ipfilter/netinet/ip_nat.c
1090
if (nat->in_odstatype == FRI_NORMAL ||
sys/netpfil/ipfilter/netinet/ip_nat.c
1091
nat->in_odstatype == FRI_NONE)
sys/netpfil/ipfilter/netinet/ip_nat.c
1092
nat->in_odstaddr &= nat->in_odstmsk;
sys/netpfil/ipfilter/netinet/ip_nat.c
1093
if ((nat->in_flags & (IPN_SPLIT|IPN_SIPRANGE)) == 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
1094
if (nat->in_nsrcatype == FRI_NORMAL)
sys/netpfil/ipfilter/netinet/ip_nat.c
1095
nat->in_nsrcaddr &= nat->in_nsrcmsk;
sys/netpfil/ipfilter/netinet/ip_nat.c
1096
if (nat->in_ndstatype == FRI_NORMAL)
sys/netpfil/ipfilter/netinet/ip_nat.c
1097
nat->in_ndstaddr &= nat->in_ndstmsk;
sys/netpfil/ipfilter/netinet/ip_nat.c
1101
error = ipf_nat_rule_init(softc, softn, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
1107
if (ipf_nat_cmp_rules(nat, n) == 0)
sys/netpfil/ipfilter/netinet/ip_nat.c
1179
if (nat != nt)
sys/netpfil/ipfilter/netinet/ip_nat.c
1180
bcopy((char *)nat, (char *)nt, sizeof(*n));
sys/netpfil/ipfilter/netinet/ip_nat.c
1184
nat = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
1427
if (nat != NULL)
sys/netpfil/ipfilter/netinet/ip_nat.c
1428
ipf_nat_rule_fini(softc, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
1704
nat_t *nat, *n;
sys/netpfil/ipfilter/netinet/ip_nat.c
1718
nat = ng.ng_ptr;
sys/netpfil/ipfilter/netinet/ip_nat.c
1719
if (!nat) {
sys/netpfil/ipfilter/netinet/ip_nat.c
1720
nat = softn->ipf_nat_instances;
sys/netpfil/ipfilter/netinet/ip_nat.c
1725
if (nat == NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
1743
if (n == nat)
sys/netpfil/ipfilter/netinet/ip_nat.c
1758
aps = nat->nat_aps;
sys/netpfil/ipfilter/netinet/ip_nat.c
1797
nat_t *n, *nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
1820
nat = ipns.ipn_next;
sys/netpfil/ipfilter/netinet/ip_nat.c
1821
if (nat == NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
1822
nat = softn->ipf_nat_instances;
sys/netpfil/ipfilter/netinet/ip_nat.c
1823
if (nat == NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
1837
if (n == nat)
sys/netpfil/ipfilter/netinet/ip_nat.c
1845
ipn->ipn_next = nat->nat_next;
sys/netpfil/ipfilter/netinet/ip_nat.c
1850
bcopy((char *)nat, &ipn->ipn_nat, sizeof(*nat));
sys/netpfil/ipfilter/netinet/ip_nat.c
1855
if (nat->nat_ptr != NULL)
sys/netpfil/ipfilter/netinet/ip_nat.c
1856
bcopy((char *)nat->nat_ptr, (char *)&ipn->ipn_ipnat,
sys/netpfil/ipfilter/netinet/ip_nat.c
1857
sizeof(nat->nat_ptr));
sys/netpfil/ipfilter/netinet/ip_nat.c
1863
if (nat->nat_fr != NULL)
sys/netpfil/ipfilter/netinet/ip_nat.c
1864
bcopy((char *)nat->nat_fr, (char *)&ipn->ipn_fr,
sys/netpfil/ipfilter/netinet/ip_nat.c
1872
aps = nat->nat_aps;
sys/netpfil/ipfilter/netinet/ip_nat.c
1929
nat_t *n, *nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
1945
nat = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
1975
KMALLOC(nat, nat_t *);
sys/netpfil/ipfilter/netinet/ip_nat.c
1976
if (nat == NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
1982
bcopy((char *)&ipnn->ipn_nat, (char *)nat, sizeof(*nat));
sys/netpfil/ipfilter/netinet/ip_nat.c
1984
switch (nat->nat_v[0])
sys/netpfil/ipfilter/netinet/ip_nat.c
2001
bzero((char *)nat, offsetof(struct nat, nat_tqe));
sys/netpfil/ipfilter/netinet/ip_nat.c
2002
nat->nat_tqe.tqe_pnext = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
2003
nat->nat_tqe.tqe_next = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
2004
nat->nat_tqe.tqe_ifq = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
2005
nat->nat_tqe.tqe_parent = nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
2013
nat->nat_ptr = in;
sys/netpfil/ipfilter/netinet/ip_nat.c
2042
fin.fin_v = nat->nat_v[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
2043
fin.fin_p = nat->nat_pr[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
2044
fin.fin_rev = nat->nat_rev;
sys/netpfil/ipfilter/netinet/ip_nat.c
2045
fin.fin_ifp = nat->nat_ifps[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
2046
fin.fin_data[0] = ntohs(nat->nat_ndport);
sys/netpfil/ipfilter/netinet/ip_nat.c
2047
fin.fin_data[1] = ntohs(nat->nat_nsport);
sys/netpfil/ipfilter/netinet/ip_nat.c
2049
switch (nat->nat_dir)
sys/netpfil/ipfilter/netinet/ip_nat.c
2057
fin.fin_v = nat->nat_v[1];
sys/netpfil/ipfilter/netinet/ip_nat.c
2058
if (nat->nat_v[1] == 4) {
sys/netpfil/ipfilter/netinet/ip_nat.c
2059
n = ipf_nat_inlookup(&fin, nat->nat_flags, fin.fin_p,
sys/netpfil/ipfilter/netinet/ip_nat.c
2060
nat->nat_ndstip, nat->nat_nsrcip);
sys/netpfil/ipfilter/netinet/ip_nat.c
2062
} else if (nat->nat_v[1] == 6) {
sys/netpfil/ipfilter/netinet/ip_nat.c
2063
n = ipf_nat6_inlookup(&fin, nat->nat_flags, fin.fin_p,
sys/netpfil/ipfilter/netinet/ip_nat.c
2064
&nat->nat_ndst6.in6,
sys/netpfil/ipfilter/netinet/ip_nat.c
2065
&nat->nat_nsrc6.in6);
sys/netpfil/ipfilter/netinet/ip_nat.c
2086
n = ipf_nat_outlookup(&fin, nat->nat_flags, fin.fin_p,
sys/netpfil/ipfilter/netinet/ip_nat.c
2087
nat->nat_ndstip,
sys/netpfil/ipfilter/netinet/ip_nat.c
2088
nat->nat_nsrcip);
sys/netpfil/ipfilter/netinet/ip_nat.c
2091
n = ipf_nat6_outlookup(&fin, nat->nat_flags, fin.fin_p,
sys/netpfil/ipfilter/netinet/ip_nat.c
2092
&nat->nat_ndst6.in6,
sys/netpfil/ipfilter/netinet/ip_nat.c
2093
&nat->nat_nsrc6.in6);
sys/netpfil/ipfilter/netinet/ip_nat.c
2117
aps = nat->nat_aps;
sys/netpfil/ipfilter/netinet/ip_nat.c
2120
nat->nat_aps = aps;
sys/netpfil/ipfilter/netinet/ip_nat.c
2155
fr = nat->nat_fr;
sys/netpfil/ipfilter/netinet/ip_nat.c
2157
if ((nat->nat_flags & SI_NEWFR) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
2159
nat->nat_fr = fr;
sys/netpfil/ipfilter/netinet/ip_nat.c
2212
error = ipf_nat_finalise(&fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
2215
error = ipf_nat6_finalise(&fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
2236
if (nat != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
2248
KFREE(nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
2267
ipf_nat_delete(ipf_main_softc_t *softc, struct nat *nat, int logtype)
sys/netpfil/ipfilter/netinet/ip_nat.c
2275
ipf_nat_log(softc, softn, nat, logtype);
sys/netpfil/ipfilter/netinet/ip_nat.c
2281
if (nat->nat_pnext != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
2284
bkt = nat->nat_hv[0] % softn->ipf_nat_table_sz;
sys/netpfil/ipfilter/netinet/ip_nat.c
2292
bkt = nat->nat_hv[1] % softn->ipf_nat_table_sz;
sys/netpfil/ipfilter/netinet/ip_nat.c
2300
*nat->nat_pnext = nat->nat_next;
sys/netpfil/ipfilter/netinet/ip_nat.c
2301
if (nat->nat_next != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
2302
nat->nat_next->nat_pnext = nat->nat_pnext;
sys/netpfil/ipfilter/netinet/ip_nat.c
2303
nat->nat_next = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
2305
nat->nat_pnext = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
2307
*nat->nat_phnext[0] = nat->nat_hnext[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
2308
if (nat->nat_hnext[0] != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
2309
nat->nat_hnext[0]->nat_phnext[0] = nat->nat_phnext[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
2310
nat->nat_hnext[0] = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
2312
nat->nat_phnext[0] = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
2314
*nat->nat_phnext[1] = nat->nat_hnext[1];
sys/netpfil/ipfilter/netinet/ip_nat.c
2315
if (nat->nat_hnext[1] != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
2316
nat->nat_hnext[1]->nat_phnext[1] = nat->nat_phnext[1];
sys/netpfil/ipfilter/netinet/ip_nat.c
2317
nat->nat_hnext[1] = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
2319
nat->nat_phnext[1] = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
2321
if ((nat->nat_flags & SI_WILDP) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
2327
if (nat->nat_me != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
2328
*nat->nat_me = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
2329
nat->nat_me = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
2330
nat->nat_ref--;
sys/netpfil/ipfilter/netinet/ip_nat.c
2331
ASSERT(nat->nat_ref >= 0);
sys/netpfil/ipfilter/netinet/ip_nat.c
2334
if (nat->nat_tqe.tqe_ifq != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
2339
(void) ipf_deletequeueentry(&nat->nat_tqe);
sys/netpfil/ipfilter/netinet/ip_nat.c
2342
if (nat->nat_sync) {
sys/netpfil/ipfilter/netinet/ip_nat.c
2343
ipf_sync_del_nat(softc->ipf_sync_soft, nat->nat_sync);
sys/netpfil/ipfilter/netinet/ip_nat.c
2344
nat->nat_sync = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
2350
MUTEX_ENTER(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_nat.c
2357
if (nat->nat_ref > 2) {
sys/netpfil/ipfilter/netinet/ip_nat.c
2358
nat->nat_ref -= 2;
sys/netpfil/ipfilter/netinet/ip_nat.c
2359
MUTEX_EXIT(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_nat.c
2364
} else if (nat->nat_ref > 1) {
sys/netpfil/ipfilter/netinet/ip_nat.c
2365
nat->nat_ref--;
sys/netpfil/ipfilter/netinet/ip_nat.c
2366
MUTEX_EXIT(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_nat.c
2371
ASSERT(nat->nat_ref >= 0);
sys/netpfil/ipfilter/netinet/ip_nat.c
2372
MUTEX_EXIT(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_nat.c
2374
nat->nat_ref = 0;
sys/netpfil/ipfilter/netinet/ip_nat.c
2382
softn->ipf_nat_stats.ns_proto[nat->nat_pr[0]]--;
sys/netpfil/ipfilter/netinet/ip_nat.c
2384
if (nat->nat_fr != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
2385
(void) ipf_derefrule(softc, &nat->nat_fr);
sys/netpfil/ipfilter/netinet/ip_nat.c
2388
if (nat->nat_hm != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
2389
ipf_nat_hostmapdel(softc, &nat->nat_hm);
sys/netpfil/ipfilter/netinet/ip_nat.c
2397
ipn = nat->nat_ptr;
sys/netpfil/ipfilter/netinet/ip_nat.c
2398
nat->nat_ptr = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
2405
if (nat->nat_aps != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
2406
ipf_proxy_free(softc, nat->nat_aps);
sys/netpfil/ipfilter/netinet/ip_nat.c
2407
nat->nat_aps = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
2410
MUTEX_DESTROY(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_nat.c
2419
ipf_frag_natforget(softc, (void *)nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
2421
KFREE(nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
2442
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
2458
while ((nat = softn->ipf_nat_instances) != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
2459
ipf_nat_delete(softc, nat, NL_FLUSH);
sys/netpfil/ipfilter/netinet/ip_nat.c
2534
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
2536
for (next = softn->ipf_nat_instances; (nat = next) != NULL;) {
sys/netpfil/ipfilter/netinet/ip_nat.c
2537
next = nat->nat_next;
sys/netpfil/ipfilter/netinet/ip_nat.c
2538
if (nat->nat_ptr == np)
sys/netpfil/ipfilter/netinet/ip_nat.c
2539
ipf_nat_delete(softc, nat, NL_PURGE);
sys/netpfil/ipfilter/netinet/ip_nat.c
2591
ipf_nat_newmap(fr_info_t *fin, nat_t *nat, natinfo_t *ni)
sys/netpfil/ipfilter/netinet/ip_nat.c
2613
flags = nat->nat_flags;
sys/netpfil/ipfilter/netinet/ip_nat.c
2645
nat->nat_hm = hm;
sys/netpfil/ipfilter/netinet/ip_nat.c
2650
DT4(ns_exhausted_1, fr_info_t *, fin, nat_t *, nat, natinfo_t *, ni, ipnat_t *, np);
sys/netpfil/ipfilter/netinet/ip_nat.c
2668
DT4(ns_exhausted_2, fr_info_t *, fin, nat_t *, nat, natinfo_t *, ni, ipnat_t *, np);
sys/netpfil/ipfilter/netinet/ip_nat.c
2704
DT4(ns_new_ifpaddr_1, fr_info_t *, fin, nat_t *, nat, natinfo_t *, ni, ipnat_t *, np);
sys/netpfil/ipfilter/netinet/ip_nat.c
2715
DT4(ns_exhausted_3, fr_info_t *, fin, nat_t *, nat, natinfo_t *, ni, ipnat_t *, np);
sys/netpfil/ipfilter/netinet/ip_nat.c
2811
DT4(ns_wrap, fr_info_t *, fin, nat_t *, nat, natinfo_t *, ni, ipnat_t *, np);
sys/netpfil/ipfilter/netinet/ip_nat.c
2818
nat->nat_osrcip = fin->fin_src;
sys/netpfil/ipfilter/netinet/ip_nat.c
2819
nat->nat_nsrcaddr = htonl(in.s_addr);
sys/netpfil/ipfilter/netinet/ip_nat.c
2820
nat->nat_odstip = fin->fin_dst;
sys/netpfil/ipfilter/netinet/ip_nat.c
2821
nat->nat_ndstip = fin->fin_dst;
sys/netpfil/ipfilter/netinet/ip_nat.c
2822
if (nat->nat_hm == NULL)
sys/netpfil/ipfilter/netinet/ip_nat.c
2823
nat->nat_hm = ipf_nat_hostmap(softn, np, fin->fin_src,
sys/netpfil/ipfilter/netinet/ip_nat.c
2824
fin->fin_dst, nat->nat_nsrcip,
sys/netpfil/ipfilter/netinet/ip_nat.c
2828
nat->nat_osport = sport;
sys/netpfil/ipfilter/netinet/ip_nat.c
2829
nat->nat_nsport = port; /* sport */
sys/netpfil/ipfilter/netinet/ip_nat.c
2830
nat->nat_odport = dport;
sys/netpfil/ipfilter/netinet/ip_nat.c
2831
nat->nat_ndport = dport;
sys/netpfil/ipfilter/netinet/ip_nat.c
2834
nat->nat_oicmpid = fin->fin_data[1];
sys/netpfil/ipfilter/netinet/ip_nat.c
2836
nat->nat_nicmpid = port;
sys/netpfil/ipfilter/netinet/ip_nat.c
2855
ipf_nat_newrdr(fr_info_t *fin, nat_t *nat, natinfo_t *ni)
sys/netpfil/ipfilter/netinet/ip_nat.c
2872
flags = nat->nat_flags;
sys/netpfil/ipfilter/netinet/ip_nat.c
2944
DT3(ns_new_ifpaddr_2, fr_info_t *, fin, nat_t *, nat, natinfo_t, ni);
sys/netpfil/ipfilter/netinet/ip_nat.c
3020
nat->nat_ndstaddr = htonl(in.s_addr);
sys/netpfil/ipfilter/netinet/ip_nat.c
3021
nat->nat_odstip = fin->fin_dst;
sys/netpfil/ipfilter/netinet/ip_nat.c
3022
nat->nat_nsrcip = fin->fin_src;
sys/netpfil/ipfilter/netinet/ip_nat.c
3023
nat->nat_osrcip = fin->fin_src;
sys/netpfil/ipfilter/netinet/ip_nat.c
3024
if ((nat->nat_hm == NULL) && ((np->in_flags & IPN_STICKY) != 0))
sys/netpfil/ipfilter/netinet/ip_nat.c
3025
nat->nat_hm = ipf_nat_hostmap(softn, np, fin->fin_src,
sys/netpfil/ipfilter/netinet/ip_nat.c
3029
nat->nat_odport = dport;
sys/netpfil/ipfilter/netinet/ip_nat.c
3030
nat->nat_ndport = nport;
sys/netpfil/ipfilter/netinet/ip_nat.c
3031
nat->nat_osport = sport;
sys/netpfil/ipfilter/netinet/ip_nat.c
3032
nat->nat_nsport = sport;
sys/netpfil/ipfilter/netinet/ip_nat.c
3035
nat->nat_oicmpid = fin->fin_data[1];
sys/netpfil/ipfilter/netinet/ip_nat.c
3037
nat->nat_nicmpid = nport;
sys/netpfil/ipfilter/netinet/ip_nat.c
3072
nat_t *nat, *natl;
sys/netpfil/ipfilter/netinet/ip_nat.c
3100
KMALLOC(nat, nat_t *);
sys/netpfil/ipfilter/netinet/ip_nat.c
3101
if (nat == NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
3137
bzero((char *)nat, sizeof(*nat));
sys/netpfil/ipfilter/netinet/ip_nat.c
3138
nat->nat_flags = flags;
sys/netpfil/ipfilter/netinet/ip_nat.c
3139
nat->nat_redir = np->in_redir;
sys/netpfil/ipfilter/netinet/ip_nat.c
3140
nat->nat_dir = direction;
sys/netpfil/ipfilter/netinet/ip_nat.c
3141
nat->nat_pr[0] = fin->fin_p;
sys/netpfil/ipfilter/netinet/ip_nat.c
3142
nat->nat_pr[1] = fin->fin_p;
sys/netpfil/ipfilter/netinet/ip_nat.c
3149
move = ipf_nat_newdivert(fin, nat, &ni);
sys/netpfil/ipfilter/netinet/ip_nat.c
3152
move = ipf_nat_newrewrite(fin, nat, &ni);
sys/netpfil/ipfilter/netinet/ip_nat.c
3163
KFREE(nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
3164
nat = natl;
sys/netpfil/ipfilter/netinet/ip_nat.c
3168
move = ipf_nat_newmap(fin, nat, &ni);
sys/netpfil/ipfilter/netinet/ip_nat.c
3176
KFREE(nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
3177
nat = natl;
sys/netpfil/ipfilter/netinet/ip_nat.c
3181
move = ipf_nat_newrdr(fin, nat, &ni);
sys/netpfil/ipfilter/netinet/ip_nat.c
3188
nat->nat_mssclamp = np->in_mssclamp;
sys/netpfil/ipfilter/netinet/ip_nat.c
3189
nat->nat_me = natsave;
sys/netpfil/ipfilter/netinet/ip_nat.c
3190
nat->nat_fr = fin->fin_fr;
sys/netpfil/ipfilter/netinet/ip_nat.c
3191
nat->nat_rev = fin->fin_rev;
sys/netpfil/ipfilter/netinet/ip_nat.c
3192
nat->nat_ptr = np;
sys/netpfil/ipfilter/netinet/ip_nat.c
3193
nat->nat_dlocal = np->in_dlocal;
sys/netpfil/ipfilter/netinet/ip_nat.c
3195
if ((np->in_apr != NULL) && ((nat->nat_flags & NAT_SLAVE) == 0)) {
sys/netpfil/ipfilter/netinet/ip_nat.c
3196
if (ipf_proxy_new(fin, nat) == -1) {
sys/netpfil/ipfilter/netinet/ip_nat.c
3198
DT3(ns_appr_fail, fr_info_t *, fin, nat_t *, nat, ipnat_t *, np);
sys/netpfil/ipfilter/netinet/ip_nat.c
3203
nat->nat_ifps[0] = np->in_ifps[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
3205
COPYIFNAME(np->in_v[0], np->in_ifps[0], nat->nat_ifnames[0]);
sys/netpfil/ipfilter/netinet/ip_nat.c
3208
nat->nat_ifps[1] = np->in_ifps[1];
sys/netpfil/ipfilter/netinet/ip_nat.c
3210
COPYIFNAME(np->in_v[1], np->in_ifps[1], nat->nat_ifnames[1]);
sys/netpfil/ipfilter/netinet/ip_nat.c
3213
if (ipf_nat_finalise(fin, nat) == -1) {
sys/netpfil/ipfilter/netinet/ip_nat.c
3231
nsp->ns_proto[nat->nat_pr[0]]++;
sys/netpfil/ipfilter/netinet/ip_nat.c
3235
DT3(ns_badnatnew, fr_info_t *, fin, nat_t *, nat, ipnat_t *, np);
sys/netpfil/ipfilter/netinet/ip_nat.c
3237
if ((hm = nat->nat_hm) != NULL)
sys/netpfil/ipfilter/netinet/ip_nat.c
3239
KFREE(nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
3240
nat = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
3242
if (nat != NULL && np != NULL)
sys/netpfil/ipfilter/netinet/ip_nat.c
3245
*natsave = nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
3246
return (nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
3262
ipf_nat_finalise(fr_info_t *fin, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_nat.c
3272
switch (nat->nat_pr[0])
sys/netpfil/ipfilter/netinet/ip_nat.c
3275
sum1 = LONG_SUM(ntohs(nat->nat_oicmpid));
sys/netpfil/ipfilter/netinet/ip_nat.c
3276
sum2 = LONG_SUM(ntohs(nat->nat_nicmpid));
sys/netpfil/ipfilter/netinet/ip_nat.c
3278
nat->nat_sumd[0] = (sumd & 0xffff) + (sumd >> 16);
sys/netpfil/ipfilter/netinet/ip_nat.c
3283
sum1 = LONG_SUM(ntohl(nat->nat_osrcaddr) + \
sys/netpfil/ipfilter/netinet/ip_nat.c
3284
ntohs(nat->nat_osport));
sys/netpfil/ipfilter/netinet/ip_nat.c
3285
sum2 = LONG_SUM(ntohl(nat->nat_nsrcaddr) + \
sys/netpfil/ipfilter/netinet/ip_nat.c
3286
ntohs(nat->nat_nsport));
sys/netpfil/ipfilter/netinet/ip_nat.c
3288
nat->nat_sumd[0] = (sumd & 0xffff) + (sumd >> 16);
sys/netpfil/ipfilter/netinet/ip_nat.c
3290
sum1 = LONG_SUM(ntohl(nat->nat_odstaddr) + \
sys/netpfil/ipfilter/netinet/ip_nat.c
3291
ntohs(nat->nat_odport));
sys/netpfil/ipfilter/netinet/ip_nat.c
3292
sum2 = LONG_SUM(ntohl(nat->nat_ndstaddr) + \
sys/netpfil/ipfilter/netinet/ip_nat.c
3293
ntohs(nat->nat_ndport));
sys/netpfil/ipfilter/netinet/ip_nat.c
3295
nat->nat_sumd[0] += (sumd & 0xffff) + (sumd >> 16);
sys/netpfil/ipfilter/netinet/ip_nat.c
3304
if (nat->nat_dir == NAT_OUTBOUND) {
sys/netpfil/ipfilter/netinet/ip_nat.c
3305
sum1 = LONG_SUM(ntohl(nat->nat_nsrcaddr));
sys/netpfil/ipfilter/netinet/ip_nat.c
3306
sum1 += LONG_SUM(ntohl(nat->nat_ndstaddr));
sys/netpfil/ipfilter/netinet/ip_nat.c
3308
sum1 = LONG_SUM(ntohl(nat->nat_osrcaddr));
sys/netpfil/ipfilter/netinet/ip_nat.c
3309
sum1 += LONG_SUM(ntohl(nat->nat_odstaddr));
sys/netpfil/ipfilter/netinet/ip_nat.c
3311
sum1 += nat->nat_pr[1];
sys/netpfil/ipfilter/netinet/ip_nat.c
3312
nat->nat_sumd[1] = (sum1 & 0xffff) + (sum1 >> 16);
sys/netpfil/ipfilter/netinet/ip_nat.c
3314
sum1 = LONG_SUM(ntohl(nat->nat_osrcaddr));
sys/netpfil/ipfilter/netinet/ip_nat.c
3315
sum2 = LONG_SUM(ntohl(nat->nat_nsrcaddr));
sys/netpfil/ipfilter/netinet/ip_nat.c
3317
nat->nat_ipsumd = (sumd & 0xffff) + (sumd >> 16);
sys/netpfil/ipfilter/netinet/ip_nat.c
3319
sum1 = LONG_SUM(ntohl(nat->nat_odstaddr));
sys/netpfil/ipfilter/netinet/ip_nat.c
3320
sum2 = LONG_SUM(ntohl(nat->nat_ndstaddr));
sys/netpfil/ipfilter/netinet/ip_nat.c
3322
nat->nat_ipsumd += (sumd & 0xffff) + (sumd >> 16);
sys/netpfil/ipfilter/netinet/ip_nat.c
3324
nat->nat_v[0] = 4;
sys/netpfil/ipfilter/netinet/ip_nat.c
3325
nat->nat_v[1] = 4;
sys/netpfil/ipfilter/netinet/ip_nat.c
3327
if ((nat->nat_ifps[0] != NULL) && (nat->nat_ifps[0] != (void *)-1)) {
sys/netpfil/ipfilter/netinet/ip_nat.c
3328
nat->nat_mtu[0] = GETIFMTU_4(nat->nat_ifps[0]);
sys/netpfil/ipfilter/netinet/ip_nat.c
3331
if ((nat->nat_ifps[1] != NULL) && (nat->nat_ifps[1] != (void *)-1)) {
sys/netpfil/ipfilter/netinet/ip_nat.c
3332
nat->nat_mtu[1] = GETIFMTU_4(nat->nat_ifps[1]);
sys/netpfil/ipfilter/netinet/ip_nat.c
3335
if ((nat->nat_flags & SI_CLONE) == 0)
sys/netpfil/ipfilter/netinet/ip_nat.c
3336
nat->nat_sync = ipf_sync_new(softc, SMC_NAT, fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
3338
if (ipf_nat_insert(softc, softn, nat) == 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
3340
ipf_nat_log(softc, softn, nat, NL_NEW);
sys/netpfil/ipfilter/netinet/ip_nat.c
3341
fr = nat->nat_fr;
sys/netpfil/ipfilter/netinet/ip_nat.c
3351
DT2(ns_unfinalised, fr_info_t *, fin, nat_t *, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
3355
if (nat->nat_sync != NULL)
sys/netpfil/ipfilter/netinet/ip_nat.c
3356
ipf_sync_del_nat(softc->ipf_sync_soft, nat->nat_sync);
sys/netpfil/ipfilter/netinet/ip_nat.c
3373
ipf_nat_insert(ipf_main_softc_t *softc, ipf_nat_softc_t *softn, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_nat.c
3384
if ((nat->nat_flags & (SI_W_SPORT|SI_W_DPORT)) == 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
3385
if ((nat->nat_flags & IPN_TCPUDP) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
3386
sp = nat->nat_osport;
sys/netpfil/ipfilter/netinet/ip_nat.c
3387
dp = nat->nat_odport;
sys/netpfil/ipfilter/netinet/ip_nat.c
3388
} else if ((nat->nat_flags & IPN_ICMPQUERY) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
3390
dp = nat->nat_oicmpid;
sys/netpfil/ipfilter/netinet/ip_nat.c
3395
hv0 = NAT_HASH_FN(nat->nat_osrcaddr, sp, 0xffffffff);
sys/netpfil/ipfilter/netinet/ip_nat.c
3396
hv0 = NAT_HASH_FN(nat->nat_odstaddr, hv0 + dp, 0xffffffff);
sys/netpfil/ipfilter/netinet/ip_nat.c
3402
if ((nat->nat_flags & IPN_TCPUDP) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
3403
sp = nat->nat_nsport;
sys/netpfil/ipfilter/netinet/ip_nat.c
3404
dp = nat->nat_ndport;
sys/netpfil/ipfilter/netinet/ip_nat.c
3405
} else if ((nat->nat_flags & IPN_ICMPQUERY) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
3407
dp = nat->nat_nicmpid;
sys/netpfil/ipfilter/netinet/ip_nat.c
3412
hv1 = NAT_HASH_FN(nat->nat_nsrcaddr, sp, 0xffffffff);
sys/netpfil/ipfilter/netinet/ip_nat.c
3413
hv1 = NAT_HASH_FN(nat->nat_ndstaddr, hv1 + dp, 0xffffffff);
sys/netpfil/ipfilter/netinet/ip_nat.c
3419
hv0 = NAT_HASH_FN(nat->nat_osrcaddr, 0, 0xffffffff);
sys/netpfil/ipfilter/netinet/ip_nat.c
3420
hv0 = NAT_HASH_FN(nat->nat_odstaddr, hv0, 0xffffffff);
sys/netpfil/ipfilter/netinet/ip_nat.c
3423
hv1 = NAT_HASH_FN(nat->nat_nsrcaddr, 0, 0xffffffff);
sys/netpfil/ipfilter/netinet/ip_nat.c
3424
hv1 = NAT_HASH_FN(nat->nat_ndstaddr, hv1, 0xffffffff);
sys/netpfil/ipfilter/netinet/ip_nat.c
3428
nat->nat_hv[0] = hv0;
sys/netpfil/ipfilter/netinet/ip_nat.c
3429
nat->nat_hv[1] = hv1;
sys/netpfil/ipfilter/netinet/ip_nat.c
3431
MUTEX_INIT(&nat->nat_lock, "nat entry lock");
sys/netpfil/ipfilter/netinet/ip_nat.c
3433
in = nat->nat_ptr;
sys/netpfil/ipfilter/netinet/ip_nat.c
3434
nat->nat_ref = nat->nat_me ? 2 : 1;
sys/netpfil/ipfilter/netinet/ip_nat.c
3436
nat->nat_ifnames[0][LIFNAMSIZ - 1] = '\0';
sys/netpfil/ipfilter/netinet/ip_nat.c
3437
nat->nat_ifps[0] = ipf_resolvenic(softc, nat->nat_ifnames[0], 4);
sys/netpfil/ipfilter/netinet/ip_nat.c
3439
if (nat->nat_ifnames[1][0] != '\0') {
sys/netpfil/ipfilter/netinet/ip_nat.c
3440
nat->nat_ifnames[1][LIFNAMSIZ - 1] = '\0';
sys/netpfil/ipfilter/netinet/ip_nat.c
3441
nat->nat_ifps[1] = ipf_resolvenic(softc,
sys/netpfil/ipfilter/netinet/ip_nat.c
3442
nat->nat_ifnames[1], 4);
sys/netpfil/ipfilter/netinet/ip_nat.c
3448
(void) strncpy(nat->nat_ifnames[1],
sys/netpfil/ipfilter/netinet/ip_nat.c
3449
nat->nat_ifnames[0], LIFNAMSIZ);
sys/netpfil/ipfilter/netinet/ip_nat.c
3450
nat->nat_ifnames[1][LIFNAMSIZ - 1] = '\0';
sys/netpfil/ipfilter/netinet/ip_nat.c
3451
nat->nat_ifps[1] = nat->nat_ifps[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
3454
if ((nat->nat_ifps[0] != NULL) && (nat->nat_ifps[0] != (void *)-1)) {
sys/netpfil/ipfilter/netinet/ip_nat.c
3455
nat->nat_mtu[0] = GETIFMTU_4(nat->nat_ifps[0]);
sys/netpfil/ipfilter/netinet/ip_nat.c
3457
if ((nat->nat_ifps[1] != NULL) && (nat->nat_ifps[1] != (void *)-1)) {
sys/netpfil/ipfilter/netinet/ip_nat.c
3458
nat->nat_mtu[1] = GETIFMTU_4(nat->nat_ifps[1]);
sys/netpfil/ipfilter/netinet/ip_nat.c
3461
ret = ipf_nat_hashtab_add(softc, softn, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
3463
MUTEX_DESTROY(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_nat.c
3479
nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_nat.c
3485
if (nat->nat_dir == NAT_INBOUND || nat->nat_dir == NAT_DIVERTIN) {
sys/netpfil/ipfilter/netinet/ip_nat.c
3486
hv1 = nat->nat_hv[0] % softn->ipf_nat_table_sz;
sys/netpfil/ipfilter/netinet/ip_nat.c
3487
hv0 = nat->nat_hv[1] % softn->ipf_nat_table_sz;
sys/netpfil/ipfilter/netinet/ip_nat.c
3489
hv0 = nat->nat_hv[0] % softn->ipf_nat_table_sz;
sys/netpfil/ipfilter/netinet/ip_nat.c
3490
hv1 = nat->nat_hv[1] % softn->ipf_nat_table_sz;
sys/netpfil/ipfilter/netinet/ip_nat.c
3518
nat->nat_next = softn->ipf_nat_instances;
sys/netpfil/ipfilter/netinet/ip_nat.c
3519
nat->nat_pnext = &softn->ipf_nat_instances;
sys/netpfil/ipfilter/netinet/ip_nat.c
3521
softn->ipf_nat_instances->nat_pnext = &nat->nat_next;
sys/netpfil/ipfilter/netinet/ip_nat.c
3522
softn->ipf_nat_instances = nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
3528
nat->nat_phnext[0] = natp;
sys/netpfil/ipfilter/netinet/ip_nat.c
3529
nat->nat_hnext[0] = *natp;
sys/netpfil/ipfilter/netinet/ip_nat.c
3531
(*natp)->nat_phnext[0] = &nat->nat_hnext[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
3535
*natp = nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
3542
nat->nat_phnext[1] = natp;
sys/netpfil/ipfilter/netinet/ip_nat.c
3543
nat->nat_hnext[1] = *natp;
sys/netpfil/ipfilter/netinet/ip_nat.c
3545
(*natp)->nat_phnext[1] = &nat->nat_hnext[1];
sys/netpfil/ipfilter/netinet/ip_nat.c
3549
*natp = nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
3552
ipf_nat_setqueue(softc, softn, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
3554
if (nat->nat_dir & NAT_OUTBOUND) {
sys/netpfil/ipfilter/netinet/ip_nat.c
3584
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
3667
nat = ipf_nat_inlookup(fin, flags, p,
sys/netpfil/ipfilter/netinet/ip_nat.c
3671
nat = ipf_nat_outlookup(fin, flags, p,
sys/netpfil/ipfilter/netinet/ip_nat.c
3676
return (nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
3695
nat = ipf_nat_inlookup(fin, flags, p, oip->ip_dst,
sys/netpfil/ipfilter/netinet/ip_nat.c
3698
nat = ipf_nat_outlookup(fin, flags, p, oip->ip_dst,
sys/netpfil/ipfilter/netinet/ip_nat.c
3703
return (nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
3706
nat = ipf_nat_inlookup(fin, 0, p, oip->ip_dst, oip->ip_src);
sys/netpfil/ipfilter/netinet/ip_nat.c
3708
nat = ipf_nat_outlookup(fin, 0, p, oip->ip_dst, oip->ip_src);
sys/netpfil/ipfilter/netinet/ip_nat.c
3710
return (nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
3738
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
3750
if ((fin->fin_v != 4) || !(nat = ipf_nat_icmperrorlookup(fin, dir))) {
sys/netpfil/ipfilter/netinet/ip_nat.c
3848
if (((fin->fin_out == 0) && ((nat->nat_redir & NAT_MAP) != 0)) ||
sys/netpfil/ipfilter/netinet/ip_nat.c
3849
((fin->fin_out == 1) && ((nat->nat_redir & NAT_REDIRECT) != 0))) {
sys/netpfil/ipfilter/netinet/ip_nat.c
3850
a1.s_addr = ntohl(nat->nat_osrcaddr);
sys/netpfil/ipfilter/netinet/ip_nat.c
3852
a3.s_addr = ntohl(nat->nat_odstaddr);
sys/netpfil/ipfilter/netinet/ip_nat.c
3858
a1.s_addr = ntohl(nat->nat_ndstaddr);
sys/netpfil/ipfilter/netinet/ip_nat.c
3860
a3.s_addr = ntohl(nat->nat_nsrcaddr);
sys/netpfil/ipfilter/netinet/ip_nat.c
3900
sum1 = ntohs(nat->nat_osport);
sys/netpfil/ipfilter/netinet/ip_nat.c
3902
sum3 = ntohs(nat->nat_odport);
sys/netpfil/ipfilter/netinet/ip_nat.c
3908
sum1 = ntohs(nat->nat_ndport);
sys/netpfil/ipfilter/netinet/ip_nat.c
3910
sum3 = ntohs(nat->nat_nsport);
sys/netpfil/ipfilter/netinet/ip_nat.c
3971
if (orgicmp->icmp_id != nat->nat_osport) {
sys/netpfil/ipfilter/netinet/ip_nat.c
3986
sum2 = ntohs(nat->nat_oicmpid);
sys/netpfil/ipfilter/netinet/ip_nat.c
3988
orgicmp->icmp_id = nat->nat_oicmpid;
sys/netpfil/ipfilter/netinet/ip_nat.c
3993
return (nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
4039
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
4072
nat = softn->ipf_nat_table[1][hv];
sys/netpfil/ipfilter/netinet/ip_nat.c
4075
for (; nat; nat = nat->nat_hnext[1]) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4076
if (nat->nat_ifps[0] != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4077
if ((ifp != NULL) && (ifp != nat->nat_ifps[0]))
sys/netpfil/ipfilter/netinet/ip_nat.c
4081
if (nat->nat_pr[0] != p)
sys/netpfil/ipfilter/netinet/ip_nat.c
4084
switch (nat->nat_dir)
sys/netpfil/ipfilter/netinet/ip_nat.c
4088
if (nat->nat_v[0] != 4)
sys/netpfil/ipfilter/netinet/ip_nat.c
4090
if (nat->nat_osrcaddr != src.s_addr ||
sys/netpfil/ipfilter/netinet/ip_nat.c
4091
nat->nat_odstaddr != dst)
sys/netpfil/ipfilter/netinet/ip_nat.c
4093
if ((nat->nat_flags & IPN_TCPUDP) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4094
if (nat->nat_osport != sport)
sys/netpfil/ipfilter/netinet/ip_nat.c
4096
if (nat->nat_odport != dport)
sys/netpfil/ipfilter/netinet/ip_nat.c
4100
if (nat->nat_osport != dport) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4106
if (nat->nat_dlocal)
sys/netpfil/ipfilter/netinet/ip_nat.c
4109
if (nat->nat_v[1] != 4)
sys/netpfil/ipfilter/netinet/ip_nat.c
4111
if (nat->nat_dlocal)
sys/netpfil/ipfilter/netinet/ip_nat.c
4113
if (nat->nat_dlocal)
sys/netpfil/ipfilter/netinet/ip_nat.c
4115
if (nat->nat_ndstaddr != src.s_addr ||
sys/netpfil/ipfilter/netinet/ip_nat.c
4116
nat->nat_nsrcaddr != dst)
sys/netpfil/ipfilter/netinet/ip_nat.c
4118
if ((nat->nat_flags & IPN_TCPUDP) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4119
if (nat->nat_ndport != sport)
sys/netpfil/ipfilter/netinet/ip_nat.c
4121
if (nat->nat_nsport != dport)
sys/netpfil/ipfilter/netinet/ip_nat.c
4125
if (nat->nat_osport != dport) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4133
if ((nat->nat_flags & IPN_TCPUDP) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4134
ipn = nat->nat_ptr;
sys/netpfil/ipfilter/netinet/ip_nat.c
4135
if ((ipn != NULL) && (nat->nat_aps != NULL))
sys/netpfil/ipfilter/netinet/ip_nat.c
4136
if (ipf_proxy_match(fin, nat) != 0)
sys/netpfil/ipfilter/netinet/ip_nat.c
4139
if ((nat->nat_ifps[0] == NULL) && (ifp != NULL)) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4140
nat->nat_ifps[0] = ifp;
sys/netpfil/ipfilter/netinet/ip_nat.c
4141
nat->nat_mtu[0] = GETIFMTU_4(ifp);
sys/netpfil/ipfilter/netinet/ip_nat.c
4143
return (nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
4169
nat = softn->ipf_nat_table[1][hv];
sys/netpfil/ipfilter/netinet/ip_nat.c
4171
for (; nat; nat = nat->nat_hnext[1]) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4172
if (nat->nat_ifps[0] != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4173
if ((ifp != NULL) && (ifp != nat->nat_ifps[0]))
sys/netpfil/ipfilter/netinet/ip_nat.c
4177
if (nat->nat_pr[0] != fin->fin_p)
sys/netpfil/ipfilter/netinet/ip_nat.c
4180
switch (nat->nat_dir & (NAT_INBOUND|NAT_OUTBOUND))
sys/netpfil/ipfilter/netinet/ip_nat.c
4183
if (nat->nat_v[0] != 4)
sys/netpfil/ipfilter/netinet/ip_nat.c
4185
if (nat->nat_osrcaddr != src.s_addr ||
sys/netpfil/ipfilter/netinet/ip_nat.c
4186
nat->nat_odstaddr != dst)
sys/netpfil/ipfilter/netinet/ip_nat.c
4190
if (nat->nat_v[1] != 4)
sys/netpfil/ipfilter/netinet/ip_nat.c
4192
if (nat->nat_ndstaddr != src.s_addr ||
sys/netpfil/ipfilter/netinet/ip_nat.c
4193
nat->nat_nsrcaddr != dst)
sys/netpfil/ipfilter/netinet/ip_nat.c
4198
nflags = nat->nat_flags;
sys/netpfil/ipfilter/netinet/ip_nat.c
4202
if (ipf_nat_wildok(nat, (int)sport, (int)dport, nflags,
sys/netpfil/ipfilter/netinet/ip_nat.c
4207
nat = ipf_nat_clone(fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
4208
if (nat == NULL)
sys/netpfil/ipfilter/netinet/ip_nat.c
4216
if (nat->nat_dir == NAT_INBOUND) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4217
if (nat->nat_osport == 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4218
nat->nat_osport = sport;
sys/netpfil/ipfilter/netinet/ip_nat.c
4219
nat->nat_nsport = sport;
sys/netpfil/ipfilter/netinet/ip_nat.c
4221
if (nat->nat_odport == 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4222
nat->nat_odport = dport;
sys/netpfil/ipfilter/netinet/ip_nat.c
4223
nat->nat_ndport = dport;
sys/netpfil/ipfilter/netinet/ip_nat.c
4225
} else if (nat->nat_dir == NAT_OUTBOUND) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4226
if (nat->nat_osport == 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4227
nat->nat_osport = dport;
sys/netpfil/ipfilter/netinet/ip_nat.c
4228
nat->nat_nsport = dport;
sys/netpfil/ipfilter/netinet/ip_nat.c
4230
if (nat->nat_odport == 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4231
nat->nat_odport = sport;
sys/netpfil/ipfilter/netinet/ip_nat.c
4232
nat->nat_ndport = sport;
sys/netpfil/ipfilter/netinet/ip_nat.c
4235
if ((nat->nat_ifps[0] == NULL) && (ifp != NULL)) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4236
nat->nat_ifps[0] = ifp;
sys/netpfil/ipfilter/netinet/ip_nat.c
4237
nat->nat_mtu[0] = GETIFMTU_4(ifp);
sys/netpfil/ipfilter/netinet/ip_nat.c
4239
nat->nat_flags &= ~(SI_W_DPORT|SI_W_SPORT);
sys/netpfil/ipfilter/netinet/ip_nat.c
4240
ipf_nat_tabmove(softn, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
4247
if (nat == NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4250
return (nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
4266
ipf_nat_tabmove(ipf_nat_softc_t *softn, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_nat.c
4272
if (nat->nat_flags & SI_CLONE)
sys/netpfil/ipfilter/netinet/ip_nat.c
4279
if (nat->nat_hnext[0])
sys/netpfil/ipfilter/netinet/ip_nat.c
4280
nat->nat_hnext[0]->nat_phnext[0] = nat->nat_phnext[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
4281
*nat->nat_phnext[0] = nat->nat_hnext[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
4282
nsp->ns_side[0].ns_bucketlen[nat->nat_hv[0] %
sys/netpfil/ipfilter/netinet/ip_nat.c
4285
if (nat->nat_hnext[1])
sys/netpfil/ipfilter/netinet/ip_nat.c
4286
nat->nat_hnext[1]->nat_phnext[1] = nat->nat_phnext[1];
sys/netpfil/ipfilter/netinet/ip_nat.c
4287
*nat->nat_phnext[1] = nat->nat_hnext[1];
sys/netpfil/ipfilter/netinet/ip_nat.c
4288
nsp->ns_side[1].ns_bucketlen[nat->nat_hv[1] %
sys/netpfil/ipfilter/netinet/ip_nat.c
4294
rhv0 = NAT_HASH_FN(nat->nat_osrcaddr, nat->nat_osport, 0xffffffff);
sys/netpfil/ipfilter/netinet/ip_nat.c
4295
rhv0 = NAT_HASH_FN(nat->nat_odstaddr, rhv0 + nat->nat_odport,
sys/netpfil/ipfilter/netinet/ip_nat.c
4297
rhv1 = NAT_HASH_FN(nat->nat_nsrcaddr, nat->nat_nsport, 0xffffffff);
sys/netpfil/ipfilter/netinet/ip_nat.c
4298
rhv1 = NAT_HASH_FN(nat->nat_ndstaddr, rhv1 + nat->nat_ndport,
sys/netpfil/ipfilter/netinet/ip_nat.c
4304
if (nat->nat_dir == NAT_INBOUND || nat->nat_dir == NAT_DIVERTIN) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4315
nat->nat_hv[0] = rhv0;
sys/netpfil/ipfilter/netinet/ip_nat.c
4318
(*natp)->nat_phnext[0] = &nat->nat_hnext[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
4319
nat->nat_phnext[0] = natp;
sys/netpfil/ipfilter/netinet/ip_nat.c
4320
nat->nat_hnext[0] = *natp;
sys/netpfil/ipfilter/netinet/ip_nat.c
4321
*natp = nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
4324
nat->nat_hv[1] = rhv1;
sys/netpfil/ipfilter/netinet/ip_nat.c
4327
(*natp)->nat_phnext[1] = &nat->nat_hnext[1];
sys/netpfil/ipfilter/netinet/ip_nat.c
4328
nat->nat_phnext[1] = natp;
sys/netpfil/ipfilter/netinet/ip_nat.c
4329
nat->nat_hnext[1] = *natp;
sys/netpfil/ipfilter/netinet/ip_nat.c
4330
*natp = nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
4366
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
4394
nat = softn->ipf_nat_table[0][hv];
sys/netpfil/ipfilter/netinet/ip_nat.c
4398
for (; nat; nat = nat->nat_hnext[0]) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4399
if (nat->nat_ifps[1] != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4400
if ((ifp != NULL) && (ifp != nat->nat_ifps[1]))
sys/netpfil/ipfilter/netinet/ip_nat.c
4404
if (nat->nat_pr[1] != p)
sys/netpfil/ipfilter/netinet/ip_nat.c
4407
switch (nat->nat_dir)
sys/netpfil/ipfilter/netinet/ip_nat.c
4411
if (nat->nat_v[1] != 4)
sys/netpfil/ipfilter/netinet/ip_nat.c
4413
if (nat->nat_ndstaddr != src.s_addr ||
sys/netpfil/ipfilter/netinet/ip_nat.c
4414
nat->nat_nsrcaddr != dst.s_addr)
sys/netpfil/ipfilter/netinet/ip_nat.c
4417
if ((nat->nat_flags & IPN_TCPUDP) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4418
if (nat->nat_ndport != sport)
sys/netpfil/ipfilter/netinet/ip_nat.c
4420
if (nat->nat_nsport != dport)
sys/netpfil/ipfilter/netinet/ip_nat.c
4424
if (nat->nat_osport != dport) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4431
if (nat->nat_v[0] != 4)
sys/netpfil/ipfilter/netinet/ip_nat.c
4433
if (nat->nat_osrcaddr != src.s_addr ||
sys/netpfil/ipfilter/netinet/ip_nat.c
4434
nat->nat_odstaddr != dst.s_addr)
sys/netpfil/ipfilter/netinet/ip_nat.c
4437
if ((nat->nat_flags & IPN_TCPUDP) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4438
if (nat->nat_odport != dport)
sys/netpfil/ipfilter/netinet/ip_nat.c
4440
if (nat->nat_osport != sport)
sys/netpfil/ipfilter/netinet/ip_nat.c
4444
if (nat->nat_osport != dport) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4451
ipn = nat->nat_ptr;
sys/netpfil/ipfilter/netinet/ip_nat.c
4452
if ((ipn != NULL) && (nat->nat_aps != NULL))
sys/netpfil/ipfilter/netinet/ip_nat.c
4453
if (ipf_proxy_match(fin, nat) != 0)
sys/netpfil/ipfilter/netinet/ip_nat.c
4456
if ((nat->nat_ifps[1] == NULL) && (ifp != NULL)) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4457
nat->nat_ifps[1] = ifp;
sys/netpfil/ipfilter/netinet/ip_nat.c
4458
nat->nat_mtu[1] = GETIFMTU_4(ifp);
sys/netpfil/ipfilter/netinet/ip_nat.c
4460
return (nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
4487
nat = softn->ipf_nat_table[0][hv];
sys/netpfil/ipfilter/netinet/ip_nat.c
4488
for (; nat; nat = nat->nat_hnext[0]) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4489
if (nat->nat_ifps[1] != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4490
if ((ifp != NULL) && (ifp != nat->nat_ifps[1]))
sys/netpfil/ipfilter/netinet/ip_nat.c
4494
if (nat->nat_pr[1] != fin->fin_p)
sys/netpfil/ipfilter/netinet/ip_nat.c
4497
switch (nat->nat_dir & (NAT_INBOUND|NAT_OUTBOUND))
sys/netpfil/ipfilter/netinet/ip_nat.c
4500
if (nat->nat_v[1] != 4)
sys/netpfil/ipfilter/netinet/ip_nat.c
4502
if (nat->nat_ndstaddr != src.s_addr ||
sys/netpfil/ipfilter/netinet/ip_nat.c
4503
nat->nat_nsrcaddr != dst.s_addr)
sys/netpfil/ipfilter/netinet/ip_nat.c
4507
if (nat->nat_v[0] != 4)
sys/netpfil/ipfilter/netinet/ip_nat.c
4509
if (nat->nat_osrcaddr != src.s_addr ||
sys/netpfil/ipfilter/netinet/ip_nat.c
4510
nat->nat_odstaddr != dst.s_addr)
sys/netpfil/ipfilter/netinet/ip_nat.c
4515
if (!(nat->nat_flags & (NAT_TCPUDP|SI_WILDP)))
sys/netpfil/ipfilter/netinet/ip_nat.c
4518
if (ipf_nat_wildok(nat, (int)sport, (int)dport, nat->nat_flags,
sys/netpfil/ipfilter/netinet/ip_nat.c
4522
if ((nat->nat_flags & SI_CLONE) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4523
nat = ipf_nat_clone(fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
4524
if (nat == NULL)
sys/netpfil/ipfilter/netinet/ip_nat.c
4532
if (nat->nat_dir == NAT_OUTBOUND) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4533
if (nat->nat_osport == 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4534
nat->nat_osport = sport;
sys/netpfil/ipfilter/netinet/ip_nat.c
4535
nat->nat_nsport = sport;
sys/netpfil/ipfilter/netinet/ip_nat.c
4537
if (nat->nat_odport == 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4538
nat->nat_odport = dport;
sys/netpfil/ipfilter/netinet/ip_nat.c
4539
nat->nat_ndport = dport;
sys/netpfil/ipfilter/netinet/ip_nat.c
4541
} else if (nat->nat_dir == NAT_INBOUND) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4542
if (nat->nat_osport == 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4543
nat->nat_osport = dport;
sys/netpfil/ipfilter/netinet/ip_nat.c
4544
nat->nat_nsport = dport;
sys/netpfil/ipfilter/netinet/ip_nat.c
4546
if (nat->nat_odport == 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4547
nat->nat_odport = sport;
sys/netpfil/ipfilter/netinet/ip_nat.c
4548
nat->nat_ndport = sport;
sys/netpfil/ipfilter/netinet/ip_nat.c
4551
if ((nat->nat_ifps[1] == NULL) && (ifp != NULL)) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4552
nat->nat_ifps[1] = ifp;
sys/netpfil/ipfilter/netinet/ip_nat.c
4553
nat->nat_mtu[1] = GETIFMTU_4(ifp);
sys/netpfil/ipfilter/netinet/ip_nat.c
4555
nat->nat_flags &= ~(SI_W_DPORT|SI_W_SPORT);
sys/netpfil/ipfilter/netinet/ip_nat.c
4556
ipf_nat_tabmove(softn, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
4563
if (nat == NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4566
return (nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
4593
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
4616
if ((nat = ipf_nat_inlookup(&fi, np->nl_flags, fi.fin_p,
sys/netpfil/ipfilter/netinet/ip_nat.c
4618
np->nl_inip = nat->nat_odstip;
sys/netpfil/ipfilter/netinet/ip_nat.c
4619
np->nl_inport = nat->nat_odport;
sys/netpfil/ipfilter/netinet/ip_nat.c
4626
if ((nat = ipf_nat_outlookup(&fi, np->nl_flags, fi.fin_p,
sys/netpfil/ipfilter/netinet/ip_nat.c
4632
fin.fin_p = nat->nat_pr[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
4633
fin.fin_data[0] = ntohs(nat->nat_ndport);
sys/netpfil/ipfilter/netinet/ip_nat.c
4634
fin.fin_data[1] = ntohs(nat->nat_nsport);
sys/netpfil/ipfilter/netinet/ip_nat.c
4636
fin.fin_p, nat->nat_ndstip,
sys/netpfil/ipfilter/netinet/ip_nat.c
4637
nat->nat_nsrcip) != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4642
np->nl_realip = nat->nat_odstip;
sys/netpfil/ipfilter/netinet/ip_nat.c
4643
np->nl_realport = nat->nat_odport;
sys/netpfil/ipfilter/netinet/ip_nat.c
4647
return (nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
4723
ipf_nat_update(fr_info_t *fin, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_nat.c
4729
ipnat_t *np = nat->nat_ptr;
sys/netpfil/ipfilter/netinet/ip_nat.c
4731
tqe = &nat->nat_tqe;
sys/netpfil/ipfilter/netinet/ip_nat.c
4746
if (nat->nat_pr[0] == IPPROTO_TCP && ifq2 == NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4747
(void) ipf_tcp_age(&nat->nat_tqe, fin, softn->ipf_nat_tcptq,
sys/netpfil/ipfilter/netinet/ip_nat.c
4751
if (nat->nat_pr[0] == IPPROTO_UDP)
sys/netpfil/ipfilter/netinet/ip_nat.c
4754
else if (nat->nat_pr[0] == IPPROTO_ICMP ||
sys/netpfil/ipfilter/netinet/ip_nat.c
4755
nat->nat_pr[0] == IPPROTO_ICMPV6)
sys/netpfil/ipfilter/netinet/ip_nat.c
4795
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
4854
(nat = ipf_nat_icmperror(fin, &nflags, NAT_OUTBOUND)))
sys/netpfil/ipfilter/netinet/ip_nat.c
4856
else if ((fin->fin_flx & FI_FRAG) && (nat = ipf_frag_natknown(fin)))
sys/netpfil/ipfilter/netinet/ip_nat.c
4858
else if ((nat = ipf_nat_outlookup(fin, nflags|NAT_SEARCH,
sys/netpfil/ipfilter/netinet/ip_nat.c
4861
nflags = nat->nat_flags;
sys/netpfil/ipfilter/netinet/ip_nat.c
4930
nat = ipf_nat_add(fin, np, NULL, nflags, NAT_OUTBOUND);
sys/netpfil/ipfilter/netinet/ip_nat.c
4932
if (nat != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4944
if (nat != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
4945
rval = ipf_nat_out(fin, nat, natadd, nflags);
sys/netpfil/ipfilter/netinet/ip_nat.c
4947
MUTEX_ENTER(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_nat.c
4948
ipf_nat_update(fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
4949
nat->nat_bytes[1] += fin->fin_plen;
sys/netpfil/ipfilter/netinet/ip_nat.c
4950
nat->nat_pkts[1]++;
sys/netpfil/ipfilter/netinet/ip_nat.c
4951
fin->fin_pktnum = nat->nat_pkts[1];
sys/netpfil/ipfilter/netinet/ip_nat.c
4952
MUTEX_EXIT(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_nat.c
5002
ipf_nat_out(fr_info_t *fin, nat_t *nat, int natadd, u_32_t nflags)
sys/netpfil/ipfilter/netinet/ip_nat.c
5014
np = nat->nat_ptr;
sys/netpfil/ipfilter/netinet/ip_nat.c
5017
(void) ipf_frag_natnew(softc, fin, 0, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
5031
if (nat->nat_dir == NAT_OUTBOUND) {
sys/netpfil/ipfilter/netinet/ip_nat.c
5032
s2 = LONG_SUM(ntohl(nat->nat_nsrcaddr));
sys/netpfil/ipfilter/netinet/ip_nat.c
5034
s2 = LONG_SUM(ntohl(nat->nat_odstaddr));
sys/netpfil/ipfilter/netinet/ip_nat.c
5040
if (nat->nat_dir == NAT_OUTBOUND) {
sys/netpfil/ipfilter/netinet/ip_nat.c
5041
s2 = LONG_SUM(ntohl(nat->nat_ndstaddr));
sys/netpfil/ipfilter/netinet/ip_nat.c
5043
s2 = LONG_SUM(ntohl(nat->nat_osrcaddr));
sys/netpfil/ipfilter/netinet/ip_nat.c
5057
switch (nat->nat_dir)
sys/netpfil/ipfilter/netinet/ip_nat.c
5062
nat->nat_ipsumd, 0);
sys/netpfil/ipfilter/netinet/ip_nat.c
5068
nat->nat_ipsumd, 0);
sys/netpfil/ipfilter/netinet/ip_nat.c
5083
switch (nat->nat_dir)
sys/netpfil/ipfilter/netinet/ip_nat.c
5086
fin->fin_ip->ip_src = nat->nat_nsrcip;
sys/netpfil/ipfilter/netinet/ip_nat.c
5087
fin->fin_saddr = nat->nat_nsrcaddr;
sys/netpfil/ipfilter/netinet/ip_nat.c
5088
fin->fin_ip->ip_dst = nat->nat_ndstip;
sys/netpfil/ipfilter/netinet/ip_nat.c
5089
fin->fin_daddr = nat->nat_ndstaddr;
sys/netpfil/ipfilter/netinet/ip_nat.c
5093
fin->fin_ip->ip_src = nat->nat_odstip;
sys/netpfil/ipfilter/netinet/ip_nat.c
5094
fin->fin_saddr = nat->nat_ndstaddr;
sys/netpfil/ipfilter/netinet/ip_nat.c
5095
fin->fin_ip->ip_dst = nat->nat_osrcip;
sys/netpfil/ipfilter/netinet/ip_nat.c
5096
fin->fin_daddr = nat->nat_nsrcaddr;
sys/netpfil/ipfilter/netinet/ip_nat.c
5103
skip = ipf_nat_decap(fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
5123
MUTEX_ENTER(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_nat.c
5124
ipf_nat_update(fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
5125
MUTEX_EXIT(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_nat.c
5185
if ((nat->nat_nsport != 0) && (nflags & IPN_TCPUDP)) {
sys/netpfil/ipfilter/netinet/ip_nat.c
5188
switch (nat->nat_dir)
sys/netpfil/ipfilter/netinet/ip_nat.c
5191
tcp->th_sport = nat->nat_nsport;
sys/netpfil/ipfilter/netinet/ip_nat.c
5192
fin->fin_data[0] = ntohs(nat->nat_nsport);
sys/netpfil/ipfilter/netinet/ip_nat.c
5193
tcp->th_dport = nat->nat_ndport;
sys/netpfil/ipfilter/netinet/ip_nat.c
5194
fin->fin_data[1] = ntohs(nat->nat_ndport);
sys/netpfil/ipfilter/netinet/ip_nat.c
5198
tcp->th_sport = nat->nat_odport;
sys/netpfil/ipfilter/netinet/ip_nat.c
5199
fin->fin_data[0] = ntohs(nat->nat_odport);
sys/netpfil/ipfilter/netinet/ip_nat.c
5200
tcp->th_dport = nat->nat_osport;
sys/netpfil/ipfilter/netinet/ip_nat.c
5201
fin->fin_data[1] = ntohs(nat->nat_osport);
sys/netpfil/ipfilter/netinet/ip_nat.c
5206
if ((nat->nat_nsport != 0) && (nflags & IPN_ICMPQUERY)) {
sys/netpfil/ipfilter/netinet/ip_nat.c
5208
icmp->icmp_id = nat->nat_nicmpid;
sys/netpfil/ipfilter/netinet/ip_nat.c
5211
csump = ipf_nat_proto(fin, nat, nflags);
sys/netpfil/ipfilter/netinet/ip_nat.c
5218
if (nat->nat_dir == NAT_OUTBOUND)
sys/netpfil/ipfilter/netinet/ip_nat.c
5220
nat->nat_sumd[0],
sys/netpfil/ipfilter/netinet/ip_nat.c
5221
nat->nat_sumd[1] +
sys/netpfil/ipfilter/netinet/ip_nat.c
5225
nat->nat_sumd[0],
sys/netpfil/ipfilter/netinet/ip_nat.c
5226
nat->nat_sumd[1] +
sys/netpfil/ipfilter/netinet/ip_nat.c
5231
ipf_sync_update(softc, SMC_NAT, fin, nat->nat_sync);
sys/netpfil/ipfilter/netinet/ip_nat.c
5243
i = ipf_proxy_check(fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
5283
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
5338
(nat = ipf_nat_icmperror(fin, &nflags, NAT_INBOUND)))
sys/netpfil/ipfilter/netinet/ip_nat.c
5340
else if ((fin->fin_flx & FI_FRAG) && (nat = ipf_frag_natknown(fin)))
sys/netpfil/ipfilter/netinet/ip_nat.c
5342
else if ((nat = ipf_nat_inlookup(fin, nflags|NAT_SEARCH,
sys/netpfil/ipfilter/netinet/ip_nat.c
5345
nflags = nat->nat_flags;
sys/netpfil/ipfilter/netinet/ip_nat.c
5416
nat = ipf_nat_add(fin, np, NULL, nflags, NAT_INBOUND);
sys/netpfil/ipfilter/netinet/ip_nat.c
5418
if (nat != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
5430
if (nat != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
5431
rval = ipf_nat_in(fin, nat, natadd, nflags);
sys/netpfil/ipfilter/netinet/ip_nat.c
5433
MUTEX_ENTER(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_nat.c
5434
ipf_nat_update(fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
5435
nat->nat_bytes[0] += fin->fin_plen;
sys/netpfil/ipfilter/netinet/ip_nat.c
5436
nat->nat_pkts[0]++;
sys/netpfil/ipfilter/netinet/ip_nat.c
5437
fin->fin_pktnum = nat->nat_pkts[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
5438
MUTEX_EXIT(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_nat.c
5489
ipf_nat_in(fr_info_t *fin, nat_t *nat, int natadd, u_32_t nflags)
sys/netpfil/ipfilter/netinet/ip_nat.c
5504
np = nat->nat_ptr;
sys/netpfil/ipfilter/netinet/ip_nat.c
5505
fin->fin_fr = nat->nat_fr;
sys/netpfil/ipfilter/netinet/ip_nat.c
5509
(void) ipf_frag_natnew(softc, fin, 0, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
5522
i = ipf_proxy_check(fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
5530
ipf_sync_update(softc, SMC_NAT, fin, nat->nat_sync);
sys/netpfil/ipfilter/netinet/ip_nat.c
5533
ipsumd = nat->nat_ipsumd;
sys/netpfil/ipfilter/netinet/ip_nat.c
5546
switch (nat->nat_dir)
sys/netpfil/ipfilter/netinet/ip_nat.c
5550
fin->fin_ip->ip_src = nat->nat_nsrcip;
sys/netpfil/ipfilter/netinet/ip_nat.c
5551
fin->fin_saddr = nat->nat_nsrcaddr;
sys/netpfil/ipfilter/netinet/ip_nat.c
5553
sum1 = nat->nat_osrcaddr;
sys/netpfil/ipfilter/netinet/ip_nat.c
5554
sum2 = nat->nat_nsrcaddr;
sys/netpfil/ipfilter/netinet/ip_nat.c
5560
fin->fin_ip->ip_dst = nat->nat_ndstip;
sys/netpfil/ipfilter/netinet/ip_nat.c
5561
fin->fin_daddr = nat->nat_ndstaddr;
sys/netpfil/ipfilter/netinet/ip_nat.c
5569
fin->fin_ip->ip_src = nat->nat_odstip;
sys/netpfil/ipfilter/netinet/ip_nat.c
5570
fin->fin_saddr = nat->nat_odstaddr;
sys/netpfil/ipfilter/netinet/ip_nat.c
5572
sum1 = nat->nat_odstaddr;
sys/netpfil/ipfilter/netinet/ip_nat.c
5573
sum2 = nat->nat_ndstaddr;
sys/netpfil/ipfilter/netinet/ip_nat.c
5579
fin->fin_ip->ip_dst = nat->nat_osrcip;
sys/netpfil/ipfilter/netinet/ip_nat.c
5580
fin->fin_daddr = nat->nat_osrcaddr;
sys/netpfil/ipfilter/netinet/ip_nat.c
5631
skip = ipf_nat_decap(fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
5651
ipf_nat_update(fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
5666
if ((nat->nat_odport != 0) && (nflags & IPN_TCPUDP)) {
sys/netpfil/ipfilter/netinet/ip_nat.c
5667
switch (nat->nat_dir)
sys/netpfil/ipfilter/netinet/ip_nat.c
5670
tcp->th_sport = nat->nat_nsport;
sys/netpfil/ipfilter/netinet/ip_nat.c
5671
fin->fin_data[0] = ntohs(nat->nat_nsport);
sys/netpfil/ipfilter/netinet/ip_nat.c
5672
tcp->th_dport = nat->nat_ndport;
sys/netpfil/ipfilter/netinet/ip_nat.c
5673
fin->fin_data[1] = ntohs(nat->nat_ndport);
sys/netpfil/ipfilter/netinet/ip_nat.c
5677
tcp->th_sport = nat->nat_odport;
sys/netpfil/ipfilter/netinet/ip_nat.c
5678
fin->fin_data[0] = ntohs(nat->nat_odport);
sys/netpfil/ipfilter/netinet/ip_nat.c
5679
tcp->th_dport = nat->nat_osport;
sys/netpfil/ipfilter/netinet/ip_nat.c
5680
fin->fin_data[1] = ntohs(nat->nat_osport);
sys/netpfil/ipfilter/netinet/ip_nat.c
5686
if ((nat->nat_odport != 0) && (nflags & IPN_ICMPQUERY)) {
sys/netpfil/ipfilter/netinet/ip_nat.c
5689
icmp->icmp_id = nat->nat_nicmpid;
sys/netpfil/ipfilter/netinet/ip_nat.c
5692
csump = ipf_nat_proto(fin, nat, nflags);
sys/netpfil/ipfilter/netinet/ip_nat.c
5699
if (nat->nat_dir == NAT_OUTBOUND)
sys/netpfil/ipfilter/netinet/ip_nat.c
5700
ipf_fix_incksum(0, csump, nat->nat_sumd[0], 0);
sys/netpfil/ipfilter/netinet/ip_nat.c
5702
ipf_fix_outcksum(0, csump, nat->nat_sumd[0], 0);
sys/netpfil/ipfilter/netinet/ip_nat.c
5728
ipf_nat_proto(fr_info_t *fin, nat_t *nat, u_int nflags)
sys/netpfil/ipfilter/netinet/ip_nat.c
5737
fin->fin_rev = (nat->nat_dir & NAT_OUTBOUND);
sys/netpfil/ipfilter/netinet/ip_nat.c
5739
fin->fin_rev = ((nat->nat_dir & NAT_OUTBOUND) == 0);
sys/netpfil/ipfilter/netinet/ip_nat.c
5754
if ((nat->nat_mssclamp != 0) && (tcp_get_flags(tcp) & TH_SYN) != 0)
sys/netpfil/ipfilter/netinet/ip_nat.c
5755
ipf_nat_mssclamp(tcp, nat->nat_mssclamp, fin, csump);
sys/netpfil/ipfilter/netinet/ip_nat.c
5869
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
5891
for (nat = softn->ipf_nat_instances; nat; nat = nat->nat_next) {
sys/netpfil/ipfilter/netinet/ip_nat.c
5892
if ((nat->nat_flags & IPN_TCP) != 0)
sys/netpfil/ipfilter/netinet/ip_nat.c
5895
n = nat->nat_ptr;
sys/netpfil/ipfilter/netinet/ip_nat.c
5923
if (((ifp == NULL) || (ifp == nat->nat_ifps[0]) ||
sys/netpfil/ipfilter/netinet/ip_nat.c
5924
(ifp == nat->nat_ifps[1]))) {
sys/netpfil/ipfilter/netinet/ip_nat.c
5925
nat->nat_ifps[0] = GETIFP(nat->nat_ifnames[0],
sys/netpfil/ipfilter/netinet/ip_nat.c
5926
nat->nat_v[0]);
sys/netpfil/ipfilter/netinet/ip_nat.c
5927
if ((nat->nat_ifps[0] != NULL) &&
sys/netpfil/ipfilter/netinet/ip_nat.c
5928
(nat->nat_ifps[0] != (void *)-1)) {
sys/netpfil/ipfilter/netinet/ip_nat.c
5929
nat->nat_mtu[0] = GETIFMTU_4(nat->nat_ifps[0]);
sys/netpfil/ipfilter/netinet/ip_nat.c
5931
if (nat->nat_ifnames[1][0] != '\0') {
sys/netpfil/ipfilter/netinet/ip_nat.c
5932
nat->nat_ifps[1] = GETIFP(nat->nat_ifnames[1],
sys/netpfil/ipfilter/netinet/ip_nat.c
5933
nat->nat_v[1]);
sys/netpfil/ipfilter/netinet/ip_nat.c
5935
nat->nat_ifps[1] = nat->nat_ifps[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
5937
if ((nat->nat_ifps[1] != NULL) &&
sys/netpfil/ipfilter/netinet/ip_nat.c
5938
(nat->nat_ifps[1] != (void *)-1)) {
sys/netpfil/ipfilter/netinet/ip_nat.c
5939
nat->nat_mtu[1] = GETIFMTU_4(nat->nat_ifps[1]);
sys/netpfil/ipfilter/netinet/ip_nat.c
5941
ifp2 = nat->nat_ifps[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
5949
sum1 = NATFSUM(nat, nat->nat_v[1], nat_nsrc6);
sys/netpfil/ipfilter/netinet/ip_nat.c
5950
if (ipf_ifpaddr(softc, nat->nat_v[0], FRI_NORMAL, ifp2,
sys/netpfil/ipfilter/netinet/ip_nat.c
5952
if (nat->nat_v[0] == 4)
sys/netpfil/ipfilter/netinet/ip_nat.c
5953
nat->nat_nsrcip = in.in4;
sys/netpfil/ipfilter/netinet/ip_nat.c
5955
sum2 = NATFSUM(nat, nat->nat_v[1], nat_nsrc6);
sys/netpfil/ipfilter/netinet/ip_nat.c
5967
sumd += nat->nat_sumd[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
5968
nat->nat_sumd[0] = (sumd & 0xffff) + (sumd >> 16);
sys/netpfil/ipfilter/netinet/ip_nat.c
5969
nat->nat_sumd[1] = nat->nat_sumd[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
6060
ipf_nat_log(ipf_main_softc_t *softc, ipf_nat_softc_t *softn, struct nat *nat,
sys/netpfil/ipfilter/netinet/ip_nat.c
6071
bcopy((char *)&nat->nat_osrc6, (char *)&natl.nl_osrcip,
sys/netpfil/ipfilter/netinet/ip_nat.c
6073
bcopy((char *)&nat->nat_nsrc6, (char *)&natl.nl_nsrcip,
sys/netpfil/ipfilter/netinet/ip_nat.c
6075
bcopy((char *)&nat->nat_odst6, (char *)&natl.nl_odstip,
sys/netpfil/ipfilter/netinet/ip_nat.c
6077
bcopy((char *)&nat->nat_ndst6, (char *)&natl.nl_ndstip,
sys/netpfil/ipfilter/netinet/ip_nat.c
6080
natl.nl_bytes[0] = nat->nat_bytes[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
6081
natl.nl_bytes[1] = nat->nat_bytes[1];
sys/netpfil/ipfilter/netinet/ip_nat.c
6082
natl.nl_pkts[0] = nat->nat_pkts[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
6083
natl.nl_pkts[1] = nat->nat_pkts[1];
sys/netpfil/ipfilter/netinet/ip_nat.c
6084
natl.nl_odstport = nat->nat_odport;
sys/netpfil/ipfilter/netinet/ip_nat.c
6085
natl.nl_osrcport = nat->nat_osport;
sys/netpfil/ipfilter/netinet/ip_nat.c
6086
natl.nl_nsrcport = nat->nat_nsport;
sys/netpfil/ipfilter/netinet/ip_nat.c
6087
natl.nl_ndstport = nat->nat_ndport;
sys/netpfil/ipfilter/netinet/ip_nat.c
6088
natl.nl_p[0] = nat->nat_pr[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
6089
natl.nl_p[1] = nat->nat_pr[1];
sys/netpfil/ipfilter/netinet/ip_nat.c
6090
natl.nl_v[0] = nat->nat_v[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
6091
natl.nl_v[1] = nat->nat_v[1];
sys/netpfil/ipfilter/netinet/ip_nat.c
6092
natl.nl_type = nat->nat_redir;
sys/netpfil/ipfilter/netinet/ip_nat.c
6096
bcopy(nat->nat_ifnames[0], natl.nl_ifnames[0],
sys/netpfil/ipfilter/netinet/ip_nat.c
6097
sizeof(nat->nat_ifnames[0]));
sys/netpfil/ipfilter/netinet/ip_nat.c
6098
bcopy(nat->nat_ifnames[1], natl.nl_ifnames[1],
sys/netpfil/ipfilter/netinet/ip_nat.c
6099
sizeof(nat->nat_ifnames[1]));
sys/netpfil/ipfilter/netinet/ip_nat.c
6101
if (softc->ipf_large_nat && nat->nat_ptr != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
6104
if (np == nat->nat_ptr) {
sys/netpfil/ipfilter/netinet/ip_nat.c
6207
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
6209
nat = *natp;
sys/netpfil/ipfilter/netinet/ip_nat.c
6212
MUTEX_ENTER(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_nat.c
6213
if (nat->nat_ref > 1) {
sys/netpfil/ipfilter/netinet/ip_nat.c
6214
nat->nat_ref--;
sys/netpfil/ipfilter/netinet/ip_nat.c
6215
ASSERT(nat->nat_ref >= 0);
sys/netpfil/ipfilter/netinet/ip_nat.c
6216
MUTEX_EXIT(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_nat.c
6219
MUTEX_EXIT(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_nat.c
6222
ipf_nat_delete(softc, nat, NL_EXPIRE);
sys/netpfil/ipfilter/netinet/ip_nat.c
6238
ipf_nat_clone(fr_info_t *fin, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_nat.c
6251
bcopy((char *)nat, (char *)clone, sizeof(*clone));
sys/netpfil/ipfilter/netinet/ip_nat.c
6321
ipf_nat_wildok(nat_t *nat, int sport, int dport, int flags, int dir)
sys/netpfil/ipfilter/netinet/ip_nat.c
6332
switch ((dir << 1) | (nat->nat_dir & (NAT_INBOUND|NAT_OUTBOUND)))
sys/netpfil/ipfilter/netinet/ip_nat.c
6335
if (((nat->nat_osport == sport) ||
sys/netpfil/ipfilter/netinet/ip_nat.c
6337
((nat->nat_odport == dport) ||
sys/netpfil/ipfilter/netinet/ip_nat.c
6342
if (((nat->nat_osport == dport) ||
sys/netpfil/ipfilter/netinet/ip_nat.c
6344
((nat->nat_odport == sport) ||
sys/netpfil/ipfilter/netinet/ip_nat.c
6349
if (((nat->nat_osport == dport) ||
sys/netpfil/ipfilter/netinet/ip_nat.c
6351
((nat->nat_odport == sport) ||
sys/netpfil/ipfilter/netinet/ip_nat.c
6356
if (((nat->nat_osport == sport) ||
sys/netpfil/ipfilter/netinet/ip_nat.c
6358
((nat->nat_odport == dport) ||
sys/netpfil/ipfilter/netinet/ip_nat.c
6444
ipf_nat_setqueue(ipf_main_softc_t *softc, ipf_nat_softc_t *softn, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_nat.c
6447
int rev = nat->nat_rev;
sys/netpfil/ipfilter/netinet/ip_nat.c
6449
if (nat->nat_ptr != NULL)
sys/netpfil/ipfilter/netinet/ip_nat.c
6450
nifq = nat->nat_ptr->in_tqehead[rev];
sys/netpfil/ipfilter/netinet/ip_nat.c
6455
switch (nat->nat_pr[0])
sys/netpfil/ipfilter/netinet/ip_nat.c
6465
nat->nat_tqe.tqe_state[rev];
sys/netpfil/ipfilter/netinet/ip_nat.c
6473
oifq = nat->nat_tqe.tqe_ifq;
sys/netpfil/ipfilter/netinet/ip_nat.c
6479
ipf_movequeue(softc->ipf_ticks, &nat->nat_tqe, oifq, nifq);
sys/netpfil/ipfilter/netinet/ip_nat.c
6481
ipf_queueappend(softc->ipf_ticks, &nat->nat_tqe, nifq, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
6504
nat_t *nat, *nextnat = NULL, zeronat;
sys/netpfil/ipfilter/netinet/ip_nat.c
6554
nat = t->ipt_data;
sys/netpfil/ipfilter/netinet/ip_nat.c
6555
if (nat == NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
6558
nextnat = nat->nat_next;
sys/netpfil/ipfilter/netinet/ip_nat.c
6613
if (nat != NULL)
sys/netpfil/ipfilter/netinet/ip_nat.c
6614
ipf_nat_deref(softc, &nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
6648
nat_t *nat, **natp;
sys/netpfil/ipfilter/netinet/ip_nat.c
6665
((nat = *natp) != NULL); ) {
sys/netpfil/ipfilter/netinet/ip_nat.c
6666
ipf_nat_delete(softc, nat, NL_FLUSH);
sys/netpfil/ipfilter/netinet/ip_nat.c
6681
nat = tqn->tqe_parent;
sys/netpfil/ipfilter/netinet/ip_nat.c
6683
if (nat->nat_pr[0] != IPPROTO_TCP ||
sys/netpfil/ipfilter/netinet/ip_nat.c
6684
nat->nat_pr[1] != IPPROTO_TCP)
sys/netpfil/ipfilter/netinet/ip_nat.c
6686
ipf_nat_delete(softc, nat, NL_EXPIRE);
sys/netpfil/ipfilter/netinet/ip_nat.c
6697
nat = tqn->tqe_parent;
sys/netpfil/ipfilter/netinet/ip_nat.c
6699
if (nat->nat_pr[0] != IPPROTO_TCP ||
sys/netpfil/ipfilter/netinet/ip_nat.c
6700
nat->nat_pr[1] != IPPROTO_TCP)
sys/netpfil/ipfilter/netinet/ip_nat.c
6703
if ((nat->nat_tcpstate[0] >
sys/netpfil/ipfilter/netinet/ip_nat.c
6705
(nat->nat_tcpstate[1] >
sys/netpfil/ipfilter/netinet/ip_nat.c
6707
ipf_nat_delete(softc, nat, NL_EXPIRE);
sys/netpfil/ipfilter/netinet/ip_nat.c
6728
nat = tqn->tqe_parent;
sys/netpfil/ipfilter/netinet/ip_nat.c
6730
ipf_nat_delete(softc, nat, NL_FLUSH);
sys/netpfil/ipfilter/netinet/ip_nat.c
6747
((nat = *natp) != NULL); ) {
sys/netpfil/ipfilter/netinet/ip_nat.c
6748
if (softc->ipf_ticks - nat->nat_touched > which) {
sys/netpfil/ipfilter/netinet/ip_nat.c
6749
ipf_nat_delete(softc, nat, NL_FLUSH);
sys/netpfil/ipfilter/netinet/ip_nat.c
6752
natp = &nat->nat_next;
sys/netpfil/ipfilter/netinet/ip_nat.c
6867
ipf_nat_setpending(ipf_main_softc_t *softc, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_nat.c
6872
oifq = nat->nat_tqe.tqe_ifq;
sys/netpfil/ipfilter/netinet/ip_nat.c
6874
ipf_movequeue(softc->ipf_ticks, &nat->nat_tqe, oifq,
sys/netpfil/ipfilter/netinet/ip_nat.c
6877
ipf_queueappend(softc->ipf_ticks, &nat->nat_tqe,
sys/netpfil/ipfilter/netinet/ip_nat.c
6878
&softn->ipf_nat_pending, nat);
sys/netpfil/ipfilter/netinet/ip_nat.c
6880
if (nat->nat_me != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
6881
*nat->nat_me = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
6882
nat->nat_me = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
6883
nat->nat_ref--;
sys/netpfil/ipfilter/netinet/ip_nat.c
6884
ASSERT(nat->nat_ref >= 0);
sys/netpfil/ipfilter/netinet/ip_nat.c
6908
ipf_nat_newrewrite(fr_info_t *fin, nat_t *nat, natinfo_t *nai)
sys/netpfil/ipfilter/netinet/ip_nat.c
6923
flags = nat->nat_flags;
sys/netpfil/ipfilter/netinet/ip_nat.c
6926
nat->nat_hm = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
7098
nat->nat_osrcip = fin->fin_src;
sys/netpfil/ipfilter/netinet/ip_nat.c
7099
nat->nat_odstip = fin->fin_dst;
sys/netpfil/ipfilter/netinet/ip_nat.c
7100
nat->nat_nsrcip = frnat.fin_src;
sys/netpfil/ipfilter/netinet/ip_nat.c
7101
nat->nat_ndstip = frnat.fin_dst;
sys/netpfil/ipfilter/netinet/ip_nat.c
7104
nat->nat_osport = htons(fin->fin_data[0]);
sys/netpfil/ipfilter/netinet/ip_nat.c
7105
nat->nat_odport = htons(fin->fin_data[1]);
sys/netpfil/ipfilter/netinet/ip_nat.c
7106
nat->nat_nsport = htons(frnat.fin_data[0]);
sys/netpfil/ipfilter/netinet/ip_nat.c
7107
nat->nat_ndport = htons(frnat.fin_data[1]);
sys/netpfil/ipfilter/netinet/ip_nat.c
7109
nat->nat_oicmpid = fin->fin_data[1];
sys/netpfil/ipfilter/netinet/ip_nat.c
7110
nat->nat_nicmpid = frnat.fin_data[1];
sys/netpfil/ipfilter/netinet/ip_nat.c
7132
ipf_nat_newdivert(fr_info_t *fin, nat_t *nat, natinfo_t *nai)
sys/netpfil/ipfilter/netinet/ip_nat.c
7144
nat->nat_pr[0] = 0;
sys/netpfil/ipfilter/netinet/ip_nat.c
7145
nat->nat_osrcaddr = fin->fin_saddr;
sys/netpfil/ipfilter/netinet/ip_nat.c
7146
nat->nat_odstaddr = fin->fin_daddr;
sys/netpfil/ipfilter/netinet/ip_nat.c
7149
if ((nat->nat_flags & IPN_TCPUDP) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7150
nat->nat_osport = htons(fin->fin_data[0]);
sys/netpfil/ipfilter/netinet/ip_nat.c
7151
nat->nat_odport = htons(fin->fin_data[1]);
sys/netpfil/ipfilter/netinet/ip_nat.c
7152
} else if ((nat->nat_flags & IPN_ICMPQUERY) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7153
nat->nat_oicmpid = fin->fin_data[1];
sys/netpfil/ipfilter/netinet/ip_nat.c
7177
DT3(ns_divert_exist, fr_info_t *, fin, nat_t *, nat, natinfo_t, nai);
sys/netpfil/ipfilter/netinet/ip_nat.c
7181
nat->nat_nsrcaddr = frnat.fin_saddr;
sys/netpfil/ipfilter/netinet/ip_nat.c
7182
nat->nat_ndstaddr = frnat.fin_daddr;
sys/netpfil/ipfilter/netinet/ip_nat.c
7183
if ((nat->nat_flags & IPN_TCPUDP) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7184
nat->nat_nsport = htons(frnat.fin_data[0]);
sys/netpfil/ipfilter/netinet/ip_nat.c
7185
nat->nat_ndport = htons(frnat.fin_data[1]);
sys/netpfil/ipfilter/netinet/ip_nat.c
7186
} else if ((nat->nat_flags & IPN_ICMPQUERY) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7187
nat->nat_nicmpid = frnat.fin_data[1];
sys/netpfil/ipfilter/netinet/ip_nat.c
7190
nat->nat_pr[fin->fin_out] = fin->fin_p;
sys/netpfil/ipfilter/netinet/ip_nat.c
7191
nat->nat_pr[1 - fin->fin_out] = p;
sys/netpfil/ipfilter/netinet/ip_nat.c
7194
nat->nat_dir = NAT_DIVERTIN;
sys/netpfil/ipfilter/netinet/ip_nat.c
7196
nat->nat_dir = NAT_DIVERTOUT;
sys/netpfil/ipfilter/netinet/ip_nat.c
7282
ipf_nat_decap(fr_info_t *fin, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_nat.c
7302
if (nat->nat_dir & NAT_OUTBOUND) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7306
sum2 = ntohl(nat->nat_osrcaddr);
sys/netpfil/ipfilter/netinet/ip_nat.c
7308
fin->fin_ip->ip_dst = nat->nat_osrcip;
sys/netpfil/ipfilter/netinet/ip_nat.c
7309
fin->fin_daddr = nat->nat_osrcaddr;
sys/netpfil/ipfilter/netinet/ip_nat.c
7320
switch (nat->nat_dir)
sys/netpfil/ipfilter/netinet/ip_nat.c
7570
nat_t *nat, *natnext;
sys/netpfil/ipfilter/netinet/ip_nat.c
7579
for (nat = softn->ipf_nat_instances; nat != NULL; nat = natnext) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7580
natnext = nat->nat_next;
sys/netpfil/ipfilter/netinet/ip_nat.c
7581
if (ipf_nat_matcharray(nat, array, softc->ipf_ticks) == 0) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7582
ipf_nat_delete(softc, nat, NL_FLUSH);
sys/netpfil/ipfilter/netinet/ip_nat.c
7604
ipf_nat_matcharray(nat_t *nat, int *array, u_long ticks)
sys/netpfil/ipfilter/netinet/ip_nat.c
7622
if (p != 0 && p != nat->nat_pr[1])
sys/netpfil/ipfilter/netinet/ip_nat.c
7629
e |= (nat->nat_pr[1] == x[i + 3]);
sys/netpfil/ipfilter/netinet/ip_nat.c
7634
if (nat->nat_v[0] == 4) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7636
e |= ((nat->nat_osrcaddr & x[i + 4]) ==
sys/netpfil/ipfilter/netinet/ip_nat.c
7640
if (nat->nat_v[1] == 4) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7642
e |= ((nat->nat_nsrcaddr & x[i + 4]) ==
sys/netpfil/ipfilter/netinet/ip_nat.c
7649
if (nat->nat_v[0] == 4) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7651
e |= ((nat->nat_odstaddr & x[i + 4]) ==
sys/netpfil/ipfilter/netinet/ip_nat.c
7655
if (nat->nat_v[1] == 4) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7657
e |= ((nat->nat_ndstaddr & x[i + 4]) ==
sys/netpfil/ipfilter/netinet/ip_nat.c
7665
if (nat->nat_v[0] == 4) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7666
e |= ((nat->nat_osrcaddr & x[i + 4]) ==
sys/netpfil/ipfilter/netinet/ip_nat.c
7669
if (nat->nat_v[1] == 4) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7670
e |= ((nat->nat_nsrcaddr & x[i + 4]) ==
sys/netpfil/ipfilter/netinet/ip_nat.c
7673
if (nat->nat_v[0] == 4) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7674
e |= ((nat->nat_odstaddr & x[i + 4]) ==
sys/netpfil/ipfilter/netinet/ip_nat.c
7677
if (nat->nat_v[1] == 4) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7678
e |= ((nat->nat_ndstaddr & x[i + 4]) ==
sys/netpfil/ipfilter/netinet/ip_nat.c
7686
if (nat->nat_v[0] == 6) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7688
e |= IP6_MASKEQ(&nat->nat_osrc6,
sys/netpfil/ipfilter/netinet/ip_nat.c
7692
if (nat->nat_v[1] == 6) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7694
e |= IP6_MASKEQ(&nat->nat_nsrc6,
sys/netpfil/ipfilter/netinet/ip_nat.c
7701
if (nat->nat_v[0] == 6) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7703
e |= IP6_MASKEQ(&nat->nat_odst6,
sys/netpfil/ipfilter/netinet/ip_nat.c
7708
if (nat->nat_v[1] == 6) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7710
e |= IP6_MASKEQ(&nat->nat_ndst6,
sys/netpfil/ipfilter/netinet/ip_nat.c
7719
if (nat->nat_v[0] == 6) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7720
e |= IP6_MASKEQ(&nat->nat_osrc6,
sys/netpfil/ipfilter/netinet/ip_nat.c
7724
if (nat->nat_v[0] == 6) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7725
e |= IP6_MASKEQ(&nat->nat_odst6,
sys/netpfil/ipfilter/netinet/ip_nat.c
7729
if (nat->nat_v[1] == 6) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7730
e |= IP6_MASKEQ(&nat->nat_nsrc6,
sys/netpfil/ipfilter/netinet/ip_nat.c
7734
if (nat->nat_v[1] == 6) {
sys/netpfil/ipfilter/netinet/ip_nat.c
7735
e |= IP6_MASKEQ(&nat->nat_ndst6,
sys/netpfil/ipfilter/netinet/ip_nat.c
7746
e |= (nat->nat_nsport == x[i + 3]) ||
sys/netpfil/ipfilter/netinet/ip_nat.c
7747
(nat->nat_ndport == x[i + 3]);
sys/netpfil/ipfilter/netinet/ip_nat.c
7754
e |= (nat->nat_nsport == x[i + 3]);
sys/netpfil/ipfilter/netinet/ip_nat.c
7761
e |= (nat->nat_ndport == x[i + 3]);
sys/netpfil/ipfilter/netinet/ip_nat.c
7767
e |= (nat->nat_tcpstate[0] == x[i + 3]) ||
sys/netpfil/ipfilter/netinet/ip_nat.c
7768
(nat->nat_tcpstate[1] == x[i + 3]);
sys/netpfil/ipfilter/netinet/ip_nat.c
7773
e |= (ticks - nat->nat_touched > x[3]);
sys/netpfil/ipfilter/netinet/ip_nat.c
7886
nat_t **newtab[2], *nat, **natp;
sys/netpfil/ipfilter/netinet/ip_nat.c
8001
for (nat = softn->ipf_nat_instances; nat != NULL; nat = nat->nat_next) {
sys/netpfil/ipfilter/netinet/ip_nat.c
8002
nat->nat_hnext[0] = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
8003
nat->nat_phnext[0] = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
8004
hv = nat->nat_hv[0] % softn->ipf_nat_table_sz;
sys/netpfil/ipfilter/netinet/ip_nat.c
8008
(*natp)->nat_phnext[0] = &nat->nat_hnext[0];
sys/netpfil/ipfilter/netinet/ip_nat.c
8012
nat->nat_phnext[0] = natp;
sys/netpfil/ipfilter/netinet/ip_nat.c
8013
nat->nat_hnext[0] = *natp;
sys/netpfil/ipfilter/netinet/ip_nat.c
8014
*natp = nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
8017
nat->nat_hnext[1] = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
8018
nat->nat_phnext[1] = NULL;
sys/netpfil/ipfilter/netinet/ip_nat.c
8019
hv = nat->nat_hv[1] % softn->ipf_nat_table_sz;
sys/netpfil/ipfilter/netinet/ip_nat.c
8023
(*natp)->nat_phnext[1] = &nat->nat_hnext[1];
sys/netpfil/ipfilter/netinet/ip_nat.c
8027
nat->nat_phnext[1] = natp;
sys/netpfil/ipfilter/netinet/ip_nat.c
8028
nat->nat_hnext[1] = *natp;
sys/netpfil/ipfilter/netinet/ip_nat.c
8029
*natp = nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
8229
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_nat.c
8247
nat = ipf_nat_outlookup(fin, nflags, (u_int)fin->fin_p,
sys/netpfil/ipfilter/netinet/ip_nat.c
8250
nat = ipf_nat_inlookup(fin, nflags, (u_int)fin->fin_p,
sys/netpfil/ipfilter/netinet/ip_nat.c
8254
if (nat != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat.c
8256
ipf_nat_delete(softc, nat, NL_DESTROY);
sys/netpfil/ipfilter/netinet/ip_nat.c
979
ipnat_t *nat, *nt, *n;
sys/netpfil/ipfilter/netinet/ip_nat.h
406
struct nat ipn_nat;
sys/netpfil/ipfilter/netinet/ip_nat.h
675
extern void ipf_nat_delete(ipf_main_softc_t *, struct nat *, int);
sys/netpfil/ipfilter/netinet/ip_nat.h
694
struct nat *, u_int);
sys/netpfil/ipfilter/netinet/ip_nat.h
89
struct nat *nat_next;
sys/netpfil/ipfilter/netinet/ip_nat.h
90
struct nat **nat_pnext;
sys/netpfil/ipfilter/netinet/ip_nat.h
91
struct nat *nat_hnext[2];
sys/netpfil/ipfilter/netinet/ip_nat.h
92
struct nat **nat_phnext[2];
sys/netpfil/ipfilter/netinet/ip_nat.h
95
struct nat **nat_me;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1002
bzero((char *)nat, sizeof(*nat));
sys/netpfil/ipfilter/netinet/ip_nat6.c
1003
nat->nat_flags = flags;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1004
nat->nat_redir = np->in_redir;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1005
nat->nat_dir = direction;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1006
nat->nat_pr[0] = fin->fin_p;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1007
nat->nat_pr[1] = fin->fin_p;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1014
move = ipf_nat6_newdivert(fin, nat, &ni);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1017
move = ipf_nat6_newrewrite(fin, nat, &ni);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1029
KFREE(nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1030
nat = natl;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1034
move = ipf_nat6_newmap(fin, nat, &ni);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1043
KFREE(nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1044
nat = natl;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1048
move = ipf_nat6_newrdr(fin, nat, &ni);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1055
nat->nat_mssclamp = np->in_mssclamp;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1056
nat->nat_me = natsave;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1057
nat->nat_fr = fin->fin_fr;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1058
nat->nat_rev = fin->fin_rev;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1059
nat->nat_ptr = np;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1060
nat->nat_dlocal = np->in_dlocal;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1062
if ((np->in_apr != NULL) && ((nat->nat_flags & NAT_SLAVE) == 0)) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1063
if (ipf_proxy_new(fin, nat) == -1) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1069
nat->nat_ifps[0] = np->in_ifps[0];
sys/netpfil/ipfilter/netinet/ip_nat6.c
1071
COPYIFNAME(np->in_v[0], np->in_ifps[0], nat->nat_ifnames[0]);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1074
nat->nat_ifps[1] = np->in_ifps[1];
sys/netpfil/ipfilter/netinet/ip_nat6.c
1076
COPYIFNAME(np->in_v[1], np->in_ifps[1], nat->nat_ifnames[1]);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1079
if (ipf_nat6_finalise(fin, nat) == -1) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1097
softn->ipf_nat_stats.ns_proto[nat->nat_pr[0]]++;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1102
if ((hm = nat->nat_hm) != NULL)
sys/netpfil/ipfilter/netinet/ip_nat6.c
1104
KFREE(nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1105
nat = NULL;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1107
if (nat != NULL && np != NULL)
sys/netpfil/ipfilter/netinet/ip_nat6.c
1110
*natsave = nat;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1111
return (nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1127
ipf_nat6_finalise(fr_info_t *fin, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_nat6.c
1137
sum1 = LONG_SUM6(&nat->nat_osrc6);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1138
sum1 += ntohs(nat->nat_oicmpid);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1139
sum2 = LONG_SUM6(&nat->nat_nsrc6);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1140
sum2 += ntohs(nat->nat_nicmpid);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1142
nat->nat_sumd[0] = (sumd & 0xffff) + (sumd >> 16);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1144
sum1 = LONG_SUM6(&nat->nat_odst6);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1145
sum2 = LONG_SUM6(&nat->nat_ndst6);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1147
nat->nat_sumd[0] += (sumd & 0xffff) + (sumd >> 16);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1152
sum1 = LONG_SUM6(&nat->nat_osrc6);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1153
sum1 += ntohs(nat->nat_osport);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1154
sum2 = LONG_SUM6(&nat->nat_nsrc6);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1155
sum2 += ntohs(nat->nat_nsport);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1157
nat->nat_sumd[0] = (sumd & 0xffff) + (sumd >> 16);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1159
sum1 = LONG_SUM6(&nat->nat_odst6);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1160
sum1 += ntohs(nat->nat_odport);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1161
sum2 = LONG_SUM6(&nat->nat_ndst6);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1162
sum2 += ntohs(nat->nat_ndport);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1164
nat->nat_sumd[0] += (sumd & 0xffff) + (sumd >> 16);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1168
sum1 = LONG_SUM6(&nat->nat_osrc6);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1169
sum2 = LONG_SUM6(&nat->nat_nsrc6);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1171
nat->nat_sumd[0] = (sumd & 0xffff) + (sumd >> 16);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1173
sum1 = LONG_SUM6(&nat->nat_odst6);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1174
sum2 = LONG_SUM6(&nat->nat_ndst6);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1176
nat->nat_sumd[0] += (sumd & 0xffff) + (sumd >> 16);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1185
if (nat->nat_dir == NAT_OUTBOUND) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1186
sum1 = LONG_SUM6(&nat->nat_nsrc6);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1187
sum1 += LONG_SUM6(&nat->nat_ndst6);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1189
sum1 = LONG_SUM6(&nat->nat_osrc6);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1190
sum1 += LONG_SUM6(&nat->nat_odst6);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1192
sum1 += nat->nat_pr[1];
sys/netpfil/ipfilter/netinet/ip_nat6.c
1193
nat->nat_sumd[1] = (sum1 & 0xffff) + (sum1 >> 16);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1195
if ((nat->nat_flags & SI_CLONE) == 0)
sys/netpfil/ipfilter/netinet/ip_nat6.c
1196
nat->nat_sync = ipf_sync_new(softc, SMC_NAT, fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1198
if ((nat->nat_ifps[0] != NULL) && (nat->nat_ifps[0] != (void *)-1)) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1199
nat->nat_mtu[0] = GETIFMTU_6(nat->nat_ifps[0]);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1202
if ((nat->nat_ifps[1] != NULL) && (nat->nat_ifps[1] != (void *)-1)) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1203
nat->nat_mtu[1] = GETIFMTU_6(nat->nat_ifps[1]);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1206
nat->nat_v[0] = 6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1207
nat->nat_v[1] = 6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1209
if (ipf_nat6_insert(softc, softn, nat) == 0) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1211
ipf_nat_log(softc, softn, nat, NL_NEW);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1212
fr = nat->nat_fr;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1225
if (nat->nat_sync != NULL)
sys/netpfil/ipfilter/netinet/ip_nat6.c
1226
ipf_sync_del_nat(softc->ipf_sync_soft, nat->nat_sync);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1243
ipf_nat6_insert(ipf_main_softc_t *softc, ipf_nat_softc_t *softn, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_nat6.c
1253
if ((nat->nat_flags & (SI_W_SPORT|SI_W_DPORT)) == 0) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1254
if ((nat->nat_flags & IPN_TCPUDP) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1255
sp = nat->nat_osport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1256
dp = nat->nat_odport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1257
} else if ((nat->nat_flags & IPN_ICMPQUERY) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1259
dp = nat->nat_oicmpid;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1264
hv1 = NAT_HASH_FN6(&nat->nat_osrc6, sp, 0xffffffff);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1265
hv1 = NAT_HASH_FN6(&nat->nat_odst6, hv1 + dp,
sys/netpfil/ipfilter/netinet/ip_nat6.c
1273
if ((nat->nat_flags & IPN_TCPUDP) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1274
sp = nat->nat_nsport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1275
dp = nat->nat_ndport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1276
} else if ((nat->nat_flags & IPN_ICMPQUERY) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1278
dp = nat->nat_nicmpid;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1283
hv2 = NAT_HASH_FN6(&nat->nat_nsrc6, sp, 0xffffffff);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1284
hv2 = NAT_HASH_FN6(&nat->nat_ndst6, hv2 + dp,
sys/netpfil/ipfilter/netinet/ip_nat6.c
1291
hv1 = NAT_HASH_FN6(&nat->nat_osrc6, 0, 0xffffffff);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1292
hv1 = NAT_HASH_FN6(&nat->nat_odst6, hv1,
sys/netpfil/ipfilter/netinet/ip_nat6.c
1296
hv2 = NAT_HASH_FN6(&nat->nat_nsrc6, 0, 0xffffffff);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1297
hv2 = NAT_HASH_FN6(&nat->nat_ndst6, hv2,
sys/netpfil/ipfilter/netinet/ip_nat6.c
1302
nat->nat_hv[0] = hv1;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1303
nat->nat_hv[1] = hv2;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1305
MUTEX_INIT(&nat->nat_lock, "nat entry lock");
sys/netpfil/ipfilter/netinet/ip_nat6.c
1307
in = nat->nat_ptr;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1308
nat->nat_ref = nat->nat_me ? 2 : 1;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1310
nat->nat_ifnames[0][LIFNAMSIZ - 1] = '\0';
sys/netpfil/ipfilter/netinet/ip_nat6.c
1311
nat->nat_ifps[0] = ipf_resolvenic(softc, nat->nat_ifnames[0],
sys/netpfil/ipfilter/netinet/ip_nat6.c
1312
nat->nat_v[0]);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1314
if (nat->nat_ifnames[1][0] != '\0') {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1315
nat->nat_ifnames[1][LIFNAMSIZ - 1] = '\0';
sys/netpfil/ipfilter/netinet/ip_nat6.c
1316
nat->nat_ifps[1] = ipf_resolvenic(softc, nat->nat_ifnames[1],
sys/netpfil/ipfilter/netinet/ip_nat6.c
1317
nat->nat_v[1]);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1323
(void) strncpy(nat->nat_ifnames[1],
sys/netpfil/ipfilter/netinet/ip_nat6.c
1324
nat->nat_ifnames[0], LIFNAMSIZ);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1325
nat->nat_ifnames[1][LIFNAMSIZ - 1] = '\0';
sys/netpfil/ipfilter/netinet/ip_nat6.c
1326
nat->nat_ifps[1] = nat->nat_ifps[0];
sys/netpfil/ipfilter/netinet/ip_nat6.c
1329
if ((nat->nat_ifps[0] != NULL) && (nat->nat_ifps[0] != (void *)-1)) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1330
nat->nat_mtu[0] = GETIFMTU_6(nat->nat_ifps[0]);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1332
if ((nat->nat_ifps[1] != NULL) && (nat->nat_ifps[1] != (void *)-1)) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1333
nat->nat_mtu[1] = GETIFMTU_6(nat->nat_ifps[1]);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1336
return (ipf_nat_hashtab_add(softc, softn, nat));
sys/netpfil/ipfilter/netinet/ip_nat6.c
1361
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1442
nat = ipf_nat6_inlookup(fin, flags, p,
sys/netpfil/ipfilter/netinet/ip_nat6.c
1446
nat = ipf_nat6_outlookup(fin, flags, p,
sys/netpfil/ipfilter/netinet/ip_nat6.c
1451
return (nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1470
nat = ipf_nat6_inlookup(fin, flags, p, &oip6->ip6_dst,
sys/netpfil/ipfilter/netinet/ip_nat6.c
1473
nat = ipf_nat6_outlookup(fin, flags, p, &oip6->ip6_dst,
sys/netpfil/ipfilter/netinet/ip_nat6.c
1478
return (nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1481
nat = ipf_nat6_inlookup(fin, 0, p, &oip6->ip6_dst,
sys/netpfil/ipfilter/netinet/ip_nat6.c
1484
nat = ipf_nat6_outlookup(fin, 0, p, &oip6->ip6_dst,
sys/netpfil/ipfilter/netinet/ip_nat6.c
1487
return (nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1553
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1564
if ((fin->fin_v != 6) || !(nat = ipf_nat6_icmperrorlookup(fin, dir))) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1662
if (((fin->fin_out == 0) && ((nat->nat_redir & NAT_MAP) != 0)) ||
sys/netpfil/ipfilter/netinet/ip_nat6.c
1663
((fin->fin_out == 1) && ((nat->nat_redir & NAT_REDIRECT) != 0))) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1664
a1 = nat->nat_osrc6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1666
a3 = nat->nat_odst6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1672
a1 = nat->nat_ndst6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1674
a3 = nat->nat_nsrc6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1722
sum1 = ntohs(nat->nat_osport);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1724
sum3 = ntohs(nat->nat_odport);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1730
sum1 = ntohs(nat->nat_ndport);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1732
sum3 = ntohs(nat->nat_nsport);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1798
if (orgicmp->icmp6_id != nat->nat_osport) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1813
sum2 = ntohs(nat->nat_osport);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1815
orgicmp->icmp6_id = nat->nat_oicmpid;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1820
return (nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1868
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1901
nat = softn->ipf_nat_table[1][hv];
sys/netpfil/ipfilter/netinet/ip_nat6.c
1904
for (; nat; nat = nat->nat_hnext[1]) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1905
if (nat->nat_ifps[0] != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1906
if ((ifp != NULL) && (ifp != nat->nat_ifps[0]))
sys/netpfil/ipfilter/netinet/ip_nat6.c
1910
if (nat->nat_pr[0] != p)
sys/netpfil/ipfilter/netinet/ip_nat6.c
1913
switch (nat->nat_dir)
sys/netpfil/ipfilter/netinet/ip_nat6.c
1916
if (nat->nat_v[0] != 6)
sys/netpfil/ipfilter/netinet/ip_nat6.c
1918
if (IP6_NEQ(&nat->nat_osrc6, src) ||
sys/netpfil/ipfilter/netinet/ip_nat6.c
1919
IP6_NEQ(&nat->nat_odst6, &dst))
sys/netpfil/ipfilter/netinet/ip_nat6.c
1921
if ((nat->nat_flags & IPN_TCPUDP) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1922
if (nat->nat_osport != sport)
sys/netpfil/ipfilter/netinet/ip_nat6.c
1924
if (nat->nat_odport != dport)
sys/netpfil/ipfilter/netinet/ip_nat6.c
1928
if (nat->nat_osport != dport) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1934
if (nat->nat_v[1] != 6)
sys/netpfil/ipfilter/netinet/ip_nat6.c
1936
if (IP6_NEQ(&nat->nat_ndst6, src) ||
sys/netpfil/ipfilter/netinet/ip_nat6.c
1937
IP6_NEQ(&nat->nat_nsrc6, &dst))
sys/netpfil/ipfilter/netinet/ip_nat6.c
1939
if ((nat->nat_flags & IPN_TCPUDP) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1940
if (nat->nat_ndport != sport)
sys/netpfil/ipfilter/netinet/ip_nat6.c
1942
if (nat->nat_nsport != dport)
sys/netpfil/ipfilter/netinet/ip_nat6.c
1946
if (nat->nat_osport != dport) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1954
if ((nat->nat_flags & IPN_TCPUDP) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1956
ipn = nat->nat_ptr;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1957
if ((ipn != NULL) && (nat->nat_aps != NULL))
sys/netpfil/ipfilter/netinet/ip_nat6.c
1958
if (appr_match(fin, nat) != 0)
sys/netpfil/ipfilter/netinet/ip_nat6.c
1962
if ((nat->nat_ifps[0] == NULL) && (ifp != NULL)) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1963
nat->nat_ifps[0] = ifp;
sys/netpfil/ipfilter/netinet/ip_nat6.c
1964
nat->nat_mtu[0] = GETIFMTU_6(ifp);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1966
return (nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
1992
nat = softn->ipf_nat_table[1][hv];
sys/netpfil/ipfilter/netinet/ip_nat6.c
1994
for (; nat; nat = nat->nat_hnext[1]) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1995
if (nat->nat_ifps[0] != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
1996
if ((ifp != NULL) && (ifp != nat->nat_ifps[0]))
sys/netpfil/ipfilter/netinet/ip_nat6.c
2000
if (nat->nat_pr[0] != fin->fin_p)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2003
switch (nat->nat_dir)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2006
if (nat->nat_v[0] != 6)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2008
if (IP6_NEQ(&nat->nat_osrc6, src) ||
sys/netpfil/ipfilter/netinet/ip_nat6.c
2009
IP6_NEQ(&nat->nat_odst6, &dst))
sys/netpfil/ipfilter/netinet/ip_nat6.c
2013
if (nat->nat_v[1] != 6)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2015
if (IP6_NEQ(&nat->nat_ndst6, src) ||
sys/netpfil/ipfilter/netinet/ip_nat6.c
2016
IP6_NEQ(&nat->nat_nsrc6, &dst))
sys/netpfil/ipfilter/netinet/ip_nat6.c
2021
nflags = nat->nat_flags;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2025
if (ipf_nat_wildok(nat, (int)sport, (int)dport, nflags,
sys/netpfil/ipfilter/netinet/ip_nat6.c
2030
nat = ipf_nat_clone(fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2031
if (nat == NULL)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2039
if (nat->nat_dir == NAT_INBOUND) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2040
if (nat->nat_osport == 0) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2041
nat->nat_osport = sport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2042
nat->nat_nsport = sport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2044
if (nat->nat_odport == 0) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2045
nat->nat_odport = dport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2046
nat->nat_ndport = dport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2049
if (nat->nat_osport == 0) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2050
nat->nat_osport = dport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2051
nat->nat_nsport = dport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2053
if (nat->nat_odport == 0) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2054
nat->nat_odport = sport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2055
nat->nat_ndport = sport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2058
if ((nat->nat_ifps[0] == NULL) && (ifp != NULL)) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2059
nat->nat_ifps[0] = ifp;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2060
nat->nat_mtu[0] = GETIFMTU_6(ifp);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2062
nat->nat_flags &= ~(SI_W_DPORT|SI_W_SPORT);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2063
ipf_nat6_tabmove(softn, nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2070
if (nat == NULL) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2073
return (nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2088
ipf_nat6_tabmove(ipf_nat_softc_t *softn, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2093
if (nat->nat_flags & SI_CLONE)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2099
if (nat->nat_hnext[0])
sys/netpfil/ipfilter/netinet/ip_nat6.c
2100
nat->nat_hnext[0]->nat_phnext[0] = nat->nat_phnext[0];
sys/netpfil/ipfilter/netinet/ip_nat6.c
2101
*nat->nat_phnext[0] = nat->nat_hnext[0];
sys/netpfil/ipfilter/netinet/ip_nat6.c
2102
softn->ipf_nat_stats.ns_side[0].ns_bucketlen[nat->nat_hv[0]]--;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2104
if (nat->nat_hnext[1])
sys/netpfil/ipfilter/netinet/ip_nat6.c
2105
nat->nat_hnext[1]->nat_phnext[1] = nat->nat_phnext[1];
sys/netpfil/ipfilter/netinet/ip_nat6.c
2106
*nat->nat_phnext[1] = nat->nat_hnext[1];
sys/netpfil/ipfilter/netinet/ip_nat6.c
2107
softn->ipf_nat_stats.ns_side[1].ns_bucketlen[nat->nat_hv[1]]--;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2112
if (nat->nat_dir == NAT_INBOUND || nat->nat_dir == NAT_DIVERTIN) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2113
hv1 = NAT_HASH_FN6(&nat->nat_osrc6,
sys/netpfil/ipfilter/netinet/ip_nat6.c
2114
nat->nat_osport, 0xffffffff);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2115
hv1 = NAT_HASH_FN6(&nat->nat_odst6, hv1 + nat->nat_odport,
sys/netpfil/ipfilter/netinet/ip_nat6.c
2117
hv0 = NAT_HASH_FN6(&nat->nat_nsrc6,
sys/netpfil/ipfilter/netinet/ip_nat6.c
2118
nat->nat_nsport, 0xffffffff);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2119
hv0 = NAT_HASH_FN6(&nat->nat_ndst6, hv0 + nat->nat_ndport,
sys/netpfil/ipfilter/netinet/ip_nat6.c
2122
hv0 = NAT_HASH_FN6(&nat->nat_osrc6,
sys/netpfil/ipfilter/netinet/ip_nat6.c
2123
nat->nat_osport, 0xffffffff);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2124
hv0 = NAT_HASH_FN6(&nat->nat_odst6, hv0 + nat->nat_odport,
sys/netpfil/ipfilter/netinet/ip_nat6.c
2126
hv1 = NAT_HASH_FN6(&nat->nat_nsrc6,
sys/netpfil/ipfilter/netinet/ip_nat6.c
2127
nat->nat_nsport, 0xffffffff);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2128
hv1 = NAT_HASH_FN6(&nat->nat_ndst6, hv1 + nat->nat_ndport,
sys/netpfil/ipfilter/netinet/ip_nat6.c
2135
nat->nat_hv[0] = hv0;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2138
(*natp)->nat_phnext[0] = &nat->nat_hnext[0];
sys/netpfil/ipfilter/netinet/ip_nat6.c
2139
nat->nat_phnext[0] = natp;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2140
nat->nat_hnext[0] = *natp;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2141
*natp = nat;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2144
nat->nat_hv[1] = hv1;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2147
(*natp)->nat_phnext[1] = &nat->nat_hnext[1];
sys/netpfil/ipfilter/netinet/ip_nat6.c
2148
nat->nat_phnext[1] = natp;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2149
nat->nat_hnext[1] = *natp;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2150
*natp = nat;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2188
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2218
nat = softn->ipf_nat_table[0][hv];
sys/netpfil/ipfilter/netinet/ip_nat6.c
2222
for (; nat; nat = nat->nat_hnext[0]) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2223
if (nat->nat_ifps[1] != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2224
if ((ifp != NULL) && (ifp != nat->nat_ifps[1]))
sys/netpfil/ipfilter/netinet/ip_nat6.c
2228
if (nat->nat_pr[1] != p)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2231
switch (nat->nat_dir)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2234
if (nat->nat_v[1] != 6)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2236
if (IP6_NEQ(&nat->nat_ndst6, src) ||
sys/netpfil/ipfilter/netinet/ip_nat6.c
2237
IP6_NEQ(&nat->nat_nsrc6, dst))
sys/netpfil/ipfilter/netinet/ip_nat6.c
2240
if ((nat->nat_flags & IPN_TCPUDP) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2241
if (nat->nat_ndport != sport)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2243
if (nat->nat_nsport != dport)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2247
if (nat->nat_osport != dport) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2253
if (nat->nat_v[0] != 6)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2255
if (IP6_NEQ(&nat->nat_osrc6, src) ||
sys/netpfil/ipfilter/netinet/ip_nat6.c
2256
IP6_NEQ(&nat->nat_odst6, dst))
sys/netpfil/ipfilter/netinet/ip_nat6.c
2259
if ((nat->nat_flags & IPN_TCPUDP) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2260
if (nat->nat_odport != dport)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2262
if (nat->nat_osport != sport)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2266
if (nat->nat_osport != dport) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2274
ipn = nat->nat_ptr;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2275
if ((ipn != NULL) && (nat->nat_aps != NULL))
sys/netpfil/ipfilter/netinet/ip_nat6.c
2276
if (appr_match(fin, nat) != 0)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2280
if ((nat->nat_ifps[1] == NULL) && (ifp != NULL)) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2281
nat->nat_ifps[1] = ifp;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2282
nat->nat_mtu[1] = GETIFMTU_6(ifp);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2284
return (nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2311
nat = softn->ipf_nat_table[0][hv];
sys/netpfil/ipfilter/netinet/ip_nat6.c
2312
for (; nat; nat = nat->nat_hnext[0]) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2313
if (nat->nat_ifps[1] != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2314
if ((ifp != NULL) && (ifp != nat->nat_ifps[1]))
sys/netpfil/ipfilter/netinet/ip_nat6.c
2318
if (nat->nat_pr[1] != fin->fin_p)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2321
switch (nat->nat_dir)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2324
if (nat->nat_v[1] != 6)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2326
if (IP6_NEQ(&nat->nat_ndst6, src) ||
sys/netpfil/ipfilter/netinet/ip_nat6.c
2327
IP6_NEQ(&nat->nat_nsrc6, dst))
sys/netpfil/ipfilter/netinet/ip_nat6.c
2331
if (nat->nat_v[0] != 6)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2333
if (IP6_NEQ(&nat->nat_osrc6, src) ||
sys/netpfil/ipfilter/netinet/ip_nat6.c
2334
IP6_NEQ(&nat->nat_odst6, dst))
sys/netpfil/ipfilter/netinet/ip_nat6.c
2339
if (!(nat->nat_flags & (NAT_TCPUDP|SI_WILDP)))
sys/netpfil/ipfilter/netinet/ip_nat6.c
2342
if (ipf_nat_wildok(nat, (int)sport, (int)dport, nat->nat_flags,
sys/netpfil/ipfilter/netinet/ip_nat6.c
2346
if ((nat->nat_flags & SI_CLONE) != 0) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2347
nat = ipf_nat_clone(fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2348
if (nat == NULL)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2356
if (nat->nat_dir == NAT_OUTBOUND) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2357
if (nat->nat_osport == 0) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2358
nat->nat_osport = sport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2359
nat->nat_nsport = sport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2361
if (nat->nat_odport == 0) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2362
nat->nat_odport = dport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2363
nat->nat_ndport = dport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2366
if (nat->nat_osport == 0) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2367
nat->nat_osport = dport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2368
nat->nat_nsport = dport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2370
if (nat->nat_odport == 0) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2371
nat->nat_odport = sport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2372
nat->nat_ndport = sport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2375
if ((nat->nat_ifps[1] == NULL) && (ifp != NULL)) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2376
nat->nat_ifps[1] = ifp;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2377
nat->nat_mtu[1] = GETIFMTU_6(ifp);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2379
nat->nat_flags &= ~(SI_W_DPORT|SI_W_SPORT);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2380
ipf_nat6_tabmove(softn, nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2387
if (nat == NULL) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2390
return (nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2417
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2440
if ((nat = ipf_nat6_inlookup(&fi, np->nl_flags, fi.fin_p,
sys/netpfil/ipfilter/netinet/ip_nat6.c
2443
np->nl_inip6 = nat->nat_odst6.in6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2444
np->nl_inport = nat->nat_odport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2451
if ((nat = ipf_nat6_outlookup(&fi, np->nl_flags, fi.fin_p,
sys/netpfil/ipfilter/netinet/ip_nat6.c
2457
fin.fin_p = nat->nat_pr[0];
sys/netpfil/ipfilter/netinet/ip_nat6.c
2458
fin.fin_data[0] = ntohs(nat->nat_ndport);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2459
fin.fin_data[1] = ntohs(nat->nat_nsport);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2462
&nat->nat_ndst6.in6,
sys/netpfil/ipfilter/netinet/ip_nat6.c
2463
&nat->nat_nsrc6.in6) !=
sys/netpfil/ipfilter/netinet/ip_nat6.c
2469
np->nl_realip6 = nat->nat_odst6.in6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2470
np->nl_realport = nat->nat_odport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2474
return (nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2567
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2620
(nat = ipf_nat6_icmperror(fin, &nflags, NAT_OUTBOUND)))
sys/netpfil/ipfilter/netinet/ip_nat6.c
2622
else if ((fin->fin_flx & FI_FRAG) && (nat = ipf_frag_natknown(fin)))
sys/netpfil/ipfilter/netinet/ip_nat6.c
2624
else if ((nat = ipf_nat6_outlookup(fin, nflags|NAT_SEARCH,
sys/netpfil/ipfilter/netinet/ip_nat6.c
2628
nflags = nat->nat_flags;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2687
nat = ipf_nat6_add(fin, np, NULL, nflags, NAT_OUTBOUND);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2689
if (nat != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2701
if (nat != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2702
rval = ipf_nat6_out(fin, nat, natadd, nflags);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2704
MUTEX_ENTER(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2705
ipf_nat_update(fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2706
nat->nat_bytes[1] += fin->fin_plen;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2707
nat->nat_pkts[1]++;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2708
MUTEX_EXIT(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2749
ipf_nat6_out(fr_info_t *fin, nat_t *nat, int natadd, u_32_t nflags)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2761
np = nat->nat_ptr;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2764
(void) ipf_frag_natnew(softc, fin, 0, nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2772
switch (nat->nat_dir)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2775
fin->fin_ip6->ip6_src = nat->nat_nsrc6.in6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2776
fin->fin_src6 = nat->nat_nsrc6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2777
fin->fin_ip6->ip6_dst = nat->nat_ndst6.in6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2778
fin->fin_dst6 = nat->nat_ndst6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2782
fin->fin_ip6->ip6_src = nat->nat_odst6.in6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2783
fin->fin_src6 = nat->nat_ndst6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2784
fin->fin_ip6->ip6_dst = nat->nat_osrc6.in6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2785
fin->fin_dst6 = nat->nat_nsrc6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2792
skip = ipf_nat6_decap(fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2812
MUTEX_ENTER(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2813
ipf_nat_update(fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2814
MUTEX_EXIT(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2859
if ((nat->nat_nsport != 0) && (nflags & IPN_TCPUDP)) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2862
switch (nat->nat_dir)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2865
tcp->th_sport = nat->nat_nsport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2866
fin->fin_data[0] = ntohs(nat->nat_nsport);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2867
tcp->th_dport = nat->nat_ndport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2868
fin->fin_data[1] = ntohs(nat->nat_ndport);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2872
tcp->th_sport = nat->nat_odport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2873
fin->fin_data[0] = ntohs(nat->nat_odport);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2874
tcp->th_dport = nat->nat_osport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2875
fin->fin_data[1] = ntohs(nat->nat_osport);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2880
if ((nat->nat_nsport != 0) && (nflags & IPN_ICMPQUERY)) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
2882
icmp6->icmp6_id = nat->nat_nicmpid;
sys/netpfil/ipfilter/netinet/ip_nat6.c
2885
csump = ipf_nat_proto(fin, nat, nflags);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2892
if (nat->nat_dir == NAT_OUTBOUND)
sys/netpfil/ipfilter/netinet/ip_nat6.c
2894
nat->nat_sumd[0],
sys/netpfil/ipfilter/netinet/ip_nat6.c
2895
nat->nat_sumd[1] +
sys/netpfil/ipfilter/netinet/ip_nat6.c
2899
nat->nat_sumd[0],
sys/netpfil/ipfilter/netinet/ip_nat6.c
2900
nat->nat_sumd[1] +
sys/netpfil/ipfilter/netinet/ip_nat6.c
2905
ipf_sync_update(softc, SMC_NAT, fin, nat->nat_sync);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2917
i = ipf_proxy_check(fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
2959
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3016
(nat = ipf_nat6_icmperror(fin, &nflags, NAT_INBOUND)))
sys/netpfil/ipfilter/netinet/ip_nat6.c
3018
else if ((fin->fin_flx & FI_FRAG) && (nat = ipf_frag_natknown(fin)))
sys/netpfil/ipfilter/netinet/ip_nat6.c
3020
else if ((nat = ipf_nat6_inlookup(fin, nflags|NAT_SEARCH,
sys/netpfil/ipfilter/netinet/ip_nat6.c
3023
nflags = nat->nat_flags;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3082
nat = ipf_nat6_add(fin, np, NULL, nflags, NAT_INBOUND);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3084
if (nat != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
3096
if (nat != NULL) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
3097
rval = ipf_nat6_in(fin, nat, natadd, nflags);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3099
MUTEX_ENTER(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3100
ipf_nat_update(fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3101
nat->nat_bytes[0] += fin->fin_plen;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3102
nat->nat_pkts[0]++;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3103
MUTEX_EXIT(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3146
ipf_nat6_in(fr_info_t *fin, nat_t *nat, int natadd, u_32_t nflags)
sys/netpfil/ipfilter/netinet/ip_nat6.c
3159
np = nat->nat_ptr;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3160
fin->fin_fr = nat->nat_fr;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3164
(void) ipf_frag_natnew(softc, fin, 0, nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3177
i = ipf_proxy_check(fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3185
ipf_sync_update(softc, SMC_NAT, fin, nat->nat_sync);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3198
switch (nat->nat_dir)
sys/netpfil/ipfilter/netinet/ip_nat6.c
3202
fin->fin_ip6->ip6_src = nat->nat_nsrc6.in6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3203
fin->fin_src6 = nat->nat_nsrc6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3205
fin->fin_ip6->ip6_dst = nat->nat_ndst6.in6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3206
fin->fin_dst6 = nat->nat_ndst6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3211
fin->fin_ip6->ip6_src = nat->nat_odst6.in6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3212
fin->fin_src6 = nat->nat_odst6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3214
fin->fin_ip6->ip6_dst = nat->nat_osrc6.in6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3215
fin->fin_dst6 = nat->nat_osrc6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3251
skip = ipf_nat6_decap(fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3271
ipf_nat_update(fin, nat);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3283
if ((nat->nat_odport != 0) && (nflags & IPN_TCPUDP)) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
3284
switch (nat->nat_dir)
sys/netpfil/ipfilter/netinet/ip_nat6.c
3287
tcp->th_sport = nat->nat_nsport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3288
fin->fin_data[0] = ntohs(nat->nat_nsport);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3289
tcp->th_dport = nat->nat_ndport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3290
fin->fin_data[1] = ntohs(nat->nat_ndport);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3294
tcp->th_sport = nat->nat_odport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3295
fin->fin_data[0] = ntohs(nat->nat_odport);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3296
tcp->th_dport = nat->nat_osport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3297
fin->fin_data[1] = ntohs(nat->nat_osport);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3303
if ((nat->nat_odport != 0) && (nflags & IPN_ICMPQUERY)) {
sys/netpfil/ipfilter/netinet/ip_nat6.c
3306
icmp6->icmp6_id = nat->nat_nicmpid;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3309
csump = ipf_nat_proto(fin, nat, nflags);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3316
if (nat->nat_dir == NAT_OUTBOUND)
sys/netpfil/ipfilter/netinet/ip_nat6.c
3317
ipf_fix_incksum(0, csump, nat->nat_sumd[0], 0);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3319
ipf_fix_outcksum(0, csump, nat->nat_sumd[0], 0);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3347
ipf_nat6_newrewrite(fr_info_t *fin, nat_t *nat, natinfo_t *nai)
sys/netpfil/ipfilter/netinet/ip_nat6.c
3362
flags = nat->nat_flags;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3365
nat->nat_hm = NULL;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3539
nat->nat_osrc6 = fin->fin_src6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3540
nat->nat_odst6 = fin->fin_dst6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3541
nat->nat_nsrc6 = frnat.fin_src6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3542
nat->nat_ndst6 = frnat.fin_dst6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3545
nat->nat_osport = htons(fin->fin_data[0]);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3546
nat->nat_odport = htons(fin->fin_data[1]);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3547
nat->nat_nsport = htons(frnat.fin_data[0]);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3548
nat->nat_ndport = htons(frnat.fin_data[1]);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3550
nat->nat_oicmpid = fin->fin_data[1];
sys/netpfil/ipfilter/netinet/ip_nat6.c
3551
nat->nat_nicmpid = frnat.fin_data[1];
sys/netpfil/ipfilter/netinet/ip_nat6.c
3573
ipf_nat6_newdivert(fr_info_t *fin, nat_t *nat, natinfo_t *nai)
sys/netpfil/ipfilter/netinet/ip_nat6.c
3585
nat->nat_pr[0] = 0;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3586
nat->nat_osrc6 = fin->fin_src6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3587
nat->nat_odst6 = fin->fin_dst6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3588
nat->nat_osport = htons(fin->fin_data[0]);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3589
nat->nat_odport = htons(fin->fin_data[1]);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3617
nat->nat_nsrc6 = frnat.fin_src6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3618
nat->nat_ndst6 = frnat.fin_dst6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3620
nat->nat_nsport = htons(frnat.fin_data[0]);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3621
nat->nat_ndport = htons(frnat.fin_data[1]);
sys/netpfil/ipfilter/netinet/ip_nat6.c
3623
nat->nat_pr[fin->fin_out] = fin->fin_p;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3624
nat->nat_pr[1 - fin->fin_out] = p;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3627
nat->nat_dir = NAT_DIVERTIN;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3629
nat->nat_dir = NAT_DIVERTOUT;
sys/netpfil/ipfilter/netinet/ip_nat6.c
3708
ipf_nat6_decap(fr_info_t *fin, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_nat6.c
3723
switch (nat->nat_dir)
sys/netpfil/ipfilter/netinet/ip_nat6.c
440
ipf_nat6_newmap(fr_info_t *fin, nat_t *nat, natinfo_t *ni)
sys/netpfil/ipfilter/netinet/ip_nat6.c
461
flags = nat->nat_flags;
sys/netpfil/ipfilter/netinet/ip_nat6.c
492
nat->nat_hm = hm;
sys/netpfil/ipfilter/netinet/ip_nat6.c
681
nat->nat_osrc6 = fin->fin_src6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
682
nat->nat_nsrc6 = in;
sys/netpfil/ipfilter/netinet/ip_nat6.c
683
nat->nat_odst6 = fin->fin_dst6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
684
nat->nat_ndst6 = fin->fin_dst6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
685
if (nat->nat_hm == NULL)
sys/netpfil/ipfilter/netinet/ip_nat6.c
686
nat->nat_hm = ipf_nat6_hostmap(softn, np, &fin->fin_src6,
sys/netpfil/ipfilter/netinet/ip_nat6.c
688
&nat->nat_nsrc6, 0);
sys/netpfil/ipfilter/netinet/ip_nat6.c
691
nat->nat_osport = sport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
692
nat->nat_nsport = port; /* sport */
sys/netpfil/ipfilter/netinet/ip_nat6.c
693
nat->nat_odport = dport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
694
nat->nat_ndport = dport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
697
nat->nat_oicmpid = fin->fin_data[1];
sys/netpfil/ipfilter/netinet/ip_nat6.c
699
nat->nat_nicmpid = port;
sys/netpfil/ipfilter/netinet/ip_nat6.c
718
ipf_nat6_newrdr(fr_info_t *fin, nat_t *nat, natinfo_t *ni)
sys/netpfil/ipfilter/netinet/ip_nat6.c
738
flags = nat->nat_flags;
sys/netpfil/ipfilter/netinet/ip_nat6.c
883
nat->nat_ndst6 = in;
sys/netpfil/ipfilter/netinet/ip_nat6.c
884
nat->nat_odst6 = fin->fin_dst6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
885
nat->nat_nsrc6 = fin->fin_src6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
886
nat->nat_osrc6 = fin->fin_src6;
sys/netpfil/ipfilter/netinet/ip_nat6.c
887
if ((nat->nat_hm == NULL) && ((np->in_flags & IPN_STICKY) != 0))
sys/netpfil/ipfilter/netinet/ip_nat6.c
888
nat->nat_hm = ipf_nat6_hostmap(softn, np, &fin->fin_src6,
sys/netpfil/ipfilter/netinet/ip_nat6.c
893
nat->nat_odport = dport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
894
nat->nat_ndport = nport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
895
nat->nat_osport = sport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
896
nat->nat_nsport = sport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
899
nat->nat_oicmpid = fin->fin_data[1];
sys/netpfil/ipfilter/netinet/ip_nat6.c
901
nat->nat_nicmpid = nport;
sys/netpfil/ipfilter/netinet/ip_nat6.c
936
nat_t *nat, *natl;
sys/netpfil/ipfilter/netinet/ip_nat6.c
966
KMALLOC(nat, nat_t *);
sys/netpfil/ipfilter/netinet/ip_nat6.c
967
if (nat == NULL) {
sys/netpfil/ipfilter/netinet/ip_netbios_pxy.c
70
ipf_p_netbios_out(void *arg, fr_info_t *fin, ap_session_t *aps __unused, nat_t *nat __unused)
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
110
ipf_p_pptp_new(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
122
np = nat->nat_ptr;
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
125
if (ipf_nat_outlookup(fin, 0, IPPROTO_GRE, nat->nat_osrcip,
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
161
ipn->in_snip = ntohl(nat->nat_nsrcaddr);
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
163
ipn->in_dnip = ntohl(nat->nat_ndstaddr);
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
164
ipn->in_ndstaddr = nat->nat_ndstaddr;
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
166
ipn->in_osrcaddr = nat->nat_osrcaddr;
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
167
ipn->in_odstaddr = nat->nat_odstaddr;
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
190
ipf_p_pptp_donatstate(fr_info_t *fin, nat_t *nat, pptp_pxy_t *pptp)
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
208
if ((nat->nat_dir == NAT_OUTBOUND && fin->fin_out) ||
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
209
(nat->nat_dir == NAT_INBOUND && !fin->fin_out)) {
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
223
fi.fin_fi.fi_saddr = nat->nat_osrcaddr;
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
224
fi.fin_fi.fi_daddr = nat->nat_odstaddr;
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
239
NAT_SLAVE, nat->nat_dir);
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
256
if (nat->nat_dir == NAT_INBOUND)
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
275
ipf_p_pptp_nextmessage(fr_info_t *fin, nat_t *nat, pptp_pxy_t *pptp, int rev)
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
373
ipf_p_pptp_message(fin, nat, pptp, pptps);
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
391
ipf_p_pptp_message(fr_info_t *fin, nat_t *nat, pptp_pxy_t *pptp,
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
399
ipf_p_pptp_mctl(fin, nat, pptp, pptps);
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
413
ipf_p_pptp_mctl(fr_info_t *fin, nat_t *nat, pptp_pxy_t *pptp,
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
459
ipf_p_pptp_donatstate(fin, nat, pptp);
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
470
ipf_p_pptp_donatstate(fin, nat, pptp);
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
499
ipf_p_pptp_inout(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
505
if ((fin->fin_out == 1) && (nat->nat_dir == NAT_INBOUND))
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
507
else if ((fin->fin_out == 0) && (nat->nat_dir == NAT_OUTBOUND))
sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
520
return (ipf_p_pptp_nextmessage(fin, nat, (pptp_pxy_t *)aps->aps_data,
sys/netpfil/ipfilter/netinet/ip_proxy.c
1274
ipf_proxy_rule_rev(nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_proxy.c
1280
old = nat->nat_ptr;
sys/netpfil/ipfilter/netinet/ip_proxy.c
1302
ipn->in_nsrcip6 = nat->nat_odst6;
sys/netpfil/ipfilter/netinet/ip_proxy.c
1303
ipn->in_osrcip6 = nat->nat_ndst6;
sys/netpfil/ipfilter/netinet/ip_proxy.c
1308
ipn->in_snip = ntohl(nat->nat_odstaddr);
sys/netpfil/ipfilter/netinet/ip_proxy.c
1309
ipn->in_dnip = ntohl(nat->nat_nsrcaddr);
sys/netpfil/ipfilter/netinet/ip_proxy.c
1312
ipn->in_snip6 = nat->nat_odst6;
sys/netpfil/ipfilter/netinet/ip_proxy.c
1313
ipn->in_dnip6 = nat->nat_nsrc6;
sys/netpfil/ipfilter/netinet/ip_proxy.c
1316
ipn->in_ndstip6 = nat->nat_nsrc6;
sys/netpfil/ipfilter/netinet/ip_proxy.c
1317
ipn->in_odstip6 = nat->nat_osrc6;
sys/netpfil/ipfilter/netinet/ip_proxy.c
1321
ipn->in_snip = ntohl(nat->nat_odstaddr);
sys/netpfil/ipfilter/netinet/ip_proxy.c
1322
ipn->in_dnip = ntohl(nat->nat_osrcaddr);
sys/netpfil/ipfilter/netinet/ip_proxy.c
1325
ipn->in_snip6 = nat->nat_odst6;
sys/netpfil/ipfilter/netinet/ip_proxy.c
1326
ipn->in_dnip6 = nat->nat_osrc6;
sys/netpfil/ipfilter/netinet/ip_proxy.c
1329
ipn->in_ndstip6 = nat->nat_osrc6;
sys/netpfil/ipfilter/netinet/ip_proxy.c
1330
ipn->in_odstip6 = nat->nat_nsrc6;
sys/netpfil/ipfilter/netinet/ip_proxy.c
1361
ipf_proxy_rule_fwd(nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_proxy.c
1367
old = nat->nat_ptr;
sys/netpfil/ipfilter/netinet/ip_proxy.c
1385
ipn->in_ifps[0] = nat->nat_ifps[0];
sys/netpfil/ipfilter/netinet/ip_proxy.c
1386
ipn->in_ifps[1] = nat->nat_ifps[1];
sys/netpfil/ipfilter/netinet/ip_proxy.c
1389
ipn->in_nsrcip6 = nat->nat_nsrc6;
sys/netpfil/ipfilter/netinet/ip_proxy.c
1390
ipn->in_osrcip6 = nat->nat_osrc6;
sys/netpfil/ipfilter/netinet/ip_proxy.c
1391
ipn->in_ndstip6 = nat->nat_ndst6;
sys/netpfil/ipfilter/netinet/ip_proxy.c
1392
ipn->in_odstip6 = nat->nat_odst6;
sys/netpfil/ipfilter/netinet/ip_proxy.c
1396
ipn->in_snip = ntohl(nat->nat_nsrcaddr);
sys/netpfil/ipfilter/netinet/ip_proxy.c
1397
ipn->in_dnip = ntohl(nat->nat_ndstaddr);
sys/netpfil/ipfilter/netinet/ip_proxy.c
1400
ipn->in_snip6 = nat->nat_nsrc6;
sys/netpfil/ipfilter/netinet/ip_proxy.c
1401
ipn->in_dnip6 = nat->nat_ndst6;
sys/netpfil/ipfilter/netinet/ip_proxy.c
742
ipf_proxy_match(fr_info_t *fin, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_proxy.c
750
ipn = nat->nat_ptr;
sys/netpfil/ipfilter/netinet/ip_proxy.c
753
(u_long)fin, (u_long)nat, (u_long)nat->nat_aps,
sys/netpfil/ipfilter/netinet/ip_proxy.c
772
result = (*apr->apr_match)(fin, nat->nat_aps, nat);
sys/netpfil/ipfilter/netinet/ip_proxy.c
794
ipf_proxy_new(fr_info_t *fin, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_proxy.c
802
printf("ipf_proxy_new(%lx,%lx) \n", (u_long)fin, (u_long)nat);
sys/netpfil/ipfilter/netinet/ip_proxy.c
804
if ((nat->nat_ptr == NULL) || (nat->nat_aps != NULL)) {
sys/netpfil/ipfilter/netinet/ip_proxy.c
807
(u_long)nat->nat_ptr, (u_long)nat->nat_aps);
sys/netpfil/ipfilter/netinet/ip_proxy.c
811
apr = nat->nat_ptr->in_apr;
sys/netpfil/ipfilter/netinet/ip_proxy.c
834
if ((*apr->apr_new)(apr->apr_soft, fin, aps, nat) == -1) {
sys/netpfil/ipfilter/netinet/ip_proxy.c
844
aps->aps_nat = nat;
sys/netpfil/ipfilter/netinet/ip_proxy.c
847
nat->nat_aps = aps;
sys/netpfil/ipfilter/netinet/ip_proxy.c
865
ipf_proxy_check(fr_info_t *fin, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_proxy.c
903
aps = nat->nat_aps;
sys/netpfil/ipfilter/netinet/ip_proxy.c
946
aps, nat);
sys/netpfil/ipfilter/netinet/ip_proxy.c
950
aps, nat);
sys/netpfil/ipfilter/netinet/ip_proxy.c
963
nat->nat_aps = NULL;
sys/netpfil/ipfilter/netinet/ip_proxy.h
110
struct nat *);
sys/netpfil/ipfilter/netinet/ip_proxy.h
113
struct nat *);
sys/netpfil/ipfilter/netinet/ip_proxy.h
115
struct nat *);
sys/netpfil/ipfilter/netinet/ip_proxy.h
116
int (* apr_match)(fr_info_t *, ap_session_t *, struct nat *);
sys/netpfil/ipfilter/netinet/ip_proxy.h
27
struct nat;
sys/netpfil/ipfilter/netinet/ip_proxy.h
439
extern int ipf_proxy_check(fr_info_t *, struct nat *);
sys/netpfil/ipfilter/netinet/ip_proxy.h
447
extern int ipf_proxy_match(fr_info_t *, struct nat *);
sys/netpfil/ipfilter/netinet/ip_proxy.h
448
extern int ipf_proxy_new(fr_info_t *, struct nat *);
sys/netpfil/ipfilter/netinet/ip_raudio_pxy.c
171
ipf_p_raudio_in(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_raudio_pxy.c
261
ip->ip_src = nat->nat_ndstip;
sys/netpfil/ipfilter/netinet/ip_raudio_pxy.c
262
ip->ip_dst = nat->nat_odstip;
sys/netpfil/ipfilter/netinet/ip_raudio_pxy.c
286
nat2 = ipf_nat_add(&fi, nat->nat_ptr, NULL,
sys/netpfil/ipfilter/netinet/ip_raudio_pxy.c
309
nat2 = ipf_nat_add(&fi, nat->nat_ptr, NULL,
sys/netpfil/ipfilter/netinet/ip_raudio_pxy.c
52
ipf_p_raudio_new(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat __unused)
sys/netpfil/ipfilter/netinet/ip_raudio_pxy.c
73
ipf_p_raudio_out(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat __unused)
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
129
ipf_p_rcmd_portmsg(fr_info_t *fin, ap_session_t *aps, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
203
fi.fin_src6 = nat->nat_ndst6;
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
204
fi.fin_dst6 = nat->nat_nsrc6;
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
206
if (nat->nat_v[0] == 6) {
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
208
if (nat->nat_dir == NAT_OUTBOUND) {
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
210
nat->nat_pr[1],
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
211
&nat->nat_osrc6.in6,
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
212
&nat->nat_odst6.in6);
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
215
nat->nat_pr[0],
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
216
&nat->nat_osrc6.in6,
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
217
&nat->nat_odst6.in6);
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
223
if (nat->nat_dir == NAT_OUTBOUND) {
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
225
nat->nat_pr[1],
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
226
nat->nat_osrcip,
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
227
nat->nat_odstip);
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
230
nat->nat_pr[0],
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
231
nat->nat_osrcip,
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
232
nat->nat_odstip);
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
243
if (nat->nat_v[0] == 6) {
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
268
if (nat->nat_dir == NAT_OUTBOUND) {
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
295
fi.fin_dst6 = nat->nat_osrc6;
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
298
if (nat->nat_v[0] == 6) {
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
312
ipf_p_rcmd_out(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
314
if (nat->nat_dir == NAT_OUTBOUND)
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
315
return (ipf_p_rcmd_portmsg(fin, aps, nat));
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
321
ipf_p_rcmd_in(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
323
if (nat->nat_dir == NAT_INBOUND)
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
324
return (ipf_p_rcmd_portmsg(fin, aps, nat));
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
66
ipf_p_rcmd_new(void *arg, fr_info_t *fin __unused, ap_session_t *aps, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_rcmd_pxy.c
82
ipn = ipf_proxy_rule_rev(nat);
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
1097
ipf_p_rpcb_getnat(fr_info_t *fin, nat_t *nat, u_int proto, u_int port)
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
1107
ipn = nat->nat_ptr;
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
1116
fi.fin_saddr = nat->nat_osrcaddr;
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
1117
fi.fin_daddr = nat->nat_odstaddr;
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
1253
ipf_p_rpcb_modv3(fr_info_t *fin, nat_t *nat, rpc_msg_t *rm, mb_t *m,
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
1263
i = (char *)&nat->nat_ndstaddr;
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
1311
ipf_p_rpcb_modv4(fr_info_t *fin, nat_t *nat, rpc_msg_t *rm, mb_t *m,
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
1326
i = (char *)&nat->nat_ndstaddr;
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
147
ipf_p_rpcb_new(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat __unused)
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
199
ipf_p_rpcb_in(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
230
rv = ipf_p_rpcb_decodereq(fin, nat, rs, rm);
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
241
rv = ipf_p_rpcb_modreq(fin, nat, rm, m, off);
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
267
ipf_p_rpcb_out(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
303
rv = ipf_p_rpcb_decoderep(fin, nat, rs, rm, &rx);
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
326
if (nat->nat_odstaddr != nat->nat_ndstaddr) {
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
328
diff = ipf_p_rpcb_modv3(fin, nat, rm, m, off);
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
330
diff = ipf_p_rpcb_modv4(fin, nat, rm, m, off);
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
399
ipf_p_rpcb_decodereq(fr_info_t *fin, nat_t *nat, rpcb_session_t *rs,
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
480
if ((ra->ra_maddr.xu_ip != nat->nat_ndstaddr) ||
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
481
(ra->ra_maddr.xu_port != nat->nat_ndport))
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
485
if ((nat->nat_ndstaddr != nat->nat_odstaddr) ||
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
486
(nat->nat_ndport != nat->nat_odport))
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
740
ipf_p_rpcb_modreq(fr_info_t *fin, nat_t *nat, rpc_msg_t *rm, mb_t *m,
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
751
i = (char *)&nat->nat_odstaddr;
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
752
p = (char *)&nat->nat_odport;
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
819
ipf_p_rpcb_decoderep(fr_info_t *fin, nat_t *nat, rpcb_session_t *rs,
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
893
if (ipf_p_rpcb_getnat(fin, nat, rx->rx_proto, (u_int)xdr) != 0)
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
915
if (nat->nat_odstaddr != rr->rr_v3.xu_ip)
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
919
if (ipf_p_rpcb_getnat(fin, nat, rx->rx_proto,
sys/netpfil/ipfilter/netinet/ip_rpcb_pxy.c
975
rv = ipf_p_rpcb_getnat(fin, nat,
sys/netpfil/ipfilter/netinet/ip_sync.c
1127
nat_t *nat;
sys/netpfil/ipfilter/netinet/ip_sync.c
1182
nat = sl->sl_ipn;
sys/netpfil/ipfilter/netinet/ip_sync.c
1183
st->stu_age = htonl(nat->nat_age);
sys/netpfil/ipfilter/netinet/ip_sync.c
133
void ipf_sync_natorder(int, struct nat *);
sys/netpfil/ipfilter/netinet/ip_sync.c
420
} nat;
sys/netpfil/ipfilter/netinet/ip_sync.c
883
nat_t *n, *nat;
sys/netpfil/ipfilter/netinet/ip_sync.c
908
if (sp->sm_len != sizeof(*nat)) {
sys/netpfil/ipfilter/netinet/ip_sync.c
913
nat = (nat_t *)data;
sys/netpfil/ipfilter/netinet/ip_sync.c
915
bcopy((char *)&nat->nat_age, (char *)&n->nat_age,
sys/netpfil/ipfilter/netinet/ip_sync.c
955
nat = sl->sl_ipn;
sys/netpfil/ipfilter/netinet/ip_sync.c
956
nat->nat_rev = sl->sl_rev;
sys/netpfil/ipfilter/netinet/ip_sync.c
958
MUTEX_ENTER(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_sync.c
959
ipf_nat_setqueue(softc, softc->ipf_nat_soft, nat);
sys/netpfil/ipfilter/netinet/ip_sync.c
960
MUTEX_EXIT(&nat->nat_lock);
sys/netpfil/ipfilter/netinet/ip_sync.h
61
struct nat *slu_ipn;
sys/netpfil/ipfilter/netinet/ip_sync.h
92
struct nat sleu_ipn;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
130
ipf_p_tftp_out(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
135
if (nat->nat_dir == NAT_OUTBOUND)
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
136
return (ipf_p_tftp_client(softt, fin, aps, nat));
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
137
return (ipf_p_tftp_server(softt, fin, aps, nat));
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
142
ipf_p_tftp_in(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
147
if (nat->nat_dir == NAT_INBOUND)
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
148
return (ipf_p_tftp_client(softt, fin, aps, nat));
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
149
return (ipf_p_tftp_server(softt, fin, aps, nat));
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
154
ipf_p_tftp_new(void *arg, fr_info_t *fin __unused, ap_session_t *aps, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
162
np = nat->nat_ptr;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
191
ipn->in_ifps[0] = nat->nat_ifps[0];
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
192
ipn->in_ifps[1] = nat->nat_ifps[1];
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
193
ipn->in_v[0] = nat->nat_ptr->in_v[1];
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
194
ipn->in_v[1] = nat->nat_ptr->in_v[0];
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
197
ipn->in_nsrcip6 = nat->nat_odst6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
198
ipn->in_osrcip6 = nat->nat_ndst6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
203
ipn->in_snip = ntohl(nat->nat_odstaddr);
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
204
ipn->in_dnip = ntohl(nat->nat_nsrcaddr);
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
207
ipn->in_snip6 = nat->nat_odst6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
208
ipn->in_dnip6 = nat->nat_nsrc6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
211
ipn->in_ndstip6 = nat->nat_nsrc6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
212
ipn->in_odstip6 = nat->nat_osrc6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
216
ipn->in_snip = ntohl(nat->nat_odstaddr);
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
217
ipn->in_dnip = ntohl(nat->nat_osrcaddr);
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
220
ipn->in_snip6 = nat->nat_odst6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
221
ipn->in_dnip6 = nat->nat_osrc6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
224
ipn->in_ndstip6 = nat->nat_osrc6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
225
ipn->in_odstip6 = nat->nat_nsrc6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
264
ipf_p_tftp_backchannel(fr_info_t *fin, ap_session_t *aps, nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
314
fi.fin_src6 = nat->nat_ndst6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
315
fi.fin_dst6 = nat->nat_nsrc6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
316
if (nat->nat_v[0] == 4) {
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
321
ip->ip_src = nat->nat_ndstip;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
322
ip->ip_dst = nat->nat_nsrcip;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
329
ip6->ip6_src = nat->nat_ndst6.in6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
330
ip6->ip6_dst = nat->nat_nsrc6.in6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
334
if (nat->nat_dir == NAT_INBOUND) {
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
345
if (nat->nat_v[0] == 6)
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
356
fi.fin_src6 = nat->nat_ndst6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
357
fi.fin_dst6 = nat->nat_nsrc6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
358
if (nat->nat_v[0] == 4) {
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
359
ip->ip_src = nat->nat_ndstip;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
360
ip->ip_dst = nat->nat_nsrcip;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
363
ip6->ip6_src = nat->nat_ndst6.in6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
364
ip6->ip6_dst = nat->nat_nsrc6.in6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
368
fi.fin_src6 = nat->nat_odst6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
369
fi.fin_dst6 = nat->nat_osrc6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
371
ip->ip_src = nat->nat_odstip;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
372
ip->ip_dst = nat->nat_osrcip;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
375
ip6->ip6_src = nat->nat_odst6.in6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
376
ip6->ip6_dst = nat->nat_osrc6.in6;
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
384
if (nat->nat_v[0] == 4) {
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
401
nat_t *nat)
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
416
DT3(tftp_cmd, fr_info_t *, fin, int, opcode, nat_t *, nat);
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
434
ipf_p_tftp_backchannel(fin, aps, nat);
sys/netpfil/ipfilter/netinet/ip_tftp_pxy.c
448
nat_t *nat)
sys/netpfil/ipfw/ip_fw2.c
1334
tvalue = TARG_VAL(ch, tablearg, nat);
sys/netpfil/ipfw/ip_fw2.c
3427
t = ((ipfw_insn_nat *)cmd)->nat;
sys/netpfil/ipfw/ip_fw2.c
3429
nat_id = TARG(cmd->arg1, nat);
sys/netpfil/ipfw/ip_fw2.c
3430
t = (*lookup_nat_ptr)(&chain->nat, nat_id);
sys/netpfil/ipfw/ip_fw2.c
3437
((ipfw_insn_nat *)cmd)->nat = t;
sys/netpfil/ipfw/ip_fw2.c
3715
LIST_INIT(&chain->nat);
sys/netpfil/ipfw/ip_fw_nat.c
1006
ptr = lookup_nat(&chain->nat, i);
sys/netpfil/ipfw/ip_fw_nat.c
1040
LIST_FOREACH(n, &chain->nat, _next) {
sys/netpfil/ipfw/ip_fw_nat.c
1061
LIST_FOREACH(n, &chain->nat, _next) {
sys/netpfil/ipfw/ip_fw_nat.c
1113
LIST_FOREACH(ptr, &chain->nat, _next) {
sys/netpfil/ipfw/ip_fw_nat.c
1125
LIST_FOREACH(ptr, &chain->nat, _next) {
sys/netpfil/ipfw/ip_fw_nat.c
1156
LIST_FOREACH_SAFE(ptr, &chain->nat, _next, ptr_temp) {
sys/netpfil/ipfw/ip_fw_nat.c
116
LIST_FOREACH(ptr, &chain->nat, _next) {
sys/netpfil/ipfw/ip_fw_nat.c
151
if (cmd->o.opcode == O_NAT && cmd->nat != NULL &&
sys/netpfil/ipfw/ip_fw_nat.c
152
(ix < 0 || cmd->nat->id == ix))
sys/netpfil/ipfw/ip_fw_nat.c
153
cmd->nat = NULL;
sys/netpfil/ipfw/ip_fw_nat.c
361
LIST_FOREACH(t, &chain->nat, _next) {
sys/netpfil/ipfw/ip_fw_nat.c
504
ptr = lookup_nat_name(&chain->nat, ucfg->name);
sys/netpfil/ipfw/ip_fw_nat.c
548
tcfg = lookup_nat_name(&chain->nat, ucfg->name);
sys/netpfil/ipfw/ip_fw_nat.c
552
LIST_INSERT_HEAD(&chain->nat, ptr, _next);
sys/netpfil/ipfw/ip_fw_nat.c
638
ptr = lookup_nat_name(&chain->nat, ntlv->name);
sys/netpfil/ipfw/ip_fw_nat.c
705
ptr = lookup_nat_name(&chain->nat, ucfg->name);
sys/netpfil/ipfw/ip_fw_nat.c
787
LIST_FOREACH(ptr, &chain->nat, _next)
sys/netpfil/ipfw/ip_fw_nat.c
799
LIST_FOREACH(ptr, &chain->nat, _next) {
sys/netpfil/ipfw/ip_fw_nat.c
846
ptr = lookup_nat_name(&chain->nat, ucfg->name);
sys/netpfil/ipfw/ip_fw_private.h
321
LIST_HEAD(nat_list, cfg_nat) nat; /* list of nat entries */
sys/netpfil/ipfw/ip_fw_private.h
343
uint16_t nat; /* O_NAT */
sys/netpfil/ipfw/ip_fw_table_value.c
117
_MCPY(nat, IPFW_VTYPE_NAT);
sys/netpfil/ipfw/ip_fw_table_value.c
534
v.nat = iv->nat;
sys/netpfil/ipfw/ip_fw_table_value.c
561
iv.nat = v->nat;
sys/netpfil/pf/pf.c
5956
ctx->nat_pool = &(r->nat);
sys/netpfil/pf/pf.c
5963
} else if (r->rdr.cur || r->nat.cur) {
sys/netpfil/pf/pf.c
5970
if (r->nat.cur) {
sys/netpfil/pf/pf.c
5972
ctx->nat_pool = &(r->nat);
sys/netpfil/pf/pf_ioctl.c
1426
pf_hash_pool(ctx, &rule->nat);
sys/netpfil/pf/pf_ioctl.c
2722
mtx_init(&rule->nat.mtx, "pf_krule_nat_pool", NULL, MTX_DEF);
sys/netpfil/pf/pf_ioctl.c
2763
mtx_destroy(&rule->nat.mtx);
sys/netpfil/pf/pf_ioctl.c
3069
TAILQ_INIT(&rule->nat.list);
sys/netpfil/pf/pf_ioctl.c
3188
pf_mv_kpool(&V_pf_pabuf[0], &rule->nat.list);
sys/netpfil/pf/pf_ioctl.c
3213
rule->nat.opts & PF_POOL_STICKYADDR) && !rule->keep_state) {
sys/netpfil/pf/pf_ioctl.c
3219
rule->nat.cur = TAILQ_FIRST(&rule->nat.list);
sys/netpfil/pf/pf_ioctl.c
4727
TAILQ_INIT(&newrule->nat.list);
sys/netpfil/pf/pf_ioctl.c
4846
pf_mv_kpool(&V_pf_pabuf[0], &newrule->nat.list);
sys/netpfil/pf/pf_ioctl.c
486
return (&rule->nat);
sys/netpfil/pf/pf_ioctl.c
4864
newrule->nat.cur = TAILQ_FIRST(&newrule->nat.list);
sys/netpfil/pf/pf_ioctl.c
629
pf_empty_kpool(&rule->nat.list);
sys/netpfil/pf/pf_lb.c
1369
if (TAILQ_EMPTY(&r->nat.list))
sys/netpfil/pf/pf_lb.c
1373
if (pf_get_sport(pd, r, &nsaddr, &nport, r->nat.proxy_port[0],
sys/netpfil/pf/pf_lb.c
1374
r->nat.proxy_port[1], &r->nat, NULL, PF_SN_NAT)) {
sys/netpfil/pf/pf_lb.c
1377
r->nat.proxy_port[0], r->nat.proxy_port[1]);
sys/netpfil/pf/pf_lb.c
1433
(struct in6_addr *)&r->nat.cur->addr.v.a.mask, NULL);
sys/netpfil/pf/pf_nl.c
779
{ .type = PF_RT_RPOOL_NAT, .off = _OUT(nat), .arg = &pool_parser, .cb = nlattr_get_nested },
sys/netpfil/pf/pf_nl.c
960
nlattr_add_pool(nw, PF_RT_RPOOL_NAT, &rule->nat);
sys/netpfil/pf/pflow.c
1004
nat = pflow_is_natd(st);
sys/netpfil/pf/pflow.c
1013
if (nat)
sys/netpfil/pf/pflow.c
1019
if (ret == 0 && nat) {
sys/netpfil/pf/pflow.c
1030
if (ret == 0 && nat) {
sys/netpfil/pf/pflow.c
923
copy_nat_ipfix_4_to_m(struct pflow_ipfix_nat4 *nat, const struct pf_kstate *st,
sys/netpfil/pf/pflow.c
940
nat->nat_event = event;
sys/netpfil/pf/pflow.c
941
nat->timestamp = htobe64(pf_get_time() - (pf_get_uptime() - timestamp));
sys/netpfil/pf/pflow.c
944
sizeof(struct pflow_ipfix_nat4), (caddr_t)nat);
sys/netpfil/pf/pflow.c
997
bool nat = false;
tests/sys/netinet/libalias/perf.c
109
bzero(&nat, sizeof(nat));
tests/sys/netinet/libalias/perf.c
166
nat.ok++;
tests/sys/netinet/libalias/perf.c
168
nat.fail++;
tests/sys/netinet/libalias/perf.c
284
printf("newNAT ok : %9lu\n", nat.ok);
tests/sys/netinet/libalias/perf.c
285
printf("newNAT fail: %9lu\n", nat.fail);
tests/sys/netinet/libalias/perf.c
296
nat.ok + nat.fail +
tests/sys/netinet/libalias/perf.c
78
} nat, usenat, unnat, random, attack;
usr.sbin/ppp/main.c
203
unsigned nat : 1;
usr.sbin/ppp/main.c
230
sw->nat = 1;
usr.sbin/ppp/main.c
240
sw->nat = 1;
usr.sbin/ppp/main.c
390
bundle->NatEnabled = sw.nat;
usr.sbin/ppp/main.c
391
if (sw.nat)