Lines Matching refs:sp_cache
200 KASSERT(dir < __arraycount(pcbsp->sp_cache));
209 if (ipsec_spdgen != pcbsp->sp_cache[dir].cachegen) {
213 sp = pcbsp->sp_cache[dir].cachesp;
233 if (memcmp(&pcbsp->sp_cache[dir].cacheidx, &spidx,
255 key_sp_refcnt(sp), pcbsp->sp_cache[dir].cachesp);
267 KASSERT(dir < __arraycount(pcbsp->sp_cache));
270 pcbsp->sp_cache[dir].cachesp = NULL;
271 pcbsp->sp_cache[dir].cachehint = IPSEC_PCBHINT_UNKNOWN;
272 if (ipsec_setspidx(m, &pcbsp->sp_cache[dir].cacheidx, dir, 1) != 0) {
275 pcbsp->sp_cache[dir].cachesp = sp;
276 if (pcbsp->sp_cache[dir].cachesp) {
282 switch (pcbsp->sp_cache[dir].cachesp->policy) {
285 pcbsp->sp_cache[dir].cachehint =
289 pcbsp->sp_cache[dir].cachehint =
294 pcbsp->sp_cache[dir].cachegen = ipsec_spdgen;
309 pcbsp->sp_cache[i].cachesp = NULL;
310 pcbsp->sp_cache[i].cachehint = IPSEC_PCBHINT_UNKNOWN;
311 pcbsp->sp_cache[i].cachegen = 0;
312 memset(&pcbsp->sp_cache[i].cacheidx, 0,
313 sizeof(pcbsp->sp_cache[i].cacheidx));