iPXE
Data Structures | Defines | Functions | Variables
eth_slow.h File Reference

Ethernet slow protocols. More...

Go to the source code of this file.

Data Structures

struct  eth_slow_header
 Slow protocols header. More...
struct  eth_slow_tlv_header
 TLV (type, length, value) header. More...
struct  eth_slow_terminator_tlv
 Terminator TLV. More...
struct  eth_slow_lacp_entity_tlv
 LACP entity (actor or partner) TLV. More...
struct  eth_slow_lacp_collector_tlv
 LACP collector TLV. More...
struct  eth_slow_marker_tlv
 Marker TLV. More...
struct  eth_slow_lacp
 LACP packet. More...
struct  eth_slow_marker
 Marker packet. More...
union  eth_slow_packet
 Slow protocols packet. More...

Defines

#define ETH_SLOW_SUBTYPE_LACP   1
 LACP subtype.
#define ETH_SLOW_LACP_VERSION   1
 LACP version number.
#define ETH_SLOW_SUBTYPE_MARKER   2
 Marker subtype.
#define ETH_SLOW_MARKER_VERSION   1
 Marker version number.
#define ETH_SLOW_TLV_TERMINATOR   0
 Terminator type.
#define ETH_SLOW_TLV_TERMINATOR_LEN   0
 Terminator length.
#define ETH_SLOW_TLV_LACP_ACTOR   1
 LACP actor type.
#define ETH_SLOW_TLV_LACP_ACTOR_LEN   ( sizeof ( struct eth_slow_lacp_entity_tlv ) )
 LACP actor length.
#define ETH_SLOW_TLV_LACP_PARTNER   2
 LACP partner type.
#define ETH_SLOW_TLV_LACP_PARTNER_LEN   ( sizeof ( struct eth_slow_lacp_entity_tlv ) )
 LACP partner length.
#define ETH_SLOW_TLV_LACP_COLLECTOR   3
 LACP collector type.
#define ETH_SLOW_TLV_LACP_COLLECTOR_LEN   ( sizeof ( struct eth_slow_lacp_collector_tlv ) )
 LACP collector length.
#define ETH_SLOW_TLV_MARKER_REQUEST   1
 Marker request type.
#define ETH_SLOW_TLV_MARKER_REQUEST_LEN   ( sizeof ( struct eth_slow_marker_tlv ) )
 Marker request length.
#define ETH_SLOW_TLV_MARKER_RESPONSE   2
 Marker response type.
#define ETH_SLOW_TLV_MARKER_RESPONSE_LEN   ( sizeof ( struct eth_slow_marker_tlv ) )
 Marker response length.
#define LACP_SYSTEM_PRIORITY_MAX   0xffff
 Maximum system priority.
#define LACP_PORT_PRIORITY_MAX   0xff
 Maximum port priority.
#define LACP_STATE_ACTIVE   0x01
 LACP entity is active.
#define LACP_STATE_FAST   0x02
 LACP timeout is short.
#define LACP_STATE_AGGREGATABLE   0x04
 LACP link is aggregateable.
#define LACP_STATE_IN_SYNC   0x08
 LACP link is in synchronisation.
#define LACP_STATE_COLLECTING   0x10
 LACP link is collecting (receiving)
#define LACP_STATE_DISTRIBUTING   0x20
 LACP link is distributing (transmitting)
#define LACP_STATE_DEFAULTED   0x40
 LACP entity is using defaulted partner information.
#define LACP_STATE_EXPIRED   0x80
 LACP entity receive state machine is in EXPIRED.
#define LACP_INTERVAL_FAST   1
 LACP fast interval (1 second)
#define LACP_INTERVAL_SLOW   30
 LACP slow interval (30 seconds)

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
struct eth_slow_header __attribute__ ((packed))

Variables

uint8_t subtype
 Slow protocols subtype.
uint8_t version
 Subtype version number.
uint8_t type
 Type.
uint8_t length
 Length.
struct eth_slow_tlv_header tlv
 TLV header.
uint16_t system_priority
 System priority.
uint8_t system [ETH_ALEN]
 System identifier.
uint16_t key
 Key.
uint16_t port_priority
 Port priority.
uint16_t port
 Port identifier.
uint8_t state
 State.
uint8_t reserved [3]
 Reserved.
uint16_t max_delay
 Maximum delay (in 10us increments)
uint32_t xact
 Requester transaction ID.
uint16_t pad
 Padding.
struct eth_slow_header header
 Slow protocols header.
struct eth_slow_lacp_entity_tlv actor
 Actor information.
struct eth_slow_lacp_entity_tlv partner
 Partner information.
struct eth_slow_lacp_collector_tlv collector
 Collector information.
struct eth_slow_terminator_tlv terminator
 Terminator.
struct eth_slow_marker_tlv marker
 Marker information.
struct eth_slow_lacp lacp
 LACP packet.

Detailed Description

Ethernet slow protocols.

Definition in file eth_slow.h.


Define Documentation

#define ETH_SLOW_SUBTYPE_LACP   1

LACP subtype.

Definition at line 21 of file eth_slow.h.

Referenced by eth_slow_rx().

#define ETH_SLOW_LACP_VERSION   1

LACP version number.

Definition at line 24 of file eth_slow.h.

Referenced by eth_slow_lacp_rx().

#define ETH_SLOW_SUBTYPE_MARKER   2

Marker subtype.

Definition at line 27 of file eth_slow.h.

Referenced by eth_slow_rx().

#define ETH_SLOW_MARKER_VERSION   1

Marker version number.

Definition at line 30 of file eth_slow.h.

#define ETH_SLOW_TLV_TERMINATOR   0

Terminator type.

Definition at line 48 of file eth_slow.h.

Referenced by eth_slow_lacp_tlv_name(), and eth_slow_marker_tlv_name().

Terminator length.

Definition at line 51 of file eth_slow.h.

#define ETH_SLOW_TLV_LACP_ACTOR   1

LACP actor type.

Definition at line 54 of file eth_slow.h.

Referenced by eth_slow_lacp_rx(), and eth_slow_lacp_tlv_name().

#define ETH_SLOW_TLV_LACP_ACTOR_LEN   ( sizeof ( struct eth_slow_lacp_entity_tlv ) )

LACP actor length.

Definition at line 57 of file eth_slow.h.

Referenced by eth_slow_lacp_rx().

#define ETH_SLOW_TLV_LACP_PARTNER   2

LACP partner type.

Definition at line 61 of file eth_slow.h.

Referenced by eth_slow_lacp_rx(), and eth_slow_lacp_tlv_name().

#define ETH_SLOW_TLV_LACP_PARTNER_LEN   ( sizeof ( struct eth_slow_lacp_entity_tlv ) )

LACP partner length.

Definition at line 64 of file eth_slow.h.

Referenced by eth_slow_lacp_rx().

LACP collector type.

Definition at line 68 of file eth_slow.h.

Referenced by eth_slow_lacp_rx(), and eth_slow_lacp_tlv_name().

LACP collector length.

Definition at line 71 of file eth_slow.h.

Referenced by eth_slow_lacp_rx().

Marker request type.

Definition at line 75 of file eth_slow.h.

Referenced by eth_slow_marker_rx(), and eth_slow_marker_tlv_name().

#define ETH_SLOW_TLV_MARKER_REQUEST_LEN   ( sizeof ( struct eth_slow_marker_tlv ) )

Marker request length.

Definition at line 78 of file eth_slow.h.

Marker response type.

Definition at line 82 of file eth_slow.h.

Referenced by eth_slow_marker_rx(), and eth_slow_marker_tlv_name().

#define ETH_SLOW_TLV_MARKER_RESPONSE_LEN   ( sizeof ( struct eth_slow_marker_tlv ) )

Marker response length.

Definition at line 85 of file eth_slow.h.

#define LACP_SYSTEM_PRIORITY_MAX   0xffff

Maximum system priority.

Definition at line 138 of file eth_slow.h.

Referenced by eth_slow_lacp_rx().

#define LACP_PORT_PRIORITY_MAX   0xff

Maximum port priority.

Definition at line 141 of file eth_slow.h.

Referenced by eth_slow_lacp_rx().

#define LACP_STATE_ACTIVE   0x01

LACP entity is active.

Represented by the state character "A"/"a"

Definition at line 147 of file eth_slow.h.

#define LACP_STATE_FAST   0x02

LACP timeout is short.

Short timeout is one second, long timeout is 30s

Represented by the state character "F"/"f"

Definition at line 155 of file eth_slow.h.

Referenced by eth_slow_lacp_rx().

#define LACP_STATE_AGGREGATABLE   0x04

LACP link is aggregateable.

Represented by the state characters "G"/"g"

Definition at line 161 of file eth_slow.h.

Referenced by eth_slow_lacp_rx().

#define LACP_STATE_IN_SYNC   0x08

LACP link is in synchronisation.

Represented by the state characters "S"/"s"

Definition at line 167 of file eth_slow.h.

Referenced by eth_slow_lacp_rx().

#define LACP_STATE_COLLECTING   0x10

LACP link is collecting (receiving)

Represented by the state characters "C"/"c"

Definition at line 173 of file eth_slow.h.

Referenced by eth_slow_lacp_rx().

#define LACP_STATE_DISTRIBUTING   0x20

LACP link is distributing (transmitting)

Represented by the state characters "D"/"d"

Definition at line 179 of file eth_slow.h.

Referenced by eth_slow_lacp_rx().

#define LACP_STATE_DEFAULTED   0x40

LACP entity is using defaulted partner information.

Represented by the state characters "L"/"l"

Definition at line 185 of file eth_slow.h.

#define LACP_STATE_EXPIRED   0x80

LACP entity receive state machine is in EXPIRED.

Represented by the state characters "X"/"x"

Definition at line 191 of file eth_slow.h.

#define LACP_INTERVAL_FAST   1

LACP fast interval (1 second)

Definition at line 194 of file eth_slow.h.

Referenced by eth_slow_lacp_rx().

#define LACP_INTERVAL_SLOW   30

LACP slow interval (30 seconds)

Definition at line 197 of file eth_slow.h.

Referenced by eth_slow_lacp_rx().


Function Documentation

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )
struct eth_slow_header __attribute__ ( (packed)  )

Variable Documentation

Slow protocols subtype.

Definition at line 20 of file eth_slow.h.

Referenced by ath5k_txq_setup(), and ath_txq_setup().

Subtype version number.

Definition at line 22 of file eth_slow.h.

Type.

This is an ETH_SLOW_TLV_XXX constant.

Definition at line 50 of file eth_slow.h.

Length.

The length includes the TLV header (except for a TLV terminator, which has a length of zero).

Definition at line 56 of file eth_slow.h.

TLV header.

Definition at line 94 of file eth_slow.h.

System priority.

Used to determine the order in which ports are selected for aggregation.

Definition at line 143 of file eth_slow.h.

System identifier.

Requester system.

Used to uniquely identify the system (i.e. the entity with potentially multiple ports).

Definition at line 149 of file eth_slow.h.

Referenced by int22(), ipxe(), pxenv_file_exec(), script_exec_line(), and shell().

Key.

Used to uniquely identify a group of aggregatable ports within a system.

Definition at line 155 of file eth_slow.h.

Port priority.

Used to determine the order in which ports are selected for aggregation.

Definition at line 161 of file eth_slow.h.

Port identifier.

Requester port.

Used to uniquely identify a port within a system.

Definition at line 166 of file eth_slow.h.

Reserved.

Definition at line 174 of file eth_slow.h.

Maximum delay (in 10us increments)

Definition at line 211 of file eth_slow.h.

Requester transaction ID.

Definition at line 229 of file eth_slow.h.

Padding.

Definition at line 231 of file eth_slow.h.

Slow protocols header.

Definition at line 239 of file eth_slow.h.

Actor information.

Definition at line 241 of file eth_slow.h.

Partner information.

Definition at line 243 of file eth_slow.h.

Referenced by TLan_FinishReset().

Collector information.

Definition at line 245 of file eth_slow.h.

Terminator.

Definition at line 247 of file eth_slow.h.

Referenced by bios_ansi_seq().

Marker information.

Marker packet.

Definition at line 253 of file eth_slow.h.

Referenced by eth_slow_marker_dump(), and eth_slow_marker_rx().

LACP packet.

Definition at line 263 of file eth_slow.h.

Referenced by eth_slow_lacp_dump(), and eth_slow_lacp_rx().