## NMSettingInfiniband NMSettingInfiniband — Describes connection properties for IP-over-InfiniBand networks |

## Synopsis

    #define             NM_SETTING_INFINIBAND_SETTING_NAME
    #define             NM_SETTING_INFINIBAND_MAC_ADDRESS
    #define             NM_SETTING_INFINIBAND_MTU
    #define             NM_SETTING_INFINIBAND_TRANSPORT_MODE
    #define             NM_SETTING_INFINIBAND_P_KEY
    #define             NM_SETTING_INFINIBAND_PARENT
    struct              NMSettingInfiniband;
                        NMSettingInfinibandClass;
    NMSetting *         nm_setting_infiniband_new           (void);
    const char *        nm_setting_infiniband_get_mac_address
                                                            (NMSettingInfiniband *setting);
    guint32             nm_setting_infiniband_get_mtu       (NMSettingInfiniband *setting);
    const char *        nm_setting_infiniband_get_transport_mode
                                                            (NMSettingInfiniband *setting);
    int                 nm_setting_infiniband_get_p_key     (NMSettingInfiniband *setting);
    const char *        nm_setting_infiniband_get_parent    (NMSettingInfiniband *setting);
    const char *        nm_setting_infiniband_get_virtual_interface_name
                                                            (NMSettingInfiniband *setting);

## Object Hierarchy

      GObject
       +----NMSetting
             +----NMSettingInfiniband

## Properties

      "mac-address"              gchar*                : Read / Write
      "mtu"                      guint                 : Read / Write / Construct
      "p-key"                    gint                  : Read / Write / Construct
      "parent"                   gchar*                : Read / Write / Construct
      "transport-mode"           gchar*                : Read / Write / Construct

## Description

The NMSettingInfiniband object is a NMSetting subclass that describes properties necessary for connection to IP-over-InfiniBand networks.

## Details

### NM_SETTING_INFINIBAND_SETTING_NAME

    #define NM_SETTING_INFINIBAND_SETTING_NAME "infiniband"

### NM_SETTING_INFINIBAND_MAC_ADDRESS

    #define NM_SETTING_INFINIBAND_MAC_ADDRESS    "mac-address"

### NM_SETTING_INFINIBAND_MTU

    #define NM_SETTING_INFINIBAND_MTU            "mtu"

### NM_SETTING_INFINIBAND_TRANSPORT_MODE

    #define NM_SETTING_INFINIBAND_TRANSPORT_MODE "transport-mode"

### NM_SETTING_INFINIBAND_P_KEY

    #define NM_SETTING_INFINIBAND_P_KEY          "p-key"

### NM_SETTING_INFINIBAND_PARENT

    #define NM_SETTING_INFINIBAND_PARENT         "parent"

### struct NMSettingInfiniband

    struct NMSettingInfiniband;

### NMSettingInfinibandClass

    typedef struct {
    	NMSettingClass parent;
    } NMSettingInfinibandClass;

### nm_setting_infiniband_new ()

    NMSetting *         nm_setting_infiniband_new           (void);

Creates a new NMSettingInfiniband object with default values.

Returns : | the new empty NMSettingInfiniband object. [transfer full]

### nm_setting_infiniband_get_mac_address ()

    const char *        nm_setting_infiniband_get_mac_address
                                                            (NMSettingInfiniband *setting);

`setting` : | the NMSettingInfiniband
Returns : | the "mac-address" property of the setting

### nm_setting_infiniband_get_mtu ()

    guint32             nm_setting_infiniband_get_mtu       (NMSettingInfiniband *setting);

`setting` : | the NMSettingInfiniband
Returns : | the "mtu" property of the setting

### nm_setting_infiniband_get_transport_mode ()

    const char *        nm_setting_infiniband_get_transport_mode
                                                            (NMSettingInfiniband *setting);

Returns the transport mode for this device. Either 'datagram' or 'connected'.

`setting` : | the NMSettingInfiniband
Returns : | the IPoIB transport mode

### nm_setting_infiniband_get_p_key ()

    int                 nm_setting_infiniband_get_p_key     (NMSettingInfiniband *setting);

Returns the P_Key to use for this device. A value of -1 means to use the default P_Key (aka "the P_Key at index 0"). Otherwise it is a 16-bit unsigned integer.

`setting` : | the NMSettingInfiniband
Returns : | the IPoIB P_Key

### nm_setting_infiniband_get_parent ()

    const char *        nm_setting_infiniband_get_parent    (NMSettingInfiniband *setting);

Returns the parent interface name for this device, if set.

`setting` : | the NMSettingInfiniband
Returns : | the parent interface name

### nm_setting_infiniband_get_virtual_interface_name ()

    const char *        nm_setting_infiniband_get_virtual_interface_name
                                                            (NMSettingInfiniband *setting);

Returns the interface name created by combining "parent" and "p-key". (If either property is unset, this will return `NULL`.)

`setting` : | the NMSettingInfiniband
Returns : | the interface name, or `NULL`

## Property Details

### The `"mac-address"` property

      "mac-address"              gchar*                : Read / Write

If specified, this connection will only apply to the IPoIB device whose permanent MAC address matches. This property does not change the MAC address of the device (i.e. MAC spoofing).

Default value: NULL

### The `"mtu"` property

      "mtu"                      guint                 : Read / Write / Construct

If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames.

Default value: 0

### The `"p-key"` property

      "p-key"                    gint                  : Read / Write / Construct

The InfiniBand P_Key to use for this device. A value of -1 means to use the default P_Key (aka "the P_Key at index 0"). Otherwise it is a 16-bit unsigned integer, whose high bit is set if it is a "full membership" P_Key.

Allowed values: [-1,65535]

Default value: -1

### The `"parent"` property

      "parent"                   gchar*                : Read / Write / Construct

The interface name of the parent device of this device. Normally `NULL`, but if the "p_key" property is set, then you must specify the base device by setting either this property or "mac-address".

Default value: NULL

### The `"transport-mode"` property

      "transport-mode"           gchar*                : Read / Write / Construct

The IP-over-InfiniBand transport mode. Either "datagram" or "connected".

Default value: NULL