• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/netpfil/ipfw/nat64/

Lines Matching refs:ji

134     struct nat64lsn_job_item *ji);
136 struct nat64lsn_job_item *ji);
140 struct nat64lsn_job_item *ji);
978 struct nat64lsn_job_item *ji;
984 ji = uma_zalloc(nat64lsn_job_zone, M_NOWAIT);
985 if (ji != NULL) {
986 ji->jtype = JTYPE_DESTROY;
987 CK_SLIST_INIT(&ji->hosts);
988 CK_SLIST_INIT(&ji->portgroups);
989 nat64lsn_expire_hosts(cfg, &ji->hosts);
990 nat64lsn_expire_portgroups(cfg, &ji->portgroups);
991 ji->pgchunk = nat64lsn_expire_pgchunk(cfg);
992 NAT64LSN_EPOCH_CALL(&ji->epoch_ctx,
1005 nat64lsn_alloc_host(struct nat64lsn_cfg *cfg, struct nat64lsn_job_item *ji)
1016 CK_SLIST_FOREACH(host, &HOSTS(cfg, ji->src6_hval), entries) {
1017 if (IN6_ARE_ADDR_EQUAL(&ji->f_id.src_ip6, &host->addr)) {
1019 ji->host = host;
1024 host = ji->host = uma_zalloc(nat64lsn_host_zone, M_NOWAIT);
1025 if (ji->host == NULL)
1046 host->addr = ji->f_id.src_ip6;
1047 host->hval = ji->src6_hval;
1056 hval = ALIASLINK_HVAL(cfg, &ji->f_id);
1066 CK_SLIST_INSERT_HEAD(&HOSTS(cfg, ji->src6_hval), host, entries);
1071 data[0] = ji->faddr;
1072 data[1] = (ji->f_id.dst_port << 16) | ji->port;
1073 ji->state_hval = hval = STATE_HVAL(cfg, data);
1074 state = nat64lsn_get_state6to4(cfg, host, &ji->f_id, hval,
1075 ji->faddr, ji->port, ji->proto);
1082 if (nat64lsn_alloc_pg(cfg, ji) != PG_ERROR(0))
1086 ji->state = state;
1088 ji->done = 1;
1194 nat64lsn_alloc_pg(struct nat64lsn_cfg *cfg, struct nat64lsn_job_item *ji)
1200 link = nat64lsn_get_aliaslink(cfg, ji->host, &ji->f_id);
1212 switch (ji->proto) {
1216 alias->tcp, &alias->tcp_pg, ji->proto);
1221 alias->udp, &alias->udp_pg, ji->proto);
1226 alias->icmp, &alias->icmp_pg, ji->proto);
1229 panic("%s: wrong proto %d", __func__, ji->proto);
1241 ji->state = nat64lsn_get_state6to4(cfg, ji->host, &ji->f_id,
1242 ji->state_hval, ji->faddr, ji->port, ji->proto);
1243 if (ji->state == NULL)
1246 ji->done = 1;
1256 struct nat64lsn_job_item *ji, *ji2;
1290 STAILQ_FOREACH(ji, &jhead, entries) {
1291 switch (ji->jtype) {
1293 if (nat64lsn_alloc_host(cfg, ji) != HOST_ERROR(0))
1297 if (nat64lsn_alloc_pg(cfg, ji) != PG_ERROR(0))
1303 if (ji->done != 0) {
1304 flags = ji->proto != IPPROTO_TCP ? 0 :
1305 convert_tcp_flags(ji->f_id._flags);
1306 nat64lsn_translate6_internal(cfg, &ji->m,
1307 ji->state, flags);
1313 ji = STAILQ_FIRST(&jhead);
1314 while (ji != NULL) {
1315 ji2 = STAILQ_NEXT(ji, entries);
1320 m_freem(ji->m);
1321 uma_zfree(nat64lsn_job_zone, ji);
1322 ji = ji2;
1330 struct nat64lsn_job_item *ji;
1336 ji = NULL;
1340 ji = uma_zalloc(nat64lsn_job_zone, M_NOWAIT);
1341 if (ji == NULL)
1344 if (ji == NULL) {
1348 ji->jtype = jtype;
1349 ji->done = 0;
1351 return (ji);
1355 nat64lsn_enqueue_job(struct nat64lsn_cfg *cfg, struct nat64lsn_job_item *ji)
1359 STAILQ_INSERT_TAIL(&cfg->jhead, ji, entries);
1371 struct nat64lsn_job_item *ji;
1376 ji = __containerof(ctx, struct nat64lsn_job_item, epoch_ctx);
1377 MPASS(ji->jtype == JTYPE_DESTROY);
1378 while (!CK_SLIST_EMPTY(&ji->hosts)) {
1379 host = CK_SLIST_FIRST(&ji->hosts);
1380 CK_SLIST_REMOVE_HEAD(&ji->hosts, entries);
1391 while (!CK_SLIST_EMPTY(&ji->portgroups)) {
1392 pg = CK_SLIST_FIRST(&ji->portgroups);
1393 CK_SLIST_REMOVE_HEAD(&ji->portgroups, entries);
1407 uma_zfree(nat64lsn_pgchunk_zone, ji->pgchunk);
1408 uma_zfree(nat64lsn_job_zone, ji);
1416 struct nat64lsn_job_item *ji;
1418 ji = nat64lsn_create_job(cfg, JTYPE_NEWHOST);
1419 if (ji != NULL) {
1420 ji->m = *mp;
1421 ji->f_id = *f_id;
1422 ji->faddr = faddr;
1423 ji->port = port;
1424 ji->proto = proto;
1425 ji->src6_hval = hval;
1427 nat64lsn_enqueue_job(cfg, ji);
1439 struct nat64lsn_job_item *ji;
1441 ji = nat64lsn_create_job(cfg, JTYPE_NEWPORTGROUP);
1442 if (ji != NULL) {
1443 ji->m = *mp;
1444 ji->f_id = *f_id;
1445 ji->faddr = faddr;
1446 ji->port = port;
1447 ji->proto = proto;
1448 ji->state_hval = hval;
1449 ji->host = host;
1451 nat64lsn_enqueue_job(cfg, ji);