Lines Matching refs:ids
438 struct ipsec_ids *ids, in ipsp_aux_match() argument
442 if (ids != NULL) in ipsp_aux_match()
444 !ipsp_ids_match(tdb->tdb_ids, ids)) in ipsp_aux_match()
473 struct ipsec_ids *ids, in gettdbbydst() argument
488 if (!ipsp_aux_match(tdbp, ids, filter, filtermask)) in gettdbbydst()
504 struct ipsec_ids *ids, in gettdbbysrc() argument
519 if (!ipsp_aux_match(tdbp, ids, filter, filtermask)) in gettdbbysrc()
614 DUMP(ids, "%p"); in tdb_printit()
1236 ipsp_ids_insert(struct ipsec_ids *ids) in ipsp_ids_insert() argument
1243 found = RBT_INSERT(ipsec_ids_tree, &ipsec_ids_tree, ids); in ipsp_ids_insert()
1257 ids->id_refcount = 1; in ipsp_ids_insert()
1258 ids->id_flow = start_flow = ipsec_ids_next_flow; in ipsp_ids_insert()
1262 while (RBT_INSERT(ipsec_ids_flows, &ipsec_ids_flows, ids) != NULL) { in ipsp_ids_insert()
1263 ids->id_flow = ipsec_ids_next_flow; in ipsp_ids_insert()
1267 RBT_REMOVE(ipsec_ids_tree, &ipsec_ids_tree, ids); in ipsp_ids_insert()
1275 DPRINTF("new ids %p flow %u", ids, ids->id_flow); in ipsp_ids_insert()
1276 return ids; in ipsp_ids_insert()
1283 struct ipsec_ids *ids; in ipsp_ids_lookup() local
1288 ids = RBT_FIND(ipsec_ids_flows, &ipsec_ids_flows, &key); in ipsp_ids_lookup()
1289 if (ids != NULL) { in ipsp_ids_lookup()
1290 if (ids->id_refcount != 0) in ipsp_ids_lookup()
1291 ids->id_refcount++; in ipsp_ids_lookup()
1293 ids = NULL; in ipsp_ids_lookup()
1297 return ids; in ipsp_ids_lookup()
1304 struct ipsec_ids *ids, *tids; in ipsp_ids_gc() local
1308 LIST_FOREACH_SAFE(ids, &ipsp_ids_gc_list, id_gc_list, tids) { in ipsp_ids_gc()
1309 KASSERT(ids->id_refcount == 0); in ipsp_ids_gc()
1310 DPRINTF("ids %p count %d", ids, ids->id_refcount); in ipsp_ids_gc()
1312 if ((--ids->id_gc_ttl) > 0) in ipsp_ids_gc()
1315 LIST_REMOVE(ids, id_gc_list); in ipsp_ids_gc()
1316 RBT_REMOVE(ipsec_ids_tree, &ipsec_ids_tree, ids); in ipsp_ids_gc()
1317 RBT_REMOVE(ipsec_ids_flows, &ipsec_ids_flows, ids); in ipsp_ids_gc()
1318 free(ids->id_local, M_CREDENTIALS, 0); in ipsp_ids_gc()
1319 free(ids->id_remote, M_CREDENTIALS, 0); in ipsp_ids_gc()
1320 free(ids, M_CREDENTIALS, 0); in ipsp_ids_gc()
1331 ipsp_ids_free(struct ipsec_ids *ids) in ipsp_ids_free() argument
1333 if (ids == NULL) in ipsp_ids_free()
1342 DPRINTF("ids %p count %d", ids, ids->id_refcount); in ipsp_ids_free()
1343 KASSERT(ids->id_refcount > 0); in ipsp_ids_free()
1345 if ((--ids->id_refcount) > 0) { in ipsp_ids_free()
1354 ids->id_gc_ttl = ipsec_ids_idle + 1; in ipsp_ids_free()
1358 LIST_INSERT_HEAD(&ipsp_ids_gc_list, ids, id_gc_list); in ipsp_ids_free()