• Home
  • Raw
  • Download

Lines Matching refs:replay_esn

15 	struct xfrm_replay_state_esn *replay_esn = x->replay_esn;  in xfrm_replay_seqhi()  local
21 seq_hi = replay_esn->seq_hi; in xfrm_replay_seqhi()
22 bottom = replay_esn->seq - replay_esn->replay_window + 1; in xfrm_replay_seqhi()
24 if (likely(replay_esn->seq >= replay_esn->replay_window - 1)) { in xfrm_replay_seqhi()
165 struct xfrm_replay_state_esn *replay_esn = x->replay_esn; in xfrm_replay_overflow_bmp() local
169 XFRM_SKB_CB(skb)->seq.output.low = ++replay_esn->oseq; in xfrm_replay_overflow_bmp()
171 if (unlikely(replay_esn->oseq == 0)) { in xfrm_replay_overflow_bmp()
172 replay_esn->oseq--; in xfrm_replay_overflow_bmp()
189 struct xfrm_replay_state_esn *replay_esn = x->replay_esn; in xfrm_replay_check_bmp() local
192 u32 diff = replay_esn->seq - seq; in xfrm_replay_check_bmp()
194 if (!replay_esn->replay_window) in xfrm_replay_check_bmp()
200 if (likely(seq > replay_esn->seq)) in xfrm_replay_check_bmp()
203 if (diff >= replay_esn->replay_window) { in xfrm_replay_check_bmp()
208 pos = (replay_esn->seq - 1) % replay_esn->replay_window; in xfrm_replay_check_bmp()
211 bitnr = (pos - diff) % replay_esn->replay_window; in xfrm_replay_check_bmp()
213 bitnr = replay_esn->replay_window - (diff - pos); in xfrm_replay_check_bmp()
217 if (replay_esn->bmp[nr] & (1U << bitnr)) in xfrm_replay_check_bmp()
233 struct xfrm_replay_state_esn *replay_esn = x->replay_esn; in xfrm_replay_advance_bmp() local
237 if (!replay_esn->replay_window) in xfrm_replay_advance_bmp()
240 pos = (replay_esn->seq - 1) % replay_esn->replay_window; in xfrm_replay_advance_bmp()
242 if (seq > replay_esn->seq) { in xfrm_replay_advance_bmp()
243 diff = seq - replay_esn->seq; in xfrm_replay_advance_bmp()
245 if (diff < replay_esn->replay_window) { in xfrm_replay_advance_bmp()
247 bitnr = (pos + i) % replay_esn->replay_window; in xfrm_replay_advance_bmp()
250 replay_esn->bmp[nr] &= ~(1U << bitnr); in xfrm_replay_advance_bmp()
253 nr = (replay_esn->replay_window - 1) >> 5; in xfrm_replay_advance_bmp()
255 replay_esn->bmp[i] = 0; in xfrm_replay_advance_bmp()
258 bitnr = (pos + diff) % replay_esn->replay_window; in xfrm_replay_advance_bmp()
259 replay_esn->seq = seq; in xfrm_replay_advance_bmp()
261 diff = replay_esn->seq - seq; in xfrm_replay_advance_bmp()
264 bitnr = (pos - diff) % replay_esn->replay_window; in xfrm_replay_advance_bmp()
266 bitnr = replay_esn->replay_window - (diff - pos); in xfrm_replay_advance_bmp()
271 replay_esn->bmp[nr] |= (1U << bitnr); in xfrm_replay_advance_bmp()
280 struct xfrm_replay_state_esn *replay_esn = x->replay_esn; in xfrm_replay_notify_bmp() local
296 ((replay_esn->seq - preplay_esn->seq < x->replay_maxdiff) && in xfrm_replay_notify_bmp()
297 (replay_esn->oseq - preplay_esn->oseq in xfrm_replay_notify_bmp()
308 if (memcmp(x->replay_esn, x->preplay_esn, in xfrm_replay_notify_bmp()
309 xfrm_replay_state_esn_len(replay_esn)) == 0) { in xfrm_replay_notify_bmp()
317 memcpy(x->preplay_esn, x->replay_esn, in xfrm_replay_notify_bmp()
318 xfrm_replay_state_esn_len(replay_esn)); in xfrm_replay_notify_bmp()
332 struct xfrm_replay_state_esn *replay_esn = x->replay_esn; in xfrm_replay_notify_esn() local
348 if (replay_esn->seq_hi == preplay_esn->seq_hi) in xfrm_replay_notify_esn()
349 seq_diff = replay_esn->seq - preplay_esn->seq; in xfrm_replay_notify_esn()
351 seq_diff = ~preplay_esn->seq + replay_esn->seq in xfrm_replay_notify_esn()
354 if (replay_esn->oseq_hi == preplay_esn->oseq_hi) in xfrm_replay_notify_esn()
355 oseq_diff = replay_esn->oseq in xfrm_replay_notify_esn()
359 + replay_esn->oseq + 1; in xfrm_replay_notify_esn()
374 if (memcmp(x->replay_esn, x->preplay_esn, in xfrm_replay_notify_esn()
375 xfrm_replay_state_esn_len(replay_esn)) == 0) { in xfrm_replay_notify_esn()
383 memcpy(x->preplay_esn, x->replay_esn, in xfrm_replay_notify_esn()
384 xfrm_replay_state_esn_len(replay_esn)); in xfrm_replay_notify_esn()
397 struct xfrm_replay_state_esn *replay_esn = x->replay_esn; in xfrm_replay_overflow_esn() local
401 XFRM_SKB_CB(skb)->seq.output.low = ++replay_esn->oseq; in xfrm_replay_overflow_esn()
402 XFRM_SKB_CB(skb)->seq.output.hi = replay_esn->oseq_hi; in xfrm_replay_overflow_esn()
404 if (unlikely(replay_esn->oseq == 0)) { in xfrm_replay_overflow_esn()
405 XFRM_SKB_CB(skb)->seq.output.hi = ++replay_esn->oseq_hi; in xfrm_replay_overflow_esn()
407 if (replay_esn->oseq_hi == 0) { in xfrm_replay_overflow_esn()
408 replay_esn->oseq--; in xfrm_replay_overflow_esn()
409 replay_esn->oseq_hi--; in xfrm_replay_overflow_esn()
428 struct xfrm_replay_state_esn *replay_esn = x->replay_esn; in xfrm_replay_check_esn() local
431 u32 wsize = replay_esn->replay_window; in xfrm_replay_check_esn()
432 u32 top = replay_esn->seq; in xfrm_replay_check_esn()
438 if (unlikely(seq == 0 && replay_esn->seq_hi == 0 && in xfrm_replay_check_esn()
439 (replay_esn->seq < replay_esn->replay_window - 1))) in xfrm_replay_check_esn()
456 if (diff >= replay_esn->replay_window) { in xfrm_replay_check_esn()
461 pos = (replay_esn->seq - 1) % replay_esn->replay_window; in xfrm_replay_check_esn()
464 bitnr = (pos - diff) % replay_esn->replay_window; in xfrm_replay_check_esn()
466 bitnr = replay_esn->replay_window - (diff - pos); in xfrm_replay_check_esn()
470 if (replay_esn->bmp[nr] & (1U << bitnr)) in xfrm_replay_check_esn()
499 struct xfrm_replay_state_esn *replay_esn = x->replay_esn; in xfrm_replay_advance_esn() local
501 if (!replay_esn->replay_window) in xfrm_replay_advance_esn()
505 pos = (replay_esn->seq - 1) % replay_esn->replay_window; in xfrm_replay_advance_esn()
507 wrap = seq_hi - replay_esn->seq_hi; in xfrm_replay_advance_esn()
509 if ((!wrap && seq > replay_esn->seq) || wrap > 0) { in xfrm_replay_advance_esn()
511 diff = seq - replay_esn->seq; in xfrm_replay_advance_esn()
513 diff = ~replay_esn->seq + seq + 1; in xfrm_replay_advance_esn()
515 if (diff < replay_esn->replay_window) { in xfrm_replay_advance_esn()
517 bitnr = (pos + i) % replay_esn->replay_window; in xfrm_replay_advance_esn()
520 replay_esn->bmp[nr] &= ~(1U << bitnr); in xfrm_replay_advance_esn()
523 nr = (replay_esn->replay_window - 1) >> 5; in xfrm_replay_advance_esn()
525 replay_esn->bmp[i] = 0; in xfrm_replay_advance_esn()
528 bitnr = (pos + diff) % replay_esn->replay_window; in xfrm_replay_advance_esn()
529 replay_esn->seq = seq; in xfrm_replay_advance_esn()
532 replay_esn->seq_hi++; in xfrm_replay_advance_esn()
534 diff = replay_esn->seq - seq; in xfrm_replay_advance_esn()
537 bitnr = (pos - diff) % replay_esn->replay_window; in xfrm_replay_advance_esn()
539 bitnr = replay_esn->replay_window - (diff - pos); in xfrm_replay_advance_esn()
546 replay_esn->bmp[nr] |= (1U << bitnr); in xfrm_replay_advance_esn()
595 struct xfrm_replay_state_esn *replay_esn = x->replay_esn; in xfrm_replay_overflow_offload_bmp() local
597 __u32 oseq = replay_esn->oseq; in xfrm_replay_overflow_offload_bmp()
614 if (unlikely(oseq < replay_esn->oseq)) { in xfrm_replay_overflow_offload_bmp()
620 replay_esn->oseq = oseq; in xfrm_replay_overflow_offload_bmp()
634 struct xfrm_replay_state_esn *replay_esn = x->replay_esn; in xfrm_replay_overflow_offload_esn() local
636 __u32 oseq = replay_esn->oseq; in xfrm_replay_overflow_offload_esn()
637 __u32 oseq_hi = replay_esn->oseq_hi; in xfrm_replay_overflow_offload_esn()
656 if (unlikely(oseq < replay_esn->oseq)) { in xfrm_replay_overflow_offload_esn()
659 replay_esn->oseq_hi = oseq_hi; in xfrm_replay_overflow_offload_esn()
660 if (replay_esn->oseq_hi == 0) { in xfrm_replay_overflow_offload_esn()
661 replay_esn->oseq--; in xfrm_replay_overflow_offload_esn()
662 replay_esn->oseq_hi--; in xfrm_replay_overflow_offload_esn()
670 replay_esn->oseq = oseq; in xfrm_replay_overflow_offload_esn()
730 struct xfrm_replay_state_esn *replay_esn = x->replay_esn; in xfrm_init_replay() local
732 if (replay_esn) { in xfrm_init_replay()
733 if (replay_esn->replay_window > in xfrm_init_replay()
734 replay_esn->bmp_len * sizeof(__u32) * 8) in xfrm_init_replay()
738 if (replay_esn->replay_window == 0) in xfrm_init_replay()