Lines Matching defs:spidx
941 key_lookup_sp_byspidx(const struct secpolicyindex *spidx,
947 KASSERT(spidx != NULL);
954 kdebug_secpolicyindex("objects", spidx);
960 kdebug_secpolicyindex("in SPD", &sp->spidx);
965 if (key_spidx_match_withmask(&sp->spidx, spidx))
972 KEY_CHKSPDIR(sp->spidx.dir, dir);
1001 struct secpolicyindex spidx;
1028 spidx = sp->spidx;
1029 if (isrc->sa_len > sizeof(spidx.src) ||
1030 idst->sa_len > sizeof(spidx.dst))
1032 memcpy(&spidx.src, isrc, isrc->sa_len);
1033 memcpy(&spidx.dst, idst, idst->sa_len);
1034 if (!key_spidx_match_withmask(&sp->spidx, &spidx))
1675 key_getsp(const struct secpolicyindex *spidx)
1680 KASSERT(spidx != NULL);
1683 SPLIST_READER_FOREACH(sp, spidx->dir) {
1686 if (key_spidx_match_exactly(spidx, &sp->spidx)) {
1703 key_lookup_and_remove_sp(const struct secpolicyindex *spidx, bool from_kernel)
1708 SPLIST_WRITER_FOREACH(sp, spidx->dir) {
1717 if (key_spidx_match_exactly(spidx, &sp->spidx)) {
1845 newsp->spidx.dir = xpl0->sadb_x_policy_dir;
2095 xpl->sadb_x_policy_dir = sp->spidx.dir;
2213 struct secpolicyindex spidx;
2276 key_init_spidx_bymsghdr(&spidx, mhp);
2288 sp = key_lookup_and_remove_sp(&spidx, from_kernel);
2292 sp = key_getsp(&spidx);
2313 newsp->spidx = spidx;
2333 SPLIST_WRITER_INSERT_TAIL(newsp->spidx.dir, newsp);
2344 struct secspacq *spacq = key_getspacq(&spidx);
2506 struct secpolicyindex spidx;
2535 key_init_spidx_bymsghdr(&spidx, mhp);
2538 sp = key_lookup_and_remove_sp(&spidx, false);
2759 newspacq = key_getspacq(&sp->spidx);
2771 newspacq = key_newspacq(&sp->spidx);
3063 &sp->spidx.src.sa, sp->spidx.prefs, sp->spidx.ul_proto, M_WAITOK);
3067 &sp->spidx.dst.sa, sp->spidx.prefd, sp->spidx.ul_proto, M_WAITOK);
3166 m = key_setsadbaddr(SADB_EXT_ADDRESS_SRC, &sp->spidx.src.sa,
3167 sp->spidx.prefs, sp->spidx.ul_proto, M_WAITOK);
3171 m = key_setsadbaddr(SADB_EXT_ADDRESS_DST, &sp->spidx.dst.sa,
3172 sp->spidx.prefd, sp->spidx.ul_proto, M_WAITOK);
4694 /* if spidx.ul_proto == IPSEC_ULPROTO_ANY, ignore. */
5334 key_init_spidx_bymsghdr(struct secpolicyindex *spidx,
5347 memset(spidx, 0, sizeof(*spidx));
5348 spidx->dir = xpl0->sadb_x_policy_dir;
5349 spidx->prefs = src0->sadb_address_prefixlen;
5350 spidx->prefd = dst0->sadb_address_prefixlen;
5351 spidx->ul_proto = src0->sadb_address_proto;
5353 memcpy(&spidx->src, src, src->sa_len);
5354 memcpy(&spidx->dst, dst, dst->sa_len);
5793 /* set spidx if there */
6053 /* set spidx if there */
6862 m = key_setsadbxpolicy(sp->policy, sp->spidx.dir, sp->id,
7090 key_newspacq(const struct secpolicyindex *spidx)
7102 memcpy(&acq->spidx, spidx, sizeof(acq->spidx));
7110 key_getspacq(const struct secpolicyindex *spidx)
7115 if (key_spidx_match_exactly(spidx, &acq->spidx))