Lines Matching refs:ji
131 struct nat64lsn_job_item *ji);
133 struct nat64lsn_job_item *ji);
137 struct nat64lsn_job_item *ji);
999 struct nat64lsn_job_item *ji; in nat64lsn_periodic() local
1005 ji = uma_zalloc(nat64lsn_job_zone, M_NOWAIT); in nat64lsn_periodic()
1006 if (ji != NULL) { in nat64lsn_periodic()
1007 ji->jtype = JTYPE_DESTROY; in nat64lsn_periodic()
1008 CK_SLIST_INIT(&ji->hosts); in nat64lsn_periodic()
1009 CK_SLIST_INIT(&ji->portgroups); in nat64lsn_periodic()
1010 nat64lsn_expire_hosts(cfg, &ji->hosts); in nat64lsn_periodic()
1011 nat64lsn_expire_portgroups(cfg, &ji->portgroups); in nat64lsn_periodic()
1012 ji->pgchunk = nat64lsn_expire_pgchunk(cfg); in nat64lsn_periodic()
1013 NAT64LSN_EPOCH_CALL(&ji->epoch_ctx, in nat64lsn_periodic()
1026 nat64lsn_alloc_host(struct nat64lsn_cfg *cfg, struct nat64lsn_job_item *ji) in nat64lsn_alloc_host() argument
1037 CK_SLIST_FOREACH(host, &HOSTS(cfg, ji->src6_hval), entries) { in nat64lsn_alloc_host()
1038 if (IN6_ARE_ADDR_EQUAL(&ji->f_id.src_ip6, &host->addr)) { in nat64lsn_alloc_host()
1040 ji->host = host; in nat64lsn_alloc_host()
1045 host = ji->host = uma_zalloc(nat64lsn_host_zone, M_NOWAIT); in nat64lsn_alloc_host()
1046 if (ji->host == NULL) in nat64lsn_alloc_host()
1067 host->addr = ji->f_id.src_ip6; in nat64lsn_alloc_host()
1068 host->hval = ji->src6_hval; in nat64lsn_alloc_host()
1075 link->alias = nat64lsn_get_alias(cfg, &ji->f_id); in nat64lsn_alloc_host()
1084 CK_SLIST_INSERT_HEAD(&HOSTS(cfg, ji->src6_hval), host, entries); in nat64lsn_alloc_host()
1089 data[0] = ji->faddr; in nat64lsn_alloc_host()
1090 data[1] = (ji->f_id.dst_port << 16) | ji->port; in nat64lsn_alloc_host()
1091 ji->state_hval = hval = STATE_HVAL(cfg, data); in nat64lsn_alloc_host()
1092 state = nat64lsn_get_state6to4(cfg, host, &ji->f_id, hval, in nat64lsn_alloc_host()
1093 ji->faddr, ji->port, ji->proto); in nat64lsn_alloc_host()
1100 if (nat64lsn_alloc_pg(cfg, ji) != PG_ERROR(0)) in nat64lsn_alloc_host()
1104 ji->state = state; in nat64lsn_alloc_host()
1106 ji->done = 1; in nat64lsn_alloc_host()
1214 nat64lsn_alloc_pg(struct nat64lsn_cfg *cfg, struct nat64lsn_job_item *ji) in nat64lsn_alloc_pg() argument
1220 link = nat64lsn_get_aliaslink(cfg, ji->host, &ji->f_id); in nat64lsn_alloc_pg()
1232 switch (ji->proto) { in nat64lsn_alloc_pg()
1236 alias->tcp, &alias->tcp_pgidx, ji->proto); in nat64lsn_alloc_pg()
1241 alias->udp, &alias->udp_pgidx, ji->proto); in nat64lsn_alloc_pg()
1246 alias->icmp, &alias->icmp_pgidx, ji->proto); in nat64lsn_alloc_pg()
1249 panic("%s: wrong proto %d", __func__, ji->proto); in nat64lsn_alloc_pg()
1261 ji->state = nat64lsn_get_state6to4(cfg, ji->host, &ji->f_id, in nat64lsn_alloc_pg()
1262 ji->state_hval, ji->faddr, ji->port, ji->proto); in nat64lsn_alloc_pg()
1263 if (ji->state == NULL) in nat64lsn_alloc_pg()
1266 ji->done = 1; in nat64lsn_alloc_pg()
1276 struct nat64lsn_job_item *ji, *ji2; in nat64lsn_do_request() local
1310 STAILQ_FOREACH(ji, &jhead, entries) { in nat64lsn_do_request()
1311 switch (ji->jtype) { in nat64lsn_do_request()
1313 if (nat64lsn_alloc_host(cfg, ji) != HOST_ERROR(0)) in nat64lsn_do_request()
1317 if (nat64lsn_alloc_pg(cfg, ji) != PG_ERROR(0)) in nat64lsn_do_request()
1323 if (ji->done != 0) { in nat64lsn_do_request()
1324 flags = ji->proto != IPPROTO_TCP ? 0 : in nat64lsn_do_request()
1325 convert_tcp_flags(ji->f_id._flags); in nat64lsn_do_request()
1326 nat64lsn_translate6_internal(cfg, &ji->m, in nat64lsn_do_request()
1327 ji->state, flags); in nat64lsn_do_request()
1333 ji = STAILQ_FIRST(&jhead); in nat64lsn_do_request()
1334 while (ji != NULL) { in nat64lsn_do_request()
1335 ji2 = STAILQ_NEXT(ji, entries); in nat64lsn_do_request()
1340 m_freem(ji->m); in nat64lsn_do_request()
1341 uma_zfree(nat64lsn_job_zone, ji); in nat64lsn_do_request()
1342 ji = ji2; in nat64lsn_do_request()
1350 struct nat64lsn_job_item *ji; in nat64lsn_create_job() local
1356 ji = NULL; in nat64lsn_create_job()
1360 ji = uma_zalloc(nat64lsn_job_zone, M_NOWAIT); in nat64lsn_create_job()
1361 if (ji == NULL) in nat64lsn_create_job()
1364 if (ji == NULL) { in nat64lsn_create_job()
1368 ji->jtype = jtype; in nat64lsn_create_job()
1369 ji->done = 0; in nat64lsn_create_job()
1371 return (ji); in nat64lsn_create_job()
1375 nat64lsn_enqueue_job(struct nat64lsn_cfg *cfg, struct nat64lsn_job_item *ji) in nat64lsn_enqueue_job() argument
1379 STAILQ_INSERT_TAIL(&cfg->jhead, ji, entries); in nat64lsn_enqueue_job()
1490 struct nat64lsn_job_item *ji; in nat64lsn_job_destroy() local
1497 ji = __containerof(ctx, struct nat64lsn_job_item, epoch_ctx); in nat64lsn_job_destroy()
1498 MPASS(ji->jtype == JTYPE_DESTROY); in nat64lsn_job_destroy()
1499 while (!CK_SLIST_EMPTY(&ji->hosts)) { in nat64lsn_job_destroy()
1500 host = CK_SLIST_FIRST(&ji->hosts); in nat64lsn_job_destroy()
1501 CK_SLIST_REMOVE_HEAD(&ji->hosts, entries); in nat64lsn_job_destroy()
1524 while (!CK_SLIST_EMPTY(&ji->portgroups)) { in nat64lsn_job_destroy()
1525 pg = CK_SLIST_FIRST(&ji->portgroups); in nat64lsn_job_destroy()
1526 CK_SLIST_REMOVE_HEAD(&ji->portgroups, entries); in nat64lsn_job_destroy()
1548 uma_zfree(nat64lsn_pgchunk_zone, ji->pgchunk); in nat64lsn_job_destroy()
1549 uma_zfree(nat64lsn_job_zone, ji); in nat64lsn_job_destroy()
1554 CK_SLIST_MOVE(&ji->hosts, &hosts, entries); in nat64lsn_job_destroy()
1555 CK_SLIST_MOVE(&ji->portgroups, &portgroups, entries); in nat64lsn_job_destroy()
1556 NAT64LSN_EPOCH_CALL(&ji->epoch_ctx, nat64lsn_job_destroy); in nat64lsn_job_destroy()
1564 struct nat64lsn_job_item *ji; in nat64lsn_request_host() local
1566 ji = nat64lsn_create_job(cfg, JTYPE_NEWHOST); in nat64lsn_request_host()
1567 if (ji != NULL) { in nat64lsn_request_host()
1568 ji->m = *mp; in nat64lsn_request_host()
1569 ji->f_id = *f_id; in nat64lsn_request_host()
1570 ji->faddr = faddr; in nat64lsn_request_host()
1571 ji->port = port; in nat64lsn_request_host()
1572 ji->proto = proto; in nat64lsn_request_host()
1573 ji->src6_hval = hval; in nat64lsn_request_host()
1575 nat64lsn_enqueue_job(cfg, ji); in nat64lsn_request_host()
1587 struct nat64lsn_job_item *ji; in nat64lsn_request_pg() local
1589 ji = nat64lsn_create_job(cfg, JTYPE_NEWPORTGROUP); in nat64lsn_request_pg()
1590 if (ji != NULL) { in nat64lsn_request_pg()
1591 ji->m = *mp; in nat64lsn_request_pg()
1592 ji->f_id = *f_id; in nat64lsn_request_pg()
1593 ji->faddr = faddr; in nat64lsn_request_pg()
1594 ji->port = port; in nat64lsn_request_pg()
1595 ji->proto = proto; in nat64lsn_request_pg()
1596 ji->state_hval = hval; in nat64lsn_request_pg()
1597 ji->host = host; in nat64lsn_request_pg()
1599 nat64lsn_enqueue_job(cfg, ji); in nat64lsn_request_pg()