aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/dhcp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/dhcp')
-rw-r--r--src/plugins/dhcp/dhcp6_ia_na_client_cp.c25
-rw-r--r--src/plugins/dhcp/dhcp6_pd_client_cp.c25
2 files changed, 30 insertions, 20 deletions
diff --git a/src/plugins/dhcp/dhcp6_ia_na_client_cp.c b/src/plugins/dhcp/dhcp6_ia_na_client_cp.c
index b48559929e4..4d59f607fe1 100644
--- a/src/plugins/dhcp/dhcp6_ia_na_client_cp.c
+++ b/src/plugins/dhcp/dhcp6_ia_na_client_cp.c
@@ -557,8 +557,8 @@ dhcp6_clients_show_command_function (vlib_main_t * vm,
clib_error_t *error = 0;
client_state_t *cs;
f64 current_time = vlib_time_now (vm);
- char buf1[256];
- char buf2[256];
+ u8 *buf1 = 0;
+ u8 *buf2 = 0;
const char *rebinding;
u32 i;
@@ -567,26 +567,28 @@ dhcp6_clients_show_command_function (vlib_main_t * vm,
cs = &rm->client_state_by_sw_if_index[i];
if (cs->enabled)
{
+ vec_reset_length (buf1);
+ vec_reset_length (buf2);
if (cs->T1_due_time != DBL_MAX && cs->T1_due_time > current_time)
{
- sprintf (buf1, "%u remaining",
- (u32) round (cs->T1_due_time - current_time));
+ buf1 = format (buf1, "%u remaining",
+ (u32) round (cs->T1_due_time - current_time));
}
else
- sprintf (buf1, "timeout");
+ buf1 = format (buf1, "timeout");
if (cs->T2_due_time != DBL_MAX && cs->T2_due_time > current_time)
- sprintf (buf2, "%u remaining",
- (u32) round (cs->T2_due_time - current_time));
+ buf2 = format (buf2, "%u remaining",
+ (u32) round (cs->T2_due_time - current_time));
else
- sprintf (buf2, "timeout");
+ buf2 = format (buf2, "timeout");
if (cs->rebinding)
rebinding = ", REBINDING";
else
rebinding = "";
if (cs->T1)
vlib_cli_output (vm,
- "sw_if_index: %u, T1: %u (%s), "
- "T2: %u (%s), server index: %d%s", i,
+ "sw_if_index: %u, T1: %u (%v), "
+ "T2: %u (%v), server index: %d%s", i,
cs->T1, buf1, cs->T2, buf2,
cs->server_index, rebinding);
else
@@ -594,6 +596,9 @@ dhcp6_clients_show_command_function (vlib_main_t * vm,
}
}
+ vec_free (buf1);
+ vec_free (buf2);
+
return error;
}
diff --git a/src/plugins/dhcp/dhcp6_pd_client_cp.c b/src/plugins/dhcp/dhcp6_pd_client_cp.c
index 1c0b286bd30..077b4a38639 100644
--- a/src/plugins/dhcp/dhcp6_pd_client_cp.c
+++ b/src/plugins/dhcp/dhcp6_pd_client_cp.c
@@ -1176,8 +1176,8 @@ ip6_pd_clients_show_command_function (vlib_main_t * vm,
client_state_t *cs;
f64 current_time = vlib_time_now (vm);
const u8 *prefix_group;
- char buf1[256];
- char buf2[256];
+ u8 *buf1 = 0;
+ u8 *buf2 = 0;
const char *rebinding;
u32 i;
@@ -1186,18 +1186,20 @@ ip6_pd_clients_show_command_function (vlib_main_t * vm,
cs = &rm->client_state_by_sw_if_index[i];
if (cs->enabled)
{
+ vec_reset_length (buf1);
+ vec_reset_length (buf2);
if (cs->T1_due_time != DBL_MAX && cs->T1_due_time > current_time)
{
- sprintf (buf1, "%u remaining",
- (u32) round (cs->T1_due_time - current_time));
+ buf1 = format (buf1, "%u remaining",
+ (u32) round (cs->T1_due_time - current_time));
}
else
- sprintf (buf1, "timeout");
+ buf1 = format (buf1, "timeout");
if (cs->T2_due_time != DBL_MAX && cs->T2_due_time > current_time)
- sprintf (buf2, "%u remaining",
- (u32) round (cs->T2_due_time - current_time));
+ buf2 = format (buf2, "%u remaining",
+ (u32) round (cs->T2_due_time - current_time));
else
- sprintf (buf2, "timeout");
+ buf2 = format (buf2, "timeout");
if (cs->rebinding)
rebinding = ", REBINDING";
else
@@ -1206,8 +1208,8 @@ ip6_pd_clients_show_command_function (vlib_main_t * vm,
pm->prefix_group_name_by_index[cs->prefix_group_index];
if (cs->T1)
vlib_cli_output (vm,
- "sw_if_index: %u, prefix group: %s, T1: %u (%s), "
- "T2: %u (%s), server index: %d%s", i,
+ "sw_if_index: %u, prefix group: %s, T1: %u (%v), "
+ "T2: %u (%v), server index: %d%s", i,
prefix_group, cs->T1, buf1, cs->T2, buf2,
cs->server_index, rebinding);
else
@@ -1216,6 +1218,9 @@ ip6_pd_clients_show_command_function (vlib_main_t * vm,
}
}
+ vec_free (buf1);
+ vec_free (buf2);
+
return error;
}