iPXE
Data Structures | Macros | 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...
 

Macros

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

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.

Macro Definition Documentation

◆ XDS_SERVICE_NAME

#define XDS_SERVICE_NAME   "XSIGOXDS"

Xsigo directory service record name.

Definition at line 17 of file xsigo.h.

◆ XCM_SERVICE_ID

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

◆ XSIGO_MGMT_CLASS

#define XSIGO_MGMT_CLASS   0x0b

Xsigo management class.

Definition at line 23 of file xsigo.h.

◆ XSIGO_MGMT_CLASS_VERSION

#define XSIGO_MGMT_CLASS_VERSION   2

Xsigo management class version.

Definition at line 26 of file xsigo.h.

◆ XSIGO_ATTR_XCM_REQUEST

#define XSIGO_ATTR_XCM_REQUEST   0xb002

Xsigo configuration manager request MAD.

Definition at line 29 of file xsigo.h.

◆ XSIGO_OS_TYPE_GENERIC

#define XSIGO_OS_TYPE_GENERIC   0x40

Generic operating system type.

Definition at line 32 of file xsigo.h.

◆ XVE_PREFIX

#define XVE_PREFIX   0xff15101cUL

Xsigo virtual Ethernet broadcast GID prefix.

Definition at line 35 of file xsigo.h.

◆ XSIGO_RESOURCES_PRESENT

#define XSIGO_RESOURCES_PRESENT   0x8000

Resource types are present.

Definition at line 100 of file xsigo.h.

◆ XSIGO_OPEN_RETRY_DELAY

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

◆ XSIGO_DISCOVERY_FAILURE_DELAY

#define XSIGO_DISCOVERY_FAILURE_DELAY   ( 10 * TICKS_PER_SEC )

Delay between unsuccessful discovery attempts.

This is a policy decision.

Definition at line 386 of file xsigo.h.

◆ XSIGO_DISCOVERY_SUCCESS_DELAY

#define XSIGO_DISCOVERY_SUCCESS_DELAY   ( 20 * TICKS_PER_SEC )

Delay between successful discovery attempts.

This is a policy decision.

Definition at line 392 of file xsigo.h.

◆ XSIGO_KEEPALIVE_INTERVAL

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

◆ XSIGO_KEEPALIVE_MAX_WAIT

#define XSIGO_KEEPALIVE_MAX_WAIT   ( 2 * TICKS_PER_SEC )

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_type

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.

38  {
39  /** Virtual Ethernet resource type */
40  XSIGO_RESOURCE_XVE = ( 1 << 6 ),
41  /** Absence-of-high-availability "resource" type */
42  XSIGO_RESOURCE_NO_HA = ( 1 << 4 ),
43 };
Virtual Ethernet resource type.
Definition: xsigo.h:40
Absence-of-high-availability "resource" type.
Definition: xsigo.h:42

◆ xsmp_message_type

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.

157  {
158  /** Session message type */
159  XSMP_TYPE_SESSION = 1,
160  /** Virtual Ethernet message type */
161  XSMP_TYPE_XVE = 6,
162 };
Virtual Ethernet message type.
Definition: xsigo.h:161
Session message type.
Definition: xsigo.h:159

◆ xsmp_session_type

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.

203  {
204  /** Keepalive message */
206  /** Initial registration message */
208  /** Registration confirmation message */
210  /** Registration rejection message */
212  /** Shutdown message */
214 };
Shutdown message.
Definition: xsigo.h:213
Keepalive message.
Definition: xsigo.h:205
Registration rejection message.
Definition: xsigo.h:211
Registration confirmation message.
Definition: xsigo.h:209
Initial registration message.
Definition: xsigo.h:207

◆ xsmp_session_boot

XSMP boot flags.

Enumerator
XSMP_BOOT_PXE 

PXE boot.

Definition at line 217 of file xsigo.h.

217  {
218  /** PXE boot */
219  XSMP_BOOT_PXE = ( 1 << 0 ),
220 };
PXE boot.
Definition: xsigo.h:219

◆ xsmp_xve_type

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.

315  {
316  /** Install virtual NIC */
318  /** Delete virtual NIC */
320  /** Update virtual NIC */
322  /** Set operational state up */
324  /** Set operational state down */
326  /** Get operational state */
328  /** Virtual NIC is ready */
329  XSMP_XVE_TYPE_READY = 20,
330 };
Install virtual NIC.
Definition: xsigo.h:317
Set operational state up.
Definition: xsigo.h:323
Get operational state.
Definition: xsigo.h:327
Update virtual NIC.
Definition: xsigo.h:321
Set operational state down.
Definition: xsigo.h:325
Delete virtual NIC.
Definition: xsigo.h:319
Virtual NIC is ready.
Definition: xsigo.h:329

◆ xsmp_xve_code

XSMP virtual Ethernet message codes.

Enumerator
XSMP_XVE_CODE_ERROR 

Definition at line 333 of file xsigo.h.

333  {
334  /* Something went wrong */
335  XSMP_XVE_CODE_ERROR = 0x84,
336 };

◆ xsmp_xve_update

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.

339  {
340  /** Update MTU */
341  XSMP_XVE_UPDATE_MTU = ( 1 << 2 ),
342  /** Update administrative state */
343  XSMP_XVE_UPDATE_STATE = ( 1 << 6 ),
344  /** Update gateway to mark as down */
345  XSMP_XVE_UPDATE_GW_DOWN = ( 1 << 30 ),
346  /** Update gateway information */
347  XSMP_XVE_UPDATE_GW_CHANGE = ( 1 << 31 ),
348 };
Update administrative state.
Definition: xsigo.h:343
Update gateway to mark as down.
Definition: xsigo.h:345
Update MTU.
Definition: xsigo.h:341
Update gateway information.
Definition: xsigo.h:347

◆ xsmp_xve_mode

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.

351  {
352  /** Reliable Connected */
353  XSMP_XVE_MODE_RC = 1,
354  /** Unreliable Datagram */
355  XSMP_XVE_MODE_UD = 2,
356 };
Unreliable Datagram.
Definition: xsigo.h:355
Reliable Connected.
Definition: xsigo.h:353

◆ xsmp_xve_uplink

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.

359  {
360  /** No uplink */
361  XSMP_XVE_NO_UPLINK = 1,
362  /** Has uplink */
363  XSMP_XVE_UPLINK = 2,
364 };
No uplink.
Definition: xsigo.h:361
Has uplink.
Definition: xsigo.h:363

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )