iPXE
Data Structures | Defines | Enumerations | Functions
xsigo.h File Reference

Xsigo virtual Ethernet devices. More...

#include <stdint.h>
#include <ipxe/infiniband.h>
#include <ipxe/eoib.h>

Go to the source code of this file.

Data Structures

struct  xsigo_server_id
 A Xsigo server identifier. More...
struct  xsigo_manager_id
 A Xsigo configuration manager identifier. More...
struct  xsigo_managers_request
 A Xsigo configuration manager request MAD. More...
struct  xsigo_managers_reply
 A Xsigo configuration manager reply MAD. More...
union  xsigo_mad
 A Xsigo MAD. More...
struct  xsmp_node_id
 An XSMP node identifier. More...
struct  xsmp_message_header
 An XSMP message header. More...
struct  xsmp_session_message
 An XSMP session message. More...
struct  xsmp_xve_ca
 XSMP virtual Ethernet channel adapter parameters. More...
struct  xsmp_xve_mac
 XSMP virtual Ethernet MAC address. More...
struct  xsmp_xve_message
 An XSMP virtual Ethernet message. More...
union  xsmp_message
 An XSMP message. More...

Defines

#define XDS_SERVICE_NAME   "XSIGOXDS"
 Xsigo directory service record name.
#define XCM_SERVICE_ID   { 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x97, 0x01 }
 Xsigo configuration manager service ID.
#define XSIGO_MGMT_CLASS   0x0b
 Xsigo management class.
#define XSIGO_MGMT_CLASS_VERSION   2
 Xsigo management class version.
#define XSIGO_ATTR_XCM_REQUEST   0xb002
 Xsigo configuration manager request MAD.
#define XSIGO_OS_TYPE_GENERIC   0x40
 Generic operating system type.
#define XVE_PREFIX   0xff15101cUL
 Xsigo virtual Ethernet broadcast GID prefix.
#define XSIGO_RESOURCES_PRESENT   0x8000
 Resource types are present.
#define XSIGO_OPEN_RETRY_DELAY   ( 2 * TICKS_PER_SEC )
 Delay between attempts to open the Infiniband device.
#define XSIGO_DISCOVERY_FAILURE_DELAY   ( 10 * TICKS_PER_SEC )
 Delay between unsuccessful discovery attempts.
#define XSIGO_DISCOVERY_SUCCESS_DELAY   ( 20 * TICKS_PER_SEC )
 Delay between successful discovery attempts.
#define XSIGO_KEEPALIVE_INTERVAL   ( 10 * TICKS_PER_SEC )
 Delay between keepalive requests.
#define XSIGO_KEEPALIVE_MAX_WAIT   ( 2 * TICKS_PER_SEC )
 Maximum time to wait for a keepalive response.

Enumerations

enum  xsigo_resource_type { XSIGO_RESOURCE_XVE = ( 1 << 6 ), XSIGO_RESOURCE_NO_HA = ( 1 << 4 ) }
 Xsigo resource types. More...
enum  xsmp_message_type { XSMP_TYPE_SESSION = 1, XSMP_TYPE_XVE = 6 }
 XSMP message types. More...
enum  xsmp_session_type {
  XSMP_SESSION_TYPE_HELLO = 1, XSMP_SESSION_TYPE_REGISTER = 2, XSMP_SESSION_TYPE_CONFIRM = 3, XSMP_SESSION_TYPE_REJECT = 4,
  XSMP_SESSION_TYPE_SHUTDOWN = 5
}
 XSMP session message types. More...
enum  xsmp_session_boot { XSMP_BOOT_PXE = ( 1 << 0 ) }
 XSMP boot flags. More...
enum  xsmp_xve_type {
  XSMP_XVE_TYPE_INSTALL = 1, XSMP_XVE_TYPE_DELETE = 2, XSMP_XVE_TYPE_UPDATE = 3, XSMP_XVE_TYPE_OPER_UP = 6,
  XSMP_XVE_TYPE_OPER_DOWN = 7, XSMP_XVE_TYPE_OPER_REQ = 15, XSMP_XVE_TYPE_READY = 20
}
 XSMP virtual Ethernet message types. More...
enum  xsmp_xve_code { XSMP_XVE_CODE_ERROR = 0x84 }
 XSMP virtual Ethernet message codes. More...
enum  xsmp_xve_update { XSMP_XVE_UPDATE_MTU = ( 1 << 2 ), XSMP_XVE_UPDATE_STATE = ( 1 << 6 ), XSMP_XVE_UPDATE_GW_DOWN = ( 1 << 30 ), XSMP_XVE_UPDATE_GW_CHANGE = ( 1 << 31 ) }
 XSMP virtual Ethernet update bitmask. More...
enum  xsmp_xve_mode { XSMP_XVE_MODE_RC = 1, XSMP_XVE_MODE_UD = 2 }
 XSMP virtual Ethernet modes. More...
enum  xsmp_xve_uplink { XSMP_XVE_NO_UPLINK = 1, XSMP_XVE_UPLINK = 2 }
 XSMP virtual Ethernet uplink types. More...

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)

Detailed Description

Xsigo virtual Ethernet devices.

Definition in file xsigo.h.


Define Documentation

#define XDS_SERVICE_NAME   "XSIGOXDS"

Xsigo directory service record name.

Definition at line 17 of file xsigo.h.

Referenced by xsigo_discover().

#define XCM_SERVICE_ID   { 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x97, 0x01 }

Xsigo configuration manager service ID.

Definition at line 20 of file xsigo.h.

#define XSIGO_MGMT_CLASS   0x0b

Xsigo management class.

Definition at line 23 of file xsigo.h.

Referenced by xsigo_xds_complete().

#define XSIGO_MGMT_CLASS_VERSION   2

Xsigo management class version.

Definition at line 26 of file xsigo.h.

Referenced by xsigo_xds_complete().

#define XSIGO_ATTR_XCM_REQUEST   0xb002

Xsigo configuration manager request MAD.

Definition at line 29 of file xsigo.h.

Referenced by xsigo_xds_complete().

#define XSIGO_OS_TYPE_GENERIC   0x40

Generic operating system type.

Definition at line 32 of file xsigo.h.

Referenced by xsigo_xds_complete(), and xsmp_tx_session().

#define XVE_PREFIX   0xff15101cUL

Xsigo virtual Ethernet broadcast GID prefix.

Definition at line 35 of file xsigo.h.

Referenced by xve_create().

#define XSIGO_RESOURCES_PRESENT   0x8000

Resource types are present.

Definition at line 100 of file xsigo.h.

Referenced by xsigo_xds_complete().

#define XSIGO_OPEN_RETRY_DELAY   ( 2 * TICKS_PER_SEC )

Delay between attempts to open the Infiniband device.

This is a policy decision.

Definition at line 380 of file xsigo.h.

Referenced by xsigo_ib_open().

Delay between unsuccessful discovery attempts.

This is a policy decision.

Definition at line 386 of file xsigo.h.

Referenced by xsigo_discover().

Delay between successful discovery attempts.

This is a policy decision.

Definition at line 392 of file xsigo.h.

Referenced by xsigo_xcm_complete().

#define XSIGO_KEEPALIVE_INTERVAL   ( 10 * TICKS_PER_SEC )

Delay between keepalive requests.

This is a policy decision.

Definition at line 398 of file xsigo.h.

Referenced by xcm_keepalive(), and xcm_reopen().

Maximum time to wait for a keepalive response.

This is a policy decision.

Definition at line 404 of file xsigo.h.


Enumeration Type Documentation

Xsigo resource types.

Enumerator:
XSIGO_RESOURCE_XVE 

Virtual Ethernet resource type.

XSIGO_RESOURCE_NO_HA 

Absence-of-high-availability "resource" type.

Definition at line 38 of file xsigo.h.

                         {
        /** Virtual Ethernet resource type */
        XSIGO_RESOURCE_XVE = ( 1 << 6 ),
        /** Absence-of-high-availability "resource" type */
        XSIGO_RESOURCE_NO_HA = ( 1 << 4 ),
};

XSMP message types.

Enumerator:
XSMP_TYPE_SESSION 

Session message type.

XSMP_TYPE_XVE 

Virtual Ethernet message type.

Definition at line 157 of file xsigo.h.

                       {
        /** Session message type */
        XSMP_TYPE_SESSION = 1,
        /** Virtual Ethernet message type */
        XSMP_TYPE_XVE = 6,
};

XSMP session message types.

Enumerator:
XSMP_SESSION_TYPE_HELLO 

Keepalive message.

XSMP_SESSION_TYPE_REGISTER 

Initial registration message.

XSMP_SESSION_TYPE_CONFIRM 

Registration confirmation message.

XSMP_SESSION_TYPE_REJECT 

Registration rejection message.

XSMP_SESSION_TYPE_SHUTDOWN 

Shutdown message.

Definition at line 203 of file xsigo.h.

                       {
        /** Keepalive message */
        XSMP_SESSION_TYPE_HELLO = 1,
        /** Initial registration message */
        XSMP_SESSION_TYPE_REGISTER = 2,
        /** Registration confirmation message */
        XSMP_SESSION_TYPE_CONFIRM = 3,
        /** Registration rejection message */
        XSMP_SESSION_TYPE_REJECT = 4,
        /** Shutdown message */
        XSMP_SESSION_TYPE_SHUTDOWN = 5,
};

XSMP boot flags.

Enumerator:
XSMP_BOOT_PXE 

PXE boot.

Definition at line 217 of file xsigo.h.

                       {
        /** PXE boot */
        XSMP_BOOT_PXE = ( 1 << 0 ),
};

XSMP virtual Ethernet message types.

Enumerator:
XSMP_XVE_TYPE_INSTALL 

Install virtual NIC.

XSMP_XVE_TYPE_DELETE 

Delete virtual NIC.

XSMP_XVE_TYPE_UPDATE 

Update virtual NIC.

XSMP_XVE_TYPE_OPER_UP 

Set operational state up.

XSMP_XVE_TYPE_OPER_DOWN 

Set operational state down.

XSMP_XVE_TYPE_OPER_REQ 

Get operational state.

XSMP_XVE_TYPE_READY 

Virtual NIC is ready.

Definition at line 315 of file xsigo.h.

                   {
        /** Install virtual NIC */
        XSMP_XVE_TYPE_INSTALL = 1,
        /** Delete virtual NIC */
        XSMP_XVE_TYPE_DELETE = 2,
        /** Update virtual NIC */
        XSMP_XVE_TYPE_UPDATE = 3,
        /** Set operational state up */
        XSMP_XVE_TYPE_OPER_UP = 6,
        /** Set operational state down */
        XSMP_XVE_TYPE_OPER_DOWN = 7,
        /** Get operational state */
        XSMP_XVE_TYPE_OPER_REQ = 15,
        /** Virtual NIC is ready */
        XSMP_XVE_TYPE_READY = 20,
};

XSMP virtual Ethernet message codes.

Enumerator:
XSMP_XVE_CODE_ERROR 

Definition at line 333 of file xsigo.h.

                   {
        /* Something went wrong */
        XSMP_XVE_CODE_ERROR = 0x84,
};

XSMP virtual Ethernet update bitmask.

Enumerator:
XSMP_XVE_UPDATE_MTU 

Update MTU.

XSMP_XVE_UPDATE_STATE 

Update administrative state.

XSMP_XVE_UPDATE_GW_DOWN 

Update gateway to mark as down.

XSMP_XVE_UPDATE_GW_CHANGE 

Update gateway information.

Definition at line 339 of file xsigo.h.

                     {
        /** Update MTU */
        XSMP_XVE_UPDATE_MTU = ( 1 << 2 ),
        /** Update administrative state */
        XSMP_XVE_UPDATE_STATE = ( 1 << 6 ),
        /** Update gateway to mark as down */
        XSMP_XVE_UPDATE_GW_DOWN = ( 1 << 30 ),
        /** Update gateway information */
        XSMP_XVE_UPDATE_GW_CHANGE = ( 1 << 31 ),
};

XSMP virtual Ethernet modes.

Enumerator:
XSMP_XVE_MODE_RC 

Reliable Connected.

XSMP_XVE_MODE_UD 

Unreliable Datagram.

Definition at line 351 of file xsigo.h.

                   {
        /** Reliable Connected */
        XSMP_XVE_MODE_RC = 1,
        /** Unreliable Datagram */
        XSMP_XVE_MODE_UD = 2,
};

XSMP virtual Ethernet uplink types.

Enumerator:
XSMP_XVE_NO_UPLINK 

No uplink.

XSMP_XVE_UPLINK 

Has uplink.

Definition at line 359 of file xsigo.h.

                     {
        /** No uplink */
        XSMP_XVE_NO_UPLINK = 1,
        /** Has uplink */
        XSMP_XVE_UPLINK = 2,
};

Function Documentation

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )