| /src/sbin/ipf/libipf/ |
| H A D | printactivenat.c | 17 printactivenat(nat_t *nat, int opts, u_long ticks) in printactivenat() argument 26 PRINTF("%s", getnattype(nat)); in printactivenat() 28 if (nat->nat_flags & SI_CLONE) in printactivenat() 30 if (nat->nat_phnext[0] == NULL && nat->nat_phnext[1] == NULL) in printactivenat() 34 if (nat->nat_redir & NAT_REWRITE) { in printactivenat() 35 printactiveaddress(nat->nat_v[0], "%-15s", &nat->nat_osrc6, in printactivenat() 36 nat->nat_ifnames[0]); in printactivenat() 38 if ((nat->nat_flags & IPN_TCPUDP) != 0) in printactivenat() 39 PRINTF(" %-5hu", ntohs(nat->nat_osport)); in printactivenat() 42 printactiveaddress(nat->nat_v[0], "%-15s", &nat->nat_odst6, in printactivenat() [all …]
|
| H A D | getnattype.c | 18 getnattype(nat_t *nat) in getnattype() argument 23 if (!nat) in getnattype() 26 switch (nat->nat_redir) in getnattype() 60 nat->nat_redir & 0xffffffff); in getnattype()
|
| /src/sbin/ipf/ipnat/ |
| H A D | ipnat_y.y | 45 static ipnat_t *nat = NULL; variable 130 while ((nat = nattop) != NULL) { 131 if (nat->in_v[0] == 0) 132 nat->in_v[0] = 4; 133 if (nat->in_v[1] == 0) 134 nat->in_v[1] = nat->in_v[0]; 135 nattop = nat->in_next; 136 err = (*nataddfunc)(natfd, natioctlfunc, nat); 137 free(nat); 174 no: IPNY_NO { nat->in_flags |= IPN_NO; } [all …]
|
| H A D | ipnat.c | 328 nat_t *np, nat; in dostats_dead() local 359 for (np = nsp->ns_instances; np; np = nat.nat_next) { in dostats_dead() 360 if (kmemcpy((char *)&nat, (long)np, sizeof(nat))) in dostats_dead() 362 if ((filter != NULL) && (nat_matcharray(&nat, filter) == 0)) in dostats_dead() 366 printnatfield(&nat, nat_fields[i].w_value); in dostats_dead() 372 printactivenat(&nat, opts, nsp->ns_ticks); in dostats_dead() 373 if (nat.nat_aps) { in dostats_dead() 376 if (nat.nat_dir & NAT_OUTBOUND) in dostats_dead() 377 proto = nat.nat_pr[1]; in dostats_dead() 379 proto = nat.nat_pr[0]; in dostats_dead() [all …]
|
| /src/sys/netpfil/ipfilter/netinet/ |
| H A D | ip_nat6.c | 440 ipf_nat6_newmap(fr_info_t *fin, nat_t *nat, natinfo_t *ni) in ipf_nat6_newmap() argument 461 flags = nat->nat_flags; in ipf_nat6_newmap() 492 nat->nat_hm = hm; in ipf_nat6_newmap() 681 nat->nat_osrc6 = fin->fin_src6; in ipf_nat6_newmap() 682 nat->nat_nsrc6 = in; in ipf_nat6_newmap() 683 nat->nat_odst6 = fin->fin_dst6; in ipf_nat6_newmap() 684 nat->nat_ndst6 = fin->fin_dst6; in ipf_nat6_newmap() 685 if (nat->nat_hm == NULL) in ipf_nat6_newmap() 686 nat->nat_hm = ipf_nat6_hostmap(softn, np, &fin->fin_src6, in ipf_nat6_newmap() 688 &nat->nat_nsrc6, 0); in ipf_nat6_newmap() [all …]
|
| H A D | ip_nat.c | 979 ipnat_t *nat, *nt, *n; in ipf_nat_ioctl() local 1012 nat = NULL; in ipf_nat_ioctl() 1018 nat = &natd; in ipf_nat_ioctl() 1052 nat = nt; in ipf_nat_ioctl() 1058 if ((interr = ipf_check_names_string(nat->in_names, nat->in_namelen, nat->in_ifnames[0])) != 0) { in ipf_nat_ioctl() 1063 if (nat->in_ifnames[0] != nat->in_ifnames[1]) { in ipf_nat_ioctl() 1064 if ((interr = ipf_check_names_string(nat->in_names, nat->in_namelen, nat->in_ifnames[1])) != 0) { in ipf_nat_ioctl() 1070 if ((interr = ipf_check_names_string(nat->in_names, nat->in_namelen, nat->in_plabel)) != 0) { in ipf_nat_ioctl() 1075 if ((interr = ipf_check_names_string(nat->in_names, nat->in_namelen, nat->in_pconfig)) != 0) { in ipf_nat_ioctl() 1085 nat->in_flags &= IPN_USERFLAGS; in ipf_nat_ioctl() [all …]
|
| H A D | ip_tftp_pxy.c | 130 ipf_p_tftp_out(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat) in ipf_p_tftp_out() argument 135 if (nat->nat_dir == NAT_OUTBOUND) in ipf_p_tftp_out() 136 return (ipf_p_tftp_client(softt, fin, aps, nat)); in ipf_p_tftp_out() 137 return (ipf_p_tftp_server(softt, fin, aps, nat)); in ipf_p_tftp_out() 142 ipf_p_tftp_in(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat) in ipf_p_tftp_in() argument 147 if (nat->nat_dir == NAT_INBOUND) in ipf_p_tftp_in() 148 return (ipf_p_tftp_client(softt, fin, aps, nat)); in ipf_p_tftp_in() 149 return (ipf_p_tftp_server(softt, fin, aps, nat)); in ipf_p_tftp_in() 154 ipf_p_tftp_new(void *arg, fr_info_t *fin __unused, ap_session_t *aps, nat_t *nat) in ipf_p_tftp_new() argument 162 np = nat->nat_ptr; in ipf_p_tftp_new() [all …]
|
| H A D | ip_rcmd_pxy.c | 66 ipf_p_rcmd_new(void *arg, fr_info_t *fin __unused, ap_session_t *aps, nat_t *nat) in ipf_p_rcmd_new() argument 82 ipn = ipf_proxy_rule_rev(nat); in ipf_p_rcmd_new() 129 ipf_p_rcmd_portmsg(fr_info_t *fin, ap_session_t *aps, nat_t *nat) in ipf_p_rcmd_portmsg() argument 203 fi.fin_src6 = nat->nat_ndst6; in ipf_p_rcmd_portmsg() 204 fi.fin_dst6 = nat->nat_nsrc6; in ipf_p_rcmd_portmsg() 206 if (nat->nat_v[0] == 6) { in ipf_p_rcmd_portmsg() 208 if (nat->nat_dir == NAT_OUTBOUND) { in ipf_p_rcmd_portmsg() 210 nat->nat_pr[1], in ipf_p_rcmd_portmsg() 211 &nat->nat_osrc6.in6, in ipf_p_rcmd_portmsg() 212 &nat->nat_odst6.in6); in ipf_p_rcmd_portmsg() [all …]
|
| H A D | ip_ftp_pxy.c | 222 ipf_p_ftp_new(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat __unused) in ipf_p_ftp_new() 275 ipf_p_ftp_port(ipf_ftp_softc_t *softf, fr_info_t *fin, ip_t *ip, nat_t *nat, in ipf_p_ftp_port() argument 296 DT3(ftp_PORT_error_dlen, nat_t *, nat, ftpside_t *, f, in ipf_p_ftp_port() 312 DT2(ftp_PORT_error_atoi_1, nat_t *, nat, ftpside_t *, f); in ipf_p_ftp_port() 319 DT2(ftp_PORT_error_atoi_2, nat_t *, nat, ftpside_t *, f); in ipf_p_ftp_port() 331 if (((nat->nat_dir == NAT_OUTBOUND) && in ipf_p_ftp_port() 332 (a1 != ntohl(nat->nat_osrcaddr))) || in ipf_p_ftp_port() 333 ((nat->nat_dir == NAT_INBOUND) && in ipf_p_ftp_port() 334 (a1 != ntohl(nat->nat_nsrcaddr)))) { in ipf_p_ftp_port() 335 DT3(ftp_PORT_error_address, nat_t *, nat, ftpside_t *, f, in ipf_p_ftp_port() [all …]
|
| H A D | ip_pptp_pxy.c | 110 ipf_p_pptp_new(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat) in ipf_p_pptp_new() argument 122 np = nat->nat_ptr; in ipf_p_pptp_new() 125 if (ipf_nat_outlookup(fin, 0, IPPROTO_GRE, nat->nat_osrcip, in ipf_p_pptp_new() 161 ipn->in_snip = ntohl(nat->nat_nsrcaddr); in ipf_p_pptp_new() 163 ipn->in_dnip = ntohl(nat->nat_ndstaddr); in ipf_p_pptp_new() 164 ipn->in_ndstaddr = nat->nat_ndstaddr; in ipf_p_pptp_new() 166 ipn->in_osrcaddr = nat->nat_osrcaddr; in ipf_p_pptp_new() 167 ipn->in_odstaddr = nat->nat_odstaddr; in ipf_p_pptp_new() 190 ipf_p_pptp_donatstate(fr_info_t *fin, nat_t *nat, pptp_pxy_t *pptp) in ipf_p_pptp_donatstate() argument 208 if ((nat->nat_dir == NAT_OUTBOUND && fin->fin_out) || in ipf_p_pptp_donatstate() [all …]
|
| H A D | ip_proxy.c | 742 ipf_proxy_match(fr_info_t *fin, nat_t *nat) in ipf_proxy_match() argument 750 ipn = nat->nat_ptr; in ipf_proxy_match() 753 (u_long)fin, (u_long)nat, (u_long)nat->nat_aps, in ipf_proxy_match() 772 result = (*apr->apr_match)(fin, nat->nat_aps, nat); in ipf_proxy_match() 794 ipf_proxy_new(fr_info_t *fin, nat_t *nat) in ipf_proxy_new() argument 802 printf("ipf_proxy_new(%lx,%lx) \n", (u_long)fin, (u_long)nat); in ipf_proxy_new() 804 if ((nat->nat_ptr == NULL) || (nat->nat_aps != NULL)) { in ipf_proxy_new() 807 (u_long)nat->nat_ptr, (u_long)nat->nat_aps); in ipf_proxy_new() 811 apr = nat->nat_ptr->in_apr; in ipf_proxy_new() 834 if ((*apr->apr_new)(apr->apr_soft, fin, aps, nat) == -1) { in ipf_proxy_new() [all …]
|
| H A D | ip_rpcb_pxy.c | 147 ipf_p_rpcb_new(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat __unused) in ipf_p_rpcb_new() 199 ipf_p_rpcb_in(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat) in ipf_p_rpcb_in() argument 230 rv = ipf_p_rpcb_decodereq(fin, nat, rs, rm); in ipf_p_rpcb_in() 241 rv = ipf_p_rpcb_modreq(fin, nat, rm, m, off); in ipf_p_rpcb_in() 267 ipf_p_rpcb_out(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat) in ipf_p_rpcb_out() argument 303 rv = ipf_p_rpcb_decoderep(fin, nat, rs, rm, &rx); in ipf_p_rpcb_out() 326 if (nat->nat_odstaddr != nat->nat_ndstaddr) { in ipf_p_rpcb_out() 328 diff = ipf_p_rpcb_modv3(fin, nat, rm, m, off); in ipf_p_rpcb_out() 330 diff = ipf_p_rpcb_modv4(fin, nat, rm, m, off); in ipf_p_rpcb_out() 399 ipf_p_rpcb_decodereq(fr_info_t *fin, nat_t *nat, rpcb_session_t *rs, in ipf_p_rpcb_decodereq() argument [all …]
|
| H A D | ip_ipsec_pxy.c | 126 ipf_p_ipsec_new(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat) in ipf_p_ipsec_new() argument 156 if (ipf_nat_outlookup(fin, 0, IPPROTO_ESP, nat->nat_nsrcip, in ipf_p_ipsec_new() 160 np = nat->nat_ptr; in ipf_p_ipsec_new() 191 ipn->in_snip = ntohl(nat->nat_nsrcaddr); in ipf_p_ipsec_new() 193 ipn->in_osrcip = nat->nat_osrcip; in ipf_p_ipsec_new() 195 ipn->in_nsrcip = nat->nat_nsrcip; in ipf_p_ipsec_new() 197 ipn->in_odstip = nat->nat_odstip; in ipf_p_ipsec_new() 199 ipn->in_ndstip = nat->nat_ndstip; in ipf_p_ipsec_new() 258 ipf_p_ipsec_inout(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat) in ipf_p_ipsec_inout() argument 267 if ((fin->fin_out == 1) && (nat->nat_dir == NAT_INBOUND)) in ipf_p_ipsec_inout() [all …]
|
| H A D | ip_irc_pxy.c | 224 ipf_p_irc_new(void *arg, fr_info_t *fin, ap_session_t *aps, nat_t *nat __unused) in ipf_p_irc_new() 244 ipf_p_irc_send(fr_info_t *fin, nat_t *nat) in ipf_p_irc_send() argument 280 irc = nat->nat_aps->aps_data; in ipf_p_irc_send() 288 if (irc->irc_ipnum != ntohl(nat->nat_osrcaddr)) in ipf_p_irc_send() 384 nat2 = ipf_nat_outlookup(fin, IPN_TCP, nat->nat_pr[1], nat->nat_nsrcip, in ipf_p_irc_send() 403 ip->ip_src = nat->nat_nsrcip; in ipf_p_irc_send() 405 nat2 = ipf_nat_add(&fi, nat->nat_ptr, NULL, in ipf_p_irc_send() 423 ipf_p_irc_out(void *arg, fr_info_t *fin, ap_session_t *aps __unused, nat_t *nat) in ipf_p_irc_out() argument 425 return (ipf_p_irc_send(fin, nat)); in ipf_p_irc_out()
|
| /src/sbin/pfctl/tests/files/ |
| H A D | pf0018.ok | 3 match out on lo0 inet from 192.168.1.1 to any nat-to 10.0.0.1 4 match out on lo0 inet proto tcp from 192.168.1.2 to any nat-to 10.0.0.2 5 match out on lo0 inet proto udp from 192.168.1.3 to any nat-to 10.0.0.3 6 match out on lo0 inet proto icmp from 192.168.1.4 to any nat-to 10.0.0.4 7 match out on lo0 inet from 192.168.1.5 to 172.6.1.1 nat-to 127.0.0.1 8 match out on lo0 inet from 192.168.1.5 to 172.14.1.2 nat-to 127.0.0.1 9 match out on lo0 inet from 192.168.1.5 to 172.16.2.0/24 nat-to 127.0.0.1 10 match out on lo0 inet from 192.168.1.6 to 172.6.1.1 nat-to 127.0.0.1 11 match out on lo0 inet from 192.168.1.6 to 172.14.1.2 nat-to 127.0.0.1 12 match out on lo0 inet from 192.168.1.6 to 172.16.2.0/24 nat-to 127.0.0.1 [all …]
|
| H A D | pf0018.in | 1 # test nat 6 match out on lo0 from 192.168.1.1 to any nat-to 10.0.0.1 7 match out on lo0 proto tcp from 192.168.1.2 to any nat-to 10.0.0.2 8 match out on lo0 proto udp from 192.168.1.3 to any nat-to 10.0.0.3 9 match out on lo0 proto icmp from 192.168.1.4 to any nat-to 10.0.0.4 11 match out on lo0 inet from $TEST_LIST1 to $TEST_LIST2 nat-to lo0 13 match out on lo0 inet from 192.168.0.1/24 to any nat-to (lo0) 15 match out on lo0 from 192.168.1.8 to ! 172.17.0.0/16 nat-to 10.0.0.8 17 match out on ! lo0 proto { udp, tcp } from any to any nat-to 10.0.0.8 static-port 19 match out on { lo0, tun1000000 } from any to any nat-to 10.0.0.8
|
| /src/share/examples/ipfilter/samples/ |
| H A D | proxy.c | 144 nat_t *nat; local 148 nat = &ns.ipn_nat; 149 nat->nat_p = IPPROTO_TCP; 150 nat->nat_dir = NAT_OUTBOUND; 152 strncpy(nat->nat_ifnames[0], extif, 153 sizeof(nat->nat_ifnames[0])); 154 strncpy(nat->nat_ifnames[1], extif, 155 sizeof(nat->nat_ifnames[1])); 156 nat->nat_ifnames[0][sizeof(nat->nat_ifnames[0]) - 1] = '\0'; 157 nat->nat_ifnames[1][sizeof(nat->nat_ifnames[1]) - 1] = '\0'; [all …]
|
| /src/tests/sys/netpfil/common/ |
| H A D | nat.sh | 48 vnet_mkjail nat ${epair_host_nat}b ${epair_client1_nat}a ${epair_client2_nat}a 53 jexec nat ifconfig ${epair_host_nat}b 198.51.100.1/24 up 55 jexec nat ifconfig ${epair_client1_nat}a 192.0.2.1/24 up 58 jexec nat ifconfig ${epair_client2_nat}a 192.0.3.1/24 up 61 jexec nat sysctl net.inet.ip.forwarding=1 70 firewall_config nat ${firewall} \ 111 vnet_mkjail nat ${epair_host_nat}b ${epair_client1_nat}a ${epair_client2_nat}a 116 jexec nat ifconfig ${epair_host_nat}b 198.51.100.1/24 up 118 jexec nat ifconfig ${epair_client1_nat}a 192.0.2.1/24 up 121 jexec nat ifconfig ${epair_client2_nat}a 192.0.3.1/24 up [all …]
|
| /src/tests/sys/netpfil/pf/ |
| H A D | nat.sh | 45 vnet_mkjail nat ${epair_nat}b ${epair_echo}a 51 jexec nat ifconfig ${epair_nat}b 192.0.2.1/24 up 52 jexec nat ifconfig ${epair_echo}a 198.51.100.1/24 up 53 jexec nat sysctl net.inet.ip.forwarding=1 59 jexec nat ifconfig ${epair_nat}a -txcsum 62 jexec nat pfctl -e 63 pft_set_rules nat \ 78 timeout 2 jexec nat pfctl -sa 103 vnet_mkjail nat ${epair}a 105 pft_set_rules nat \ [all …]
|
| H A D | icmp.sh | 98 vnet_mkjail nat ${epair_int}b ${epair_cl}b 99 jexec nat ifconfig ${epair_int}b 203.0.113.1/24 up 100 jexec nat ifconfig ${epair_cl}b 198.51.100.2/24 up 101 jexec nat sysctl net.inet.ip.forwarding=1 102 jexec nat route add default 203.0.113.2 108 jexec nat pfctl -e 109 pft_set_rules nat \ 128 jexec nat pfctl -Fs
|
| H A D | icmp6.sh | 110 vnet_mkjail nat ${epair_int}b ${epair_cl}b 111 jexec nat ifconfig ${epair_int}b inet6 2001:db8:2::1 no_dad up 112 jexec nat ifconfig ${epair_cl}b inet6 2001:db8:3::2/64 no_dad up 113 jexec nat sysctl net.inet6.ip6.forwarding=1 114 jexec nat route add -6 default 2001:db8:2::2 120 jexec nat pfctl -e 121 pft_set_rules nat \ 140 jexec nat pfctl -Fs
|
| /src/contrib/netbsd-tests/ipf/regress/ |
| H A D | ip1 | 7 table role = nat type = tree number = 110 18 table role = nat type = hash number = 210 27 table role = nat type = hash number = 250 seed = 101 36 table role = nat type = hash number = 2000 size = 1001 45 table role = nat type = hash number = 100 size = 1001 seed = 101 54 group-map in role = nat number = 300 group = 303 63 group-map out role = nat number = 400 group = 303 72 group-map in role = nat number = 500
|
| /src/contrib/netbsd-tests/ipf/expected/ |
| H A D | ip1 | 5 table role=nat type=tree number=110 15 table role=nat type=hash number=210 size=5 23 table role=nat type=hash number=250 size=5 seed=101 31 table role=nat type=hash number=2000 size=1001 39 table role=nat type=hash number=100 size=1001 seed=101 47 group-map in role=nat number=300 size=5 55 group-map out role=nat number=400 size=5 63 group-map in role=nat number=500 size=5
|
| /src/sbin/ipf/ipfs/ |
| H A D | ipfs.c | 152 nat_t *nat; in changenatif() local 162 nat = &ipn.ipn_nat; in changenatif() 163 if (nlen >= sizeof(nat->nat_ifnames[0]) || in changenatif() 164 olen >= sizeof(nat->nat_ifnames[0])) in changenatif() 175 if (!strncmp(nat->nat_ifnames[0], ifs, olen + 1)) { in changenatif() 176 strcpy(nat->nat_ifnames[0], s); in changenatif() 179 if (!strncmp(nat->nat_ifnames[1], ifs, olen + 1)) { in changenatif() 180 strcpy(nat->nat_ifnames[1], s); in changenatif() 539 nat_t *nat; in readnat() local 608 nat = &in->ipn_nat; in readnat() [all …]
|
| /src/contrib/netbsd-tests/ipf/ |
| H A D | t_pools.sh | 46 if [ -f $(atf_get_srcdir)/regress/$1.nat ] ; then 47 cp $(atf_get_srcdir)/regress/$1.nat nat 53 if [ -f nat ] ; then 54 atf_check -o save:out ipftest -RD -b -P pool -N nat -i in
|