@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
@param private_key - private key in binary format of this device
+ @param public_key - public key in binary format of this device
@param port - port of this device
@param src_ip - packet sent through this interface us this
address as the IP source.
u32 user_instance [default=0xffffffff];
vl_api_interface_index_t sw_if_index;
u8 private_key[32];
+ u8 public_key[32];
u16 port;
vl_api_address_t src_ip;
};
{
vl_api_registration_t *reg;
u32 context;
+ u8 show_private_key;
} wg_deatils_walk_t;
static walk_rc_t
rmp->_vl_msg_id = htons (VL_API_WIREGUARD_INTERFACE_DETAILS +
wg_main.msg_id_base);
- clib_memcpy (rmp->interface.private_key,
- local->l_private, NOISE_PUBLIC_KEY_LEN);
+ if (ctx->show_private_key)
+ clib_memcpy (rmp->interface.private_key,
+ local->l_private, NOISE_PUBLIC_KEY_LEN);
+ clib_memcpy (rmp->interface.public_key,
+ local->l_public, NOISE_PUBLIC_KEY_LEN);
rmp->interface.sw_if_index = htonl (wgi->sw_if_index);
rmp->interface.port = htons (wgi->port);
ip_address_encode2 (&wgi->src_ip, &rmp->interface.src_ip);
wg_deatils_walk_t ctx = {
.reg = reg,
.context = mp->context,
+ .show_private_key = mp->show_private_key,
};
wg_if_walk (wireguard_if_send_details, &ctx);