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

Macro Definition Documentation

◆ XDS_SERVICE_NAME

#define XDS_SERVICE_NAME   "XSIGOXDS"

Xsigo directory service record name.

Definition at line 17 of file xsigo.h.

Referenced by xsigo_discover().

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

Referenced by xsigo_xds_complete().

◆ XSIGO_MGMT_CLASS_VERSION

#define XSIGO_MGMT_CLASS_VERSION   2

Xsigo management class version.

Definition at line 26 of file xsigo.h.

Referenced by xsigo_xds_complete().

◆ XSIGO_ATTR_XCM_REQUEST

#define XSIGO_ATTR_XCM_REQUEST   0xb002

Xsigo configuration manager request MAD.

Definition at line 29 of file xsigo.h.

Referenced by xsigo_xds_complete().

◆ XSIGO_OS_TYPE_GENERIC

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

◆ XVE_PREFIX

#define XVE_PREFIX   0xff15101cUL

Xsigo virtual Ethernet broadcast GID prefix.

Definition at line 35 of file xsigo.h.

Referenced by xve_create().

◆ XSIGO_RESOURCES_PRESENT

#define XSIGO_RESOURCES_PRESENT   0x8000

Resource types are present.

Definition at line 100 of file xsigo.h.

Referenced by xsigo_xds_complete().

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

Referenced by xsigo_ib_open().

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

Referenced by xsigo_discover().

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

Referenced by xsigo_xcm_complete().

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

Referenced by xcm_keepalive(), and xcm_reopen().

◆ 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};
@ XSIGO_RESOURCE_NO_HA
Absence-of-high-availability "resource" type.
Definition xsigo.h:42
@ XSIGO_RESOURCE_XVE
Virtual Ethernet resource type.
Definition xsigo.h:40

◆ 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 */
160 /** Virtual Ethernet message type */
161 XSMP_TYPE_XVE = 6,
162};
@ XSMP_TYPE_SESSION
Session message type.
Definition xsigo.h:159
@ XSMP_TYPE_XVE
Virtual Ethernet message type.
Definition xsigo.h:161

◆ 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};
@ XSMP_SESSION_TYPE_CONFIRM
Registration confirmation message.
Definition xsigo.h:209
@ XSMP_SESSION_TYPE_REJECT
Registration rejection message.
Definition xsigo.h:211
@ XSMP_SESSION_TYPE_SHUTDOWN
Shutdown message.
Definition xsigo.h:213
@ XSMP_SESSION_TYPE_REGISTER
Initial registration message.
Definition xsigo.h:207
@ XSMP_SESSION_TYPE_HELLO
Keepalive message.
Definition xsigo.h:205

◆ 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};
@ XSMP_BOOT_PXE
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 */
330};
@ XSMP_XVE_TYPE_INSTALL
Install virtual NIC.
Definition xsigo.h:317
@ XSMP_XVE_TYPE_UPDATE
Update virtual NIC.
Definition xsigo.h:321
@ XSMP_XVE_TYPE_OPER_DOWN
Set operational state down.
Definition xsigo.h:325
@ XSMP_XVE_TYPE_OPER_UP
Set operational state up.
Definition xsigo.h:323
@ XSMP_XVE_TYPE_READY
Virtual NIC is ready.
Definition xsigo.h:329
@ XSMP_XVE_TYPE_DELETE
Delete virtual NIC.
Definition xsigo.h:319
@ XSMP_XVE_TYPE_OPER_REQ
Get operational state.
Definition xsigo.h:327

◆ 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_CODE_ERROR
Definition xsigo.h:335

◆ 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};
@ XSMP_XVE_UPDATE_STATE
Update administrative state.
Definition xsigo.h:343
@ XSMP_XVE_UPDATE_GW_CHANGE
Update gateway information.
Definition xsigo.h:347
@ XSMP_XVE_UPDATE_GW_DOWN
Update gateway to mark as down.
Definition xsigo.h:345
@ XSMP_XVE_UPDATE_MTU
Update MTU.
Definition xsigo.h:341

◆ 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 */
354 /** Unreliable Datagram */
356};
@ XSMP_XVE_MODE_RC
Reliable Connected.
Definition xsigo.h:353
@ XSMP_XVE_MODE_UD
Unreliable Datagram.
Definition xsigo.h:355

◆ 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 */
362 /** Has uplink */
363 XSMP_XVE_UPLINK = 2,
364};
@ XSMP_XVE_NO_UPLINK
No uplink.
Definition xsigo.h:361
@ XSMP_XVE_UPLINK
Has uplink.
Definition xsigo.h:363

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )