Example #1
0
static gboolean
do_veth_get_properties (char **argv)
{
	int ifindex = parse_ifindex (*argv++);
	NMPlatformVethProperties props;

	if (!nm_platform_veth_get_properties (NM_PLATFORM_GET, ifindex, &props))
		return FALSE;

	printf ("peer: %d\n", props.peer);

	return TRUE;
}
Example #2
0
static NMDevice *
get_peer (NMDeviceVeth *self)
{
	NMDeviceVethPrivate *priv = NM_DEVICE_VETH_GET_PRIVATE (self);
	NMDevice *device = NM_DEVICE (self), *peer = NULL;
	NMPlatformVethProperties props;

	if (priv->ever_had_peer)
		return priv->peer;

	if (!nm_platform_veth_get_properties (nm_device_get_ifindex (device), &props)) {
		_LOGW (LOGD_HW, "could not read veth properties");
		return NULL;
	}

	peer = nm_manager_get_device_by_ifindex (nm_manager_get (), props.peer);
	if (peer && NM_IS_DEVICE_VETH (peer)) {
		set_peer (self, peer);
		set_peer (NM_DEVICE_VETH (peer), device);
	}

	return priv->peer;
}