## NMSettingInfiniband

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

## Synopsis

    #include <nm-setting-infiniband.h>

    #define             NM_SETTING_INFINIBAND_SETTING_NAME
    enum                NMSettingInfinibandError;
    #define             NM_SETTING_INFINIBAND_ERROR
    GQuark              nm_setting_infiniband_error_quark   (void);
    #define             NM_SETTING_INFINIBAND_MAC_ADDRESS
    #define             NM_SETTING_INFINIBAND_MTU
    #define             NM_SETTING_INFINIBAND_TRANSPORT_MODE
                        NMSettingInfiniband;
                        NMSettingInfinibandClass;
    NMSetting *         nm_setting_infiniband_new           (void);
    const GByteArray *  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);

## Object Hierarchy

      GEnum
       +----NMSettingInfinibandError

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

## Properties

      "mac-address"              GArray_guchar_*       : Read / Write
      "mtu"                      guint                 : 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"

### enum NMSettingInfinibandError

    typedef enum {
    	NM_SETTING_INFINIBAND_ERROR_UNKNOWN = 0,      /*< nick=UnknownError >*/
    	NM_SETTING_INFINIBAND_ERROR_INVALID_PROPERTY, /*< nick=InvalidProperty >*/
    	NM_SETTING_INFINIBAND_ERROR_MISSING_PROPERTY  /*< nick=MissingProperty >*/
    } NMSettingInfinibandError;

`NM_SETTING_INFINIBAND_ERROR_UNKNOWN` | unknown or unclassified error
`NM_SETTING_INFINIBAND_ERROR_INVALID_PROPERTY` | the property was invalid
`NM_SETTING_INFINIBAND_ERROR_MISSING_PROPERTY` | the property was missing and is required

### NM_SETTING_INFINIBAND_ERROR

    #define NM_SETTING_INFINIBAND_ERROR nm_setting_infiniband_error_quark ()

### nm_setting_infiniband_error_quark ()

    GQuark              nm_setting_infiniband_error_quark   (void);

Registers an error quark for NMSettingInfiniband if necessary.

Returns : | the error quark used for NMSettingInfiniband errors.

### 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"

### NMSettingInfiniband

    typedef struct _NMSettingInfiniband NMSettingInfiniband;

### NMSettingInfinibandClass

    typedef struct {
    	NMSettingClass parent;

    	/* Padding for future expansion */
    	void (*_reserved1) (void);
    	void (*_reserved2) (void);
    	void (*_reserved3) (void);
    	void (*_reserved4) (void);
    } 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 GByteArray *  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

## Property Details

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

      "mac-address"              GArray_guchar_*       : 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).

### 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 `"transport-mode"` property

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

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

Default value: NULL