wireguard: improve sending WG interface dump details
Include the user_instance in wireguard interface details. In addition to dumping all wireguard interface details, also allow selective dumping of just one interface. Type: improvement Signed-off-by: Jon Loeliger <jdl@netgate.com> Change-Id: Iaf1093c6ae3eb00a685f34b2e0171285b02fae2b
This commit is contained in:
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
option version = "0.1.0";
|
||||
option version = "0.2.0";
|
||||
|
||||
import "vnet/interface_types.api";
|
||||
import "vnet/ip/ip_types.api";
|
||||
|
@@ -109,6 +109,7 @@ wireguard_if_send_details (index_t wgii, void *data)
|
||||
local->l_public, NOISE_PUBLIC_KEY_LEN);
|
||||
rmp->interface.sw_if_index = htonl (wgi->sw_if_index);
|
||||
rmp->interface.port = htons (wgi->port);
|
||||
rmp->interface.user_instance = htonl (wgi->user_instance);
|
||||
ip_address_encode2 (&wgi->src_ip, &rmp->interface.src_ip);
|
||||
|
||||
rmp->context = ctx->context;
|
||||
@@ -137,7 +138,15 @@ vl_api_wireguard_interface_dump_t_handler (vl_api_wireguard_interface_dump_t *
|
||||
.show_private_key = mp->show_private_key,
|
||||
};
|
||||
|
||||
wg_if_walk (wireguard_if_send_details, &ctx);
|
||||
u32 sw_if_index = ntohl (mp->sw_if_index);
|
||||
if (sw_if_index == ~0)
|
||||
wg_if_walk (wireguard_if_send_details, &ctx);
|
||||
else
|
||||
{
|
||||
index_t wgii = wg_if_find_by_sw_if_index (sw_if_index);
|
||||
if (wgii != INDEX_INVALID)
|
||||
wireguard_if_send_details (wgii, &ctx);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
Reference in New Issue
Block a user