Lines Matching refs:alias
342 pg = nat64lsn_get_pg(&link->alias->tcp_chunkmask, in nat64lsn_get_state6to4()
343 link->alias->tcp_pgmask, link->alias->tcp, in nat64lsn_get_state6to4()
344 &link->alias->tcp_pgidx, faddr); in nat64lsn_get_state6to4()
347 pg = nat64lsn_get_pg(&link->alias->udp_chunkmask, in nat64lsn_get_state6to4()
348 link->alias->udp_pgmask, link->alias->udp, in nat64lsn_get_state6to4()
349 &link->alias->udp_pgidx, faddr); in nat64lsn_get_state6to4()
352 pg = nat64lsn_get_pg(&link->alias->icmp_chunkmask, in nat64lsn_get_state6to4()
353 link->alias->icmp_pgmask, link->alias->icmp, in nat64lsn_get_state6to4()
354 &link->alias->icmp_pgidx, faddr); in nat64lsn_get_state6to4()
387 state->ip_src = link->alias->addr; in nat64lsn_get_state6to4()
483 nat64lsn_get_state4to6(struct nat64lsn_cfg *cfg, struct nat64lsn_alias *alias, in nat64lsn_get_state4to6() argument
513 if (ISSET32(alias->tcp_chunkmask, chunk_idx) && in nat64lsn_get_state4to6()
514 ISSET32(alias->tcp_pgmask[chunk_idx], pg_idx)) { in nat64lsn_get_state4to6()
515 pg = alias->tcp[chunk_idx]->pgptr[pg_idx]; in nat64lsn_get_state4to6()
520 if (ISSET32(alias->udp_chunkmask, chunk_idx) && in nat64lsn_get_state4to6()
521 ISSET32(alias->udp_pgmask[chunk_idx], pg_idx)) { in nat64lsn_get_state4to6()
522 pg = alias->udp[chunk_idx]->pgptr[pg_idx]; in nat64lsn_get_state4to6()
527 if (ISSET32(alias->icmp_chunkmask, chunk_idx) && in nat64lsn_get_state4to6()
528 ISSET32(alias->icmp_pgmask[chunk_idx], pg_idx)) { in nat64lsn_get_state4to6()
529 pg = alias->icmp[chunk_idx]->pgptr[pg_idx]; in nat64lsn_get_state4to6()
607 struct nat64lsn_alias *alias; in nat64lsn_translate4() local
654 alias = &ALIAS_BYHASH(cfg, addr); in nat64lsn_translate4()
655 MPASS(addr == alias->addr); in nat64lsn_translate4()
658 state = nat64lsn_get_state4to6(cfg, alias, f_id->src_ip, in nat64lsn_translate4()
745 #define PGCOUNT_ADD(alias, proto, value) \ argument
747 case IPPROTO_TCP: (alias)->tcp_pgcount += (value); break; \
748 case IPPROTO_UDP: (alias)->udp_pgcount += (value); break; \
749 case IPPROTO_ICMP: (alias)->icmp_pgcount += (value); break; \
751 #define PGCOUNT_INC(alias, proto) PGCOUNT_ADD(alias, proto, 1) argument
752 #define PGCOUNT_DEC(alias, proto) PGCOUNT_ADD(alias, proto, -1) argument
837 struct nat64lsn_alias *alias; in nat64lsn_expire_portgroups() local
843 alias = &cfg->aliases[i]; in nat64lsn_expire_portgroups()
844 CK_SLIST_FOREACH_SAFE(pg, &alias->portgroups, entries, tpg) { in nat64lsn_expire_portgroups()
858 pgmask = alias->tcp_pgmask; in nat64lsn_expire_portgroups()
859 pgidx = &alias->tcp_pgidx; in nat64lsn_expire_portgroups()
862 pgmask = alias->udp_pgmask; in nat64lsn_expire_portgroups()
863 pgidx = &alias->udp_pgidx; in nat64lsn_expire_portgroups()
866 pgmask = alias->icmp_pgmask; in nat64lsn_expire_portgroups()
867 pgidx = &alias->icmp_pgidx; in nat64lsn_expire_portgroups()
872 ALIAS_LOCK(alias); in nat64lsn_expire_portgroups()
873 CK_SLIST_REMOVE(&alias->portgroups, pg, in nat64lsn_expire_portgroups()
875 PGCOUNT_DEC(alias, pg->proto); in nat64lsn_expire_portgroups()
876 ALIAS_UNLOCK(alias); in nat64lsn_expire_portgroups()
940 struct nat64lsn_alias *alias; in nat64lsn_expire_pgchunk()
946 alias = &cfg->aliases[i]; in nat64lsn_expire_pgchunk()
947 if (GET_AGE(alias->timestamp) < cfg->pgchunk_delete_delay) in nat64lsn_expire_pgchunk()
951 if ((alias->tcp_chunkmask & (1 << c)) == 0) in nat64lsn_expire_pgchunk()
953 chunk = ck_pr_load_ptr(&alias->tcp[c]); in nat64lsn_expire_pgchunk()
954 if (ck_pr_load_32(&alias->tcp_pgmask[c]) != 0) in nat64lsn_expire_pgchunk()
956 ck_pr_btr_32(&alias->tcp_chunkmask, c); in nat64lsn_expire_pgchunk()
958 if (ck_pr_load_32(&alias->tcp_pgmask[c]) != 0) in nat64lsn_expire_pgchunk()
1075 link->alias = nat64lsn_get_alias(cfg, &ji->f_id); in nat64lsn_alloc_host()
1078 ALIAS_LOCK(link->alias); in nat64lsn_alloc_host()
1079 CK_SLIST_INSERT_HEAD(&link->alias->hosts, link, alias_entries); in nat64lsn_alloc_host()
1080 link->alias->hosts_count++; in nat64lsn_alloc_host()
1081 ALIAS_UNLOCK(link->alias); in nat64lsn_alloc_host()
1127 struct nat64lsn_alias *alias, uint32_t *chunkmask, uint32_t *pgmask, in nat64lsn_alloc_proto_pg() argument
1196 ALIAS_LOCK(alias); in nat64lsn_alloc_proto_pg()
1197 CK_SLIST_INSERT_HEAD(&alias->portgroups, pg, entries); in nat64lsn_alloc_proto_pg()
1198 SET_AGE(alias->timestamp); in nat64lsn_alloc_proto_pg()
1199 PGCOUNT_INC(alias, proto); in nat64lsn_alloc_proto_pg()
1200 ALIAS_UNLOCK(alias); in nat64lsn_alloc_proto_pg()
1217 struct nat64lsn_alias *alias; in nat64lsn_alloc_pg() local
1230 alias = link->alias; in nat64lsn_alloc_pg()
1234 ret = nat64lsn_alloc_proto_pg(cfg, alias, in nat64lsn_alloc_pg()
1235 &alias->tcp_chunkmask, alias->tcp_pgmask, in nat64lsn_alloc_pg()
1236 alias->tcp, &alias->tcp_pgidx, ji->proto); in nat64lsn_alloc_pg()
1239 ret = nat64lsn_alloc_proto_pg(cfg, alias, in nat64lsn_alloc_pg()
1240 &alias->udp_chunkmask, alias->udp_pgmask, in nat64lsn_alloc_pg()
1241 alias->udp, &alias->udp_pgidx, ji->proto); in nat64lsn_alloc_pg()
1244 ret = nat64lsn_alloc_proto_pg(cfg, alias, in nat64lsn_alloc_pg()
1245 &alias->icmp_chunkmask, alias->icmp_pgmask, in nat64lsn_alloc_pg()
1246 alias->icmp, &alias->icmp_pgidx, ji->proto); in nat64lsn_alloc_pg()
1831 struct nat64lsn_alias *alias; in nat64lsn_init_config() local
1857 alias = &cfg->aliases[i]; in nat64lsn_init_config()
1858 alias->addr = prefix + i; /* host byte order */ in nat64lsn_init_config()
1859 CK_SLIST_INIT(&alias->hosts); in nat64lsn_init_config()
1860 ALIAS_LOCK_INIT(alias); in nat64lsn_init_config()
1887 struct nat64lsn_alias *alias) in nat64lsn_destroy_alias() argument
1892 while (!CK_SLIST_EMPTY(&alias->portgroups)) { in nat64lsn_destroy_alias()
1893 pg = CK_SLIST_FIRST(&alias->portgroups); in nat64lsn_destroy_alias()
1894 CK_SLIST_REMOVE_HEAD(&alias->portgroups, entries); in nat64lsn_destroy_alias()
1898 if (ISSET32(alias->tcp_chunkmask, i)) in nat64lsn_destroy_alias()
1899 uma_zfree(nat64lsn_pgchunk_zone, alias->tcp[i]); in nat64lsn_destroy_alias()
1900 if (ISSET32(alias->udp_chunkmask, i)) in nat64lsn_destroy_alias()
1901 uma_zfree(nat64lsn_pgchunk_zone, alias->udp[i]); in nat64lsn_destroy_alias()
1902 if (ISSET32(alias->icmp_chunkmask, i)) in nat64lsn_destroy_alias()
1903 uma_zfree(nat64lsn_pgchunk_zone, alias->icmp[i]); in nat64lsn_destroy_alias()
1905 ALIAS_LOCK_DESTROY(alias); in nat64lsn_destroy_alias()
1917 ALIAS_LOCK(link->alias); in nat64lsn_destroy_host()
1918 CK_SLIST_REMOVE(&link->alias->hosts, link, in nat64lsn_destroy_host()
1920 link->alias->hosts_count--; in nat64lsn_destroy_host()
1921 ALIAS_UNLOCK(link->alias); in nat64lsn_destroy_host()