summaryrefslogtreecommitdiffstats
path: root/src/vnet/srv6/sr_pt_node.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/srv6/sr_pt_node.c')
-rw-r--r--src/vnet/srv6/sr_pt_node.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/vnet/srv6/sr_pt_node.c b/src/vnet/srv6/sr_pt_node.c
index 338ec49102c..fa8b1f69b57 100644
--- a/src/vnet/srv6/sr_pt_node.c
+++ b/src/vnet/srv6/sr_pt_node.c
@@ -108,6 +108,10 @@ VLIB_NODE_FN (sr_pt_node)
u32 n_left_to_next;
vlib_get_next_frame (vm, node, next_index, to_next, n_left_to_next);
+ // Getting the timestamp (one for each batch of packets)
+ timestamp_64_t t64 = {};
+ unix_time_now_nsec_fraction (&t64.sec, &t64.nsec);
+
// Single loop for potentially the last three packets
while (n_left_from > 0 && n_left_to_next > 0)
{
@@ -123,7 +127,6 @@ VLIB_NODE_FN (sr_pt_node)
to_next += 1;
n_left_from -= 1;
n_left_to_next -= 1;
- timestamp_64_t t64 = {};
b0 = vlib_get_buffer (vm, bi0);
iface = vnet_buffer (b0)->sw_if_index[VLIB_TX];
@@ -132,7 +135,6 @@ VLIB_NODE_FN (sr_pt_node)
{
en0 = vlib_buffer_get_current (b0);
ip0 = (void *) (en0 + 1);
- unix_time_now_nsec_fraction (&t64.sec, &t64.nsec);
pt_midpoint_processing (vm, node, b0, ip0, ls, t64);
pt_behavior = PT_BEHAVIOR_MID;
}