/** * nm_device_infiniband_get_carrier: * @device: a #NMDeviceInfiniband * * Whether the device has carrier. * * Returns: %TRUE if the device has carrier **/ gboolean nm_device_infiniband_get_carrier (NMDeviceInfiniband *device) { g_return_val_if_fail (NM_IS_DEVICE_INFINIBAND (device), FALSE); return NM_DEVICE_INFINIBAND_GET_PRIVATE (device)->carrier; }
/** * nm_device_infiniband_get_hw_address: * @device: a #NMDeviceInfiniband * * Gets the hardware (MAC) address of the #NMDeviceInfiniband * * Returns: the hardware address. This is the internal string used by the * device, and must not be modified. **/ const char * nm_device_infiniband_get_hw_address (NMDeviceInfiniband *device) { g_return_val_if_fail (NM_IS_DEVICE_INFINIBAND (device), NULL); return nm_str_not_empty (NM_DEVICE_INFINIBAND_GET_PRIVATE (device)->hw_address); }
/** * nm_device_infiniband_get_hw_address: * @device: a #NMDeviceInfiniband * * Gets the hardware (MAC) address of the #NMDeviceInfiniband * * Returns: the hardware address. This is the internal string used by the * device, and must not be modified. **/ const char * nm_device_infiniband_get_hw_address (NMDeviceInfiniband *device) { g_return_val_if_fail (NM_IS_DEVICE_INFINIBAND (device), NULL); _nm_object_ensure_inited (NM_OBJECT (device)); return NM_DEVICE_INFINIBAND_GET_PRIVATE (device)->hw_address; }
static gchar * device_status_to_localized_string (NMDevice *nm_device, const gchar *speed) { NMDeviceState state; GString *string; const gchar *state_str = NULL, *reason_str = NULL; string = g_string_new (NULL); state = nm_device_get_state (nm_device); if (state == NM_DEVICE_STATE_UNAVAILABLE) { if (nm_device_get_firmware_missing (nm_device)) { /* TRANSLATORS: device status */ state_str = _("Firmware missing"); } else if (NM_IS_DEVICE_ETHERNET (nm_device) && !nm_device_ethernet_get_carrier (NM_DEVICE_ETHERNET (nm_device))) { /* TRANSLATORS: device status */ state_str = _("Cable unplugged"); } else if (NM_IS_DEVICE_INFINIBAND (nm_device) && !nm_device_infiniband_get_carrier (NM_DEVICE_INFINIBAND (nm_device))) { state_str = _("Cable unplugged"); } } if (!state_str) state_str = device_state_to_localized_string (state); if (state_str) g_string_append (string, state_str); if (state > NM_DEVICE_STATE_UNAVAILABLE && speed) { if (string->len) g_string_append (string, " - "); g_string_append (string, speed); } else if (state == NM_DEVICE_STATE_UNAVAILABLE || state == NM_DEVICE_STATE_DISCONNECTED || state == NM_DEVICE_STATE_DEACTIVATING || state == NM_DEVICE_STATE_FAILED) { reason_str = device_state_reason_to_localized_string (nm_device); if (*reason_str) { if (string->len) g_string_append (string, " - "); g_string_append (string, reason_str); } } return g_string_free (string, FALSE); }
static NMDevice * create_virtual_device_for_connection (NMDeviceFactory *factory, NMConnection *connection, NMDevice *parent, GError **error) { NMSettingInfiniband *s_infiniband; int p_key, parent_ifindex; const char *iface; if (!nm_connection_is_type (connection, NM_SETTING_INFINIBAND_SETTING_NAME)) return NULL; g_return_val_if_fail (NM_IS_DEVICE_INFINIBAND (parent), NULL); s_infiniband = nm_connection_get_setting_infiniband (connection); iface = nm_setting_infiniband_get_virtual_interface_name (s_infiniband); g_return_val_if_fail (iface != NULL, NULL); parent_ifindex = nm_device_get_ifindex (parent); p_key = nm_setting_infiniband_get_p_key (s_infiniband); if ( !nm_platform_infiniband_partition_add (parent_ifindex, p_key) && nm_platform_get_error () != NM_PLATFORM_ERROR_EXISTS) { nm_log_warn (LOGD_DEVICE | LOGD_INFINIBAND, "(%s): failed to add InfiniBand P_Key interface for '%s': %s", iface, nm_connection_get_id (connection), nm_platform_get_error_msg ()); return NULL; } return (NMDevice *) g_object_new (NM_TYPE_DEVICE_INFINIBAND, NM_DEVICE_IFACE, iface, NM_DEVICE_DRIVER, nm_device_get_driver (parent), NM_DEVICE_TYPE_DESC, "InfiniBand", NM_DEVICE_DEVICE_TYPE, NM_DEVICE_TYPE_INFINIBAND, NULL); }