Lines Matching defs:replay_esn
15 struct xfrm_replay_state_esn *replay_esn = x->replay_esn;
21 seq_hi = replay_esn->seq_hi;
22 bottom = replay_esn->seq - replay_esn->replay_window + 1;
24 if (likely(replay_esn->seq >= replay_esn->replay_window - 1)) {
166 struct xfrm_replay_state_esn *replay_esn = x->replay_esn;
170 XFRM_SKB_CB(skb)->seq.output.low = ++replay_esn->oseq;
172 if (unlikely(replay_esn->oseq == 0) &&
174 replay_esn->oseq--;
191 struct xfrm_replay_state_esn *replay_esn = x->replay_esn;
194 u32 diff = replay_esn->seq - seq;
196 if (!replay_esn->replay_window)
202 if (likely(seq > replay_esn->seq))
205 if (diff >= replay_esn->replay_window) {
210 pos = (replay_esn->seq - 1) % replay_esn->replay_window;
213 bitnr = (pos - diff) % replay_esn->replay_window;
215 bitnr = replay_esn->replay_window - (diff - pos);
219 if (replay_esn->bmp[nr] & (1U << bitnr))
235 struct xfrm_replay_state_esn *replay_esn = x->replay_esn;
239 if (!replay_esn->replay_window)
242 pos = (replay_esn->seq - 1) % replay_esn->replay_window;
244 if (seq > replay_esn->seq) {
245 diff = seq - replay_esn->seq;
247 if (diff < replay_esn->replay_window) {
249 bitnr = (pos + i) % replay_esn->replay_window;
252 replay_esn->bmp[nr] &= ~(1U << bitnr);
255 nr = (replay_esn->replay_window - 1) >> 5;
257 replay_esn->bmp[i] = 0;
260 bitnr = (pos + diff) % replay_esn->replay_window;
261 replay_esn->seq = seq;
263 diff = replay_esn->seq - seq;
266 bitnr = (pos - diff) % replay_esn->replay_window;
268 bitnr = replay_esn->replay_window - (diff - pos);
273 replay_esn->bmp[nr] |= (1U << bitnr);
282 struct xfrm_replay_state_esn *replay_esn = x->replay_esn;
298 ((replay_esn->seq - preplay_esn->seq < x->replay_maxdiff) &&
299 (replay_esn->oseq - preplay_esn->oseq
310 if (memcmp(x->replay_esn, x->preplay_esn,
311 xfrm_replay_state_esn_len(replay_esn)) == 0) {
319 memcpy(x->preplay_esn, x->replay_esn,
320 xfrm_replay_state_esn_len(replay_esn));
334 struct xfrm_replay_state_esn *replay_esn = x->replay_esn;
350 if (replay_esn->seq_hi == preplay_esn->seq_hi)
351 seq_diff = replay_esn->seq - preplay_esn->seq;
353 seq_diff = ~preplay_esn->seq + replay_esn->seq
356 if (replay_esn->oseq_hi == preplay_esn->oseq_hi)
357 oseq_diff = replay_esn->oseq
361 + replay_esn->oseq + 1;
376 if (memcmp(x->replay_esn, x->preplay_esn,
377 xfrm_replay_state_esn_len(replay_esn)) == 0) {
385 memcpy(x->preplay_esn, x->replay_esn,
386 xfrm_replay_state_esn_len(replay_esn));
399 struct xfrm_replay_state_esn *replay_esn = x->replay_esn;
403 XFRM_SKB_CB(skb)->seq.output.low = ++replay_esn->oseq;
404 XFRM_SKB_CB(skb)->seq.output.hi = replay_esn->oseq_hi;
406 if (unlikely(replay_esn->oseq == 0)) {
407 XFRM_SKB_CB(skb)->seq.output.hi = ++replay_esn->oseq_hi;
409 if (replay_esn->oseq_hi == 0) {
410 replay_esn->oseq--;
411 replay_esn->oseq_hi--;
430 struct xfrm_replay_state_esn *replay_esn = x->replay_esn;
433 u32 wsize = replay_esn->replay_window;
434 u32 top = replay_esn->seq;
440 if (unlikely(seq == 0 && replay_esn->seq_hi == 0 &&
441 (replay_esn->seq < replay_esn->replay_window - 1)))
458 if (diff >= replay_esn->replay_window) {
463 pos = (replay_esn->seq - 1) % replay_esn->replay_window;
466 bitnr = (pos - diff) % replay_esn->replay_window;
468 bitnr = replay_esn->replay_window - (diff - pos);
472 if (replay_esn->bmp[nr] & (1U << bitnr))
501 struct xfrm_replay_state_esn *replay_esn = x->replay_esn;
503 if (!replay_esn->replay_window)
507 pos = (replay_esn->seq - 1) % replay_esn->replay_window;
509 wrap = seq_hi - replay_esn->seq_hi;
511 if ((!wrap && seq > replay_esn->seq) || wrap > 0) {
513 diff = seq - replay_esn->seq;
515 diff = ~replay_esn->seq + seq + 1;
517 if (diff < replay_esn->replay_window) {
519 bitnr = (pos + i) % replay_esn->replay_window;
522 replay_esn->bmp[nr] &= ~(1U << bitnr);
525 nr = (replay_esn->replay_window - 1) >> 5;
527 replay_esn->bmp[i] = 0;
530 bitnr = (pos + diff) % replay_esn->replay_window;
531 replay_esn->seq = seq;
534 replay_esn->seq_hi++;
536 diff = replay_esn->seq - seq;
539 bitnr = (pos - diff) % replay_esn->replay_window;
541 bitnr = replay_esn->replay_window - (diff - pos);
548 replay_esn->bmp[nr] |= (1U << bitnr);
598 struct xfrm_replay_state_esn *replay_esn = x->replay_esn;
600 __u32 oseq = replay_esn->oseq;
617 if (unlikely(oseq < replay_esn->oseq) &&
624 replay_esn->oseq = oseq;
638 struct xfrm_replay_state_esn *replay_esn = x->replay_esn;
640 __u32 oseq = replay_esn->oseq;
641 __u32 oseq_hi = replay_esn->oseq_hi;
660 if (unlikely(xo->seq.low < replay_esn->oseq)) {
663 replay_esn->oseq_hi = oseq_hi;
664 if (replay_esn->oseq_hi == 0) {
665 replay_esn->oseq--;
666 replay_esn->oseq_hi--;
674 replay_esn->oseq = oseq;
734 struct xfrm_replay_state_esn *replay_esn = x->replay_esn;
736 if (replay_esn) {
737 if (replay_esn->replay_window >
738 replay_esn->bmp_len * sizeof(__u32) * 8)
742 if (replay_esn->replay_window == 0)