};
u8 is_ip6;
u32 seq;
+ u32 sa_index;
} ipsec_tun_protect_input_trace_t;
static u8 *
va_arg (*args, ipsec_tun_protect_input_trace_t *);
if (t->is_ip6)
- s = format (s, "IPSec: %U seq %u",
- format_ipsec6_tunnel_key, &t->key6, t->seq);
+ s = format (s, "IPSec: %U seq %u sa %d",
+ format_ipsec6_tunnel_key, &t->key6, t->seq, t->sa_index);
else
- s = format (s, "IPSec: %U seq %u",
- format_ipsec4_tunnel_key, &t->key4, t->seq);
+ s = format (s, "IPSec: %U seq %u sa %d",
+ format_ipsec4_tunnel_key, &t->key4, t->seq, t->sa_index);
return s;
}
else
clib_memcpy (&tr->key4, &key40, sizeof (tr->key4));
tr->is_ip6 = is_ip6;
- tr->seq = clib_host_to_net_u32 (esp0->seq);
+ tr->seq = (len0 >= sizeof (*esp0) ?
+ clib_host_to_net_u32 (esp0->seq) : ~0);
+ tr->sa_index = vnet_buffer (b[0])->ipsec.sad_index;
}
}