lldp_ext_dot3.h File Reference

IEEE 802.3 LLDP extension. More...

#include "core/net.h"
#include "lldp/lldp.h"

Go to the source code of this file.

Enumerations

enum  LldpDot3Subtype {
  LLDP_DOT3_SUBTYPE_RESERVED = 0 , LLDP_DOT3_SUBTYPE_MAC_PHY_CONFIG_STATUS = 1 , LLDP_DOT3_SUBTYPE_POWER_VIA_MDI = 2 , LLDP_DOT3_SUBTYPE_LINK_AGGREGATION = 3 ,
  LLDP_DOT3_SUBTYPE_MAX_FRAME_SIZE = 4 , LLDP_DOT3_SUBTYPE_POWER_VIA_MDI_MEAS = 8
}
 IEEE 802.3 subtypes. More...
 
enum  LldpDot3AnFlags { LLDP_DOT3_AN_FLAG_SUPPORT = 0x01 , LLDP_DOT3_AN_FLAG_STATUS = 0x02 }
 Auto-negotiation support/status flags. More...
 
enum  LldpDot3PmdAnAdvCapability {
  LLDP_DOT3_PMD_AN_ADV_CAP_OTHER = 0x8000 , LLDP_DOT3_PMD_AN_ADV_CAP_10BT_HD = 0x4000 , LLDP_DOT3_PMD_AN_ADV_CAP_10BT_FD = 0x2000 , LLDP_DOT3_PMD_AN_ADV_CAP_100BT4 = 0x1000 ,
  LLDP_DOT3_PMD_AN_ADV_CAP_100BT_HD = 0x0800 , LLDP_DOT3_PMD_AN_ADV_CAP_100BT_FD = 0x0400 , LLDP_DOT3_PMD_AN_ADV_CAP_100BT2_HD = 0x0200 , LLDP_DOT3_PMD_AN_ADV_CAP_100BT2_FD = 0x0100 ,
  LLDP_DOT3_PMD_AN_ADV_CAP_PAUSE = 0x0080 , LLDP_DOT3_PMD_AN_ADV_CAP_ASYM_PAUSE = 0x0040 , LLDP_DOT3_PMD_AN_ADV_CAP_SYM_PAUSE = 0x0020 , LLDP_DOT3_PMD_AN_ADV_CAP_ASYM_SYM_PAUSE = 0x0010 ,
  LLDP_DOT3_PMD_AN_ADV_CAP_1000BX_HD = 0x0008 , LLDP_DOT3_PMD_AN_ADV_CAP_1000BX_FD = 0x0004 , LLDP_DOT3_PMD_AN_ADV_CAP_1000BT_HD = 0x0002 , LLDP_DOT3_PMD_AN_ADV_CAP_1000BT_FD = 0x0001
}
 PMD auto-negotiation advertised capability. More...
 
enum  LldpDot3MauType {
  LLDP_DOT3_MAU_TYPE_INVALID = 0 , LLDP_DOT3_MAU_TYPE_10BT_HD = 10 , LLDP_DOT3_MAU_TYPE_10BT_FD = 11 , LLDP_DOT3_MAU_TYPE_100BT4 = 14 ,
  LLDP_DOT3_MAU_TYPE_100BTX_HD = 15 , LLDP_DOT3_MAU_TYPE_100BTX_FD = 16 , LLDP_DOT3_MAU_TYPE_100BT2_HD = 19 , LLDP_DOT3_MAU_TYPE_100BT2_FD = 20 ,
  LLDP_DOT3_MAU_TYPE_1000BX_HD = 21 , LLDP_DOT3_MAU_TYPE_1000BX_FD = 22 , LLDP_DOT3_MAU_TYPE_1000BT_HD = 29 , LLDP_DOT3_MAU_TYPE_1000BT_FD = 30 ,
  LLDP_DOT3_MAU_TYPE_100BT1 = 105 , LLDP_DOT3_MAU_TYPE_10BT1L = 141
}
 Operational MAU types. More...
 
enum  LldpDot3MdiPowerFlags {
  LLDP_DOT3_MDI_POWER_FLAG_PORT_CLASS = 0x01 , LLDP_DOT3_MDI_POWER_FLAG_PORT_CLASS_PD = 0x00 , LLDP_DOT3_MDI_POWER_FLAG_PORT_CLASS_PSE = 0x01 , LLDP_DOT3_MDI_POWER_FLAG_PSE_MDI_POWER_SUPPORT = 0x02 ,
  LLDP_DOT3_MDI_POWER_FLAG_PSE_MDI_POWER_STATE = 0x04 , LLDP_DOT3_MDI_POWER_FLAG_PSE_PAIRS_CTRL_ABILITY = 0x08
}
 MDI power capability/status flags. More...
 
enum  LldpDot3PsePowerPair { LLDP_DOT3_PSE_POWER_PAIR_SIGNAL = 1 , LLDP_DOT3_PSE_POWER_PAIR_SPARE = 2 , LLDP_DOT3_PSE_POWER_PAIR_ALT_A = 1 , LLDP_DOT3_PSE_POWER_PAIR_ALT_B = 2 }
 PSE power pair. More...
 
enum  LldpDot3PowerClass {
  LLDP_DOT3_POWER_CLASS_0 = 1 , LLDP_DOT3_POWER_CLASS_1 = 2 , LLDP_DOT3_POWER_CLASS_2 = 3 , LLDP_DOT3_POWER_CLASS_3 = 4 ,
  LLDP_DOT3_POWER_CLASS_4 = 5
}
 power class More...
 
enum  LldpDot3PowerType { LLDP_DOT3_POWER_TYPE_2_PSE = 0 , LLDP_DOT3_POWER_TYPE_2_PD = 1 , LLDP_DOT3_POWER_TYPE_1_PSE = 2 , LLDP_DOT3_POWER_TYPE_1_PD = 3 }
 power type More...
 
enum  LldpDot3PowerSource {
  LLDP_DOT3_PD_POWER_SOURCE_UNKNOWN = 0 , LLDP_DOT3_PD_POWER_SOURCE_PSE = 1 , LLDP_DOT3_PD_POWER_SOURCE_RESERVED = 2 , LLDP_DOT3_PD_POWER_SOURCE_PSE_AND_LOCAL = 3 ,
  LLDP_DOT3_PSE_POWER_SOURCE_UNKNOWN = 0 , LLDP_DOT3_PSE_POWER_SOURCE_PRIMARY = 1 , LLDP_DOT3_PSE_POWER_SOURCE_BACKUP = 2 , LLDP_DOT3_PSE_POWER_SOURCE_RESERVED = 3
}
 power source More...
 
enum  LldpDot3PowerPriority { LLDP_DOT3_POWER_PRIORITY_UNKNOWN = 0 , LLDP_DOT3_POWER_PRIORITY_CRITICAL = 1 , LLDP_DOT3_POWER_PRIORITY_HIGH = 2 , LLDP_DOT3_POWER_PRIORITY_LOW = 3 }
 Power priority. More...
 
enum  LldpDot3PowerStatus {
  LLDP_DOT3_POWER_STATUS_POWER_CLASS_EXT = 0x000F , LLDP_DOT3_POWER_STATUS_POWER_CLASS_EXT_CLASS_1 = 0x0001 , LLDP_DOT3_POWER_STATUS_POWER_CLASS_EXT_CLASS_2 = 0x0002 , LLDP_DOT3_POWER_STATUS_POWER_CLASS_EXT_CLASS_3 = 0x0003 ,
  LLDP_DOT3_POWER_STATUS_POWER_CLASS_EXT_CLASS_4 = 0x0004 , LLDP_DOT3_POWER_STATUS_POWER_CLASS_EXT_CLASS_5 = 0x0005 , LLDP_DOT3_POWER_STATUS_POWER_CLASS_EXT_CLASS_6 = 0x0006 , LLDP_DOT3_POWER_STATUS_POWER_CLASS_EXT_CLASS_7 = 0x0007 ,
  LLDP_DOT3_POWER_STATUS_POWER_CLASS_EXT_CLASS_8 = 0x0008 , LLDP_DOT3_POWER_STATUS_POWER_CLASS_EXT_DUAL_SIGN_PD = 0x000F , LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_B = 0x0070 , LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_B_CLASS_1 = 0x0010 ,
  LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_B_CLASS_2 = 0x0020 , LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_B_CLASS_3 = 0x0030 , LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_B_CLASS_4 = 0x0040 , LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_B_CLASS_5 = 0x0050 ,
  LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_B_SINGLE_SIGN_PD = 0x0070 , LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_B_2_PAIR_ONLY_PSE = 0x0070 , LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_A = 0x0380 , LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_A_CLASS_1 = 0x0080 ,
  LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_A_CLASS_2 = 0x0100 , LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_A_CLASS_3 = 0x0180 , LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_A_CLASS_4 = 0x0200 , LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_A_CLASS_5 = 0x0280 ,
  LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_A_SINGLE_SIGN_PD = 0x0380 , LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_A_2_PAIR_ONLY_PSE = 0x0380 , LLDP_DOT3_POWER_STATUS_PSE_POWER_PAIRS_EXT = 0x0C00 , LLDP_DOT3_POWER_STATUS_PSE_POWER_PAIRS_EXT_ALT_A = 0x0400 ,
  LLDP_DOT3_POWER_STATUS_PSE_POWER_PAIRS_EXT_ALT_B = 0x0800 , LLDP_DOT3_POWER_STATUS_PSE_POWER_PAIRS_EXT_BOTH = 0x0C00 , LLDP_DOT3_POWER_STATUS_PD_POWERED_STATUS = 0x3000 , LLDP_DOT3_POWER_STATUS_PD_POWERED_STATUS_SINGLE_SIGN_PD = 0x1000 ,
  LLDP_DOT3_POWER_STATUS_PD_POWERED_STATUS_2_PAIR_DUAL_SIGN_PD = 0x2000 , LLDP_DOT3_POWER_STATUS_PD_POWERED_STATUS_4_PAIR_DUAL_SIGN_PD = 0x3000 , LLDP_DOT3_POWER_STATUS_PSE_POWERING_STATUS = 0xC000 , LLDP_DOT3_POWER_STATUS_PSE_POWERING_STATUS_2_PAIR = 0x4000 ,
  LLDP_DOT3_POWER_STATUS_PSE_POWERING_STATUS_4_PAIR_SINGLE_SIGN_PD = 0x8000 , LLDP_DOT3_POWER_STATUS_PSE_POWERING_STATUS_4_PAIR_DUAL_SIGN_PD = 0xC000
}
 Power status. More...
 
enum  LldpDot3SystemSetup {
  LLDP_DOT3_SYSTEM_SETUP_PD_LOAD = 0x01 , LLDP_DOT3_SYSTEM_SETUP_POWER_TYPE_EXT = 0x0E , LLDP_DOT3_SYSTEM_SETUP_POWER_TYPE_EXT_TYPE_3_PSE = 0x00 , LLDP_DOT3_SYSTEM_SETUP_POWER_TYPE_EXT_TYPE_4_PSE = 0x02 ,
  LLDP_DOT3_SYSTEM_SETUP_POWER_TYPE_EXT_TYPE_3_SINGLE_SIGN_PD = 0x04 , LLDP_DOT3_SYSTEM_SETUP_POWER_TYPE_EXT_TYPE_3_DUAL_SIGN_PD = 0x06 , LLDP_DOT3_SYSTEM_SETUP_POWER_TYPE_EXT_TYPE_4_SINGLE_SIGN_PD = 0x08 , LLDP_DOT3_SYSTEM_SETUP_POWER_TYPE_EXT_TYPE_4_DUAL_SIGN_PD = 0x0A ,
  LLDP_DOT3_SYSTEM_SETUP_POWER_TYPE_RESERVED = 0xF0
}
 System setup. More...
 
enum  LldpDot3Autoclass { LLDP_DOT3_AUTOCLASS_REQUEST = 0x01 , LLDP_DOT3_AUTOCLASS_COMPLETED = 0x02 , LLDP_DOT3_AUTOCLASS_PSE_SUPPORT = 0x04 , LLDP_DOT3_AUTOCLASS_RESERVED = 0xF8 }
 Autoclass field. More...
 
enum  LldpDot3PowerDown { LLDP_DOT3_POWER_DOWN_REQUEST = 0x740000 , LLDP_DOT3_POWER_DOWN_TIME = 0x03FFFF }
 Power down field. More...
 
enum  LldpDot3LinkAggregationFlag { LLDP_DOT3_LINK_AGGREGATION_FLAG_CAP = 0x01 , LLDP_DOT3_LINK_AGGREGATION_FLAG_STATUS = 0x02 }
 Link aggregation capability/status flags. More...
 

Functions

error_t lldpDot3SetLocalMacPhyConfigStatus (LldpAgentContext *context, uint_t portIndex, uint8_t autoNegSupportStatus, uint16_t pmdAutoNegAdvCap, uint16_t operationalMauType)
 Set MAC/PHY configuration/status. More...
 
error_t lldpDot3SetLocalPowerViaMdi (LldpAgentContext *context, uint_t portIndex, uint8_t mdiPowerSupport, LldpDot3PsePowerPair psePowerPair, LldpDot3PowerClass powerClass, const LldpDot3DllClassExt *dllClassExt, const LldpDot3Type34Ext *type34Ext)
 Set power-via-MDI. More...
 
error_t lldpDot3SetLocalLinkAggregation (LldpAgentContext *context, uint_t portIndex, uint8_t aggregationStatus, uint32_t aggregatedPortId)
 Set Link aggregation. More...
 
error_t lldpDot3SetLocalMaxFrameSize (LldpAgentContext *context, uint_t portIndex, uint16_t maxFrameSize)
 Set maximum frame size. More...
 
error_t lldpDot3SetLocalPowerViaMdiMeas (LldpAgentContext *context, uint_t portIndex, uint8_t measurements[20], uint16_t psePowerPriceIndex)
 Set power-via-MDI measurements. More...
 
error_t lldpDot3DeleteLocalTlv (LldpAgentContext *context, LldpDot3Subtype subtype)
 Remove all IEEE 802.3 specific TLVs with specified subtype. More...
 

Variables

typedef __packed_struct
 MAC/PHY Configuration/Status TLV. More...
 
uint16_t pmdAutoNegAdvCap
 
uint16_t operationalMauType
 
 LldpDot3MacPhyConfigStatusTlv
 
uint8_t psePowerPair
 
uint8_t powerClass
 
 LldpDot3PowerViaMdiTlv
 
uint32_t aggregatedPortId
 
 LldpDot3LinkAggregationTlv
 
 LldpDot3MaxFrameSizeTlv
 
uint16_t psePowerPriceIndex
 
 LldpDot3PowerViaMdiMeasTlv
 
uint8_t pd4pid
 
uint8_t reserved
 
uint8_t powerSource
 
uint8_t powerType
 
uint16_t pdRequestedPower
 
uint16_t pseAllocatedPower
 
 LldpDot3DllClassExt
 
uint16_t pdRequestedPowerB
 
uint16_t pseAllocatedPowerA
 
uint16_t pseAllocatedPowerB
 
uint16_t powerStatus
 
uint8_t systemSetup
 
uint16_t pseMaxAvailablePower
 
uint8_t autoclass
 
uint8_t powerDown [3]
 
 LldpDot3Type34Ext
 

Detailed Description

IEEE 802.3 LLDP extension.

License

SPDX-License-Identifier: GPL-2.0-or-later

Copyright (C) 2010-2024 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneTCP Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
2.4.0

Definition in file lldp_ext_dot3.h.

Enumeration Type Documentation

◆ LldpDot3AnFlags

Auto-negotiation support/status flags.

Enumerator
LLDP_DOT3_AN_FLAG_SUPPORT 

Auto-negotiation support.

LLDP_DOT3_AN_FLAG_STATUS 

Auto-negotiation status.

Definition at line 63 of file lldp_ext_dot3.h.

◆ LldpDot3Autoclass

Autoclass field.

Enumerator
LLDP_DOT3_AUTOCLASS_REQUEST 
LLDP_DOT3_AUTOCLASS_COMPLETED 
LLDP_DOT3_AUTOCLASS_PSE_SUPPORT 
LLDP_DOT3_AUTOCLASS_RESERVED 

Definition at line 272 of file lldp_ext_dot3.h.

◆ LldpDot3LinkAggregationFlag

Link aggregation capability/status flags.

Enumerator
LLDP_DOT3_LINK_AGGREGATION_FLAG_CAP 

Aggregation capability.

LLDP_DOT3_LINK_AGGREGATION_FLAG_STATUS 

Aggregation status.

Definition at line 296 of file lldp_ext_dot3.h.

◆ LldpDot3MauType

Operational MAU types.

Enumerator
LLDP_DOT3_MAU_TYPE_INVALID 

Invalid.

LLDP_DOT3_MAU_TYPE_10BT_HD 

dot3MauType10BaseTHD

LLDP_DOT3_MAU_TYPE_10BT_FD 

dot3MauType10BaseTFD

LLDP_DOT3_MAU_TYPE_100BT4 

dot3MauType100BaseT4

LLDP_DOT3_MAU_TYPE_100BTX_HD 

dot3MauType100BaseTXHD

LLDP_DOT3_MAU_TYPE_100BTX_FD 

dot3MauType100BaseTXFD

LLDP_DOT3_MAU_TYPE_100BT2_HD 

dot3MauType100BaseT2HD

LLDP_DOT3_MAU_TYPE_100BT2_FD 

dot3MauType100BaseT2FD

LLDP_DOT3_MAU_TYPE_1000BX_HD 

dot3MauType1000BaseXHD

LLDP_DOT3_MAU_TYPE_1000BX_FD 

dot3MauType1000BaseXFD

LLDP_DOT3_MAU_TYPE_1000BT_HD 

dot3MauType1000BaseTHD

LLDP_DOT3_MAU_TYPE_1000BT_FD 

dot3MauType1000BaseTFD

LLDP_DOT3_MAU_TYPE_100BT1 

dot3MauType100baseT1

LLDP_DOT3_MAU_TYPE_10BT1L 

dot3MauType10baseT1L

Definition at line 99 of file lldp_ext_dot3.h.

◆ LldpDot3MdiPowerFlags

MDI power capability/status flags.

Enumerator
LLDP_DOT3_MDI_POWER_FLAG_PORT_CLASS 

Port class.

LLDP_DOT3_MDI_POWER_FLAG_PORT_CLASS_PD 

Port class - PD.

LLDP_DOT3_MDI_POWER_FLAG_PORT_CLASS_PSE 

Port class - PSE.

LLDP_DOT3_MDI_POWER_FLAG_PSE_MDI_POWER_SUPPORT 

PSE MDI power support.

LLDP_DOT3_MDI_POWER_FLAG_PSE_MDI_POWER_STATE 

PSE MDI power state.

LLDP_DOT3_MDI_POWER_FLAG_PSE_PAIRS_CTRL_ABILITY 

PSE pairs control ability.

Definition at line 122 of file lldp_ext_dot3.h.

◆ LldpDot3PmdAnAdvCapability

PMD auto-negotiation advertised capability.

Enumerator
LLDP_DOT3_PMD_AN_ADV_CAP_OTHER 

Other or unknown.

LLDP_DOT3_PMD_AN_ADV_CAP_10BT_HD 

10BASE-T half-duplex mode

LLDP_DOT3_PMD_AN_ADV_CAP_10BT_FD 

10BASE-T full-duplex mode

LLDP_DOT3_PMD_AN_ADV_CAP_100BT4 

100BASE-T4

LLDP_DOT3_PMD_AN_ADV_CAP_100BT_HD 

100BASE-TX half-duplex mode

LLDP_DOT3_PMD_AN_ADV_CAP_100BT_FD 

100BASE-TX full-duplex mode

LLDP_DOT3_PMD_AN_ADV_CAP_100BT2_HD 

100BASE-T2 half-duplex mode

LLDP_DOT3_PMD_AN_ADV_CAP_100BT2_FD 

100BASE-T2 full-duplex mode

LLDP_DOT3_PMD_AN_ADV_CAP_PAUSE 

PAUSE for full-duplex links.

LLDP_DOT3_PMD_AN_ADV_CAP_ASYM_PAUSE 

Asymmetric PAUSE for full-duplex links.

LLDP_DOT3_PMD_AN_ADV_CAP_SYM_PAUSE 

Symmetric PAUSE for full-duplex links.

LLDP_DOT3_PMD_AN_ADV_CAP_ASYM_SYM_PAUSE 

Asymmetric and Symmetric PAUSE for full-duplex links.

LLDP_DOT3_PMD_AN_ADV_CAP_1000BX_HD 

1000BASE-X, -LX, -SX, -CX half-duplex mode

LLDP_DOT3_PMD_AN_ADV_CAP_1000BX_FD 

1000BASE-X, -LX, -SX, -CX full-duplex mode

LLDP_DOT3_PMD_AN_ADV_CAP_1000BT_HD 

1000BASE-T half-duplex mode

LLDP_DOT3_PMD_AN_ADV_CAP_1000BT_FD 

1000BASE-T full-duplex mode

Definition at line 74 of file lldp_ext_dot3.h.

◆ LldpDot3PowerClass

power class

Enumerator
LLDP_DOT3_POWER_CLASS_0 

Class 0 PD.

LLDP_DOT3_POWER_CLASS_1 

Class 1 PD.

LLDP_DOT3_POWER_CLASS_2 

Class 2 PD.

LLDP_DOT3_POWER_CLASS_3 

Class 3 PD.

LLDP_DOT3_POWER_CLASS_4 

Class 4 and above PD.

Definition at line 150 of file lldp_ext_dot3.h.

◆ LldpDot3PowerDown

Power down field.

Enumerator
LLDP_DOT3_POWER_DOWN_REQUEST 
LLDP_DOT3_POWER_DOWN_TIME 

Definition at line 285 of file lldp_ext_dot3.h.

◆ LldpDot3PowerPriority

Power priority.

Enumerator
LLDP_DOT3_POWER_PRIORITY_UNKNOWN 

Unknown.

LLDP_DOT3_POWER_PRIORITY_CRITICAL 

Critical.

LLDP_DOT3_POWER_PRIORITY_HIGH 

High.

LLDP_DOT3_POWER_PRIORITY_LOW 

Low.

Definition at line 194 of file lldp_ext_dot3.h.

◆ LldpDot3PowerSource

power source

Enumerator
LLDP_DOT3_PD_POWER_SOURCE_UNKNOWN 

Unknown (PD device type)

LLDP_DOT3_PD_POWER_SOURCE_PSE 

PSE (PD device type)

LLDP_DOT3_PD_POWER_SOURCE_RESERVED 

Reserved (PD device type)

LLDP_DOT3_PD_POWER_SOURCE_PSE_AND_LOCAL 

PSE and local (PD device type)

LLDP_DOT3_PSE_POWER_SOURCE_UNKNOWN 

Unknown (PSE device type)

LLDP_DOT3_PSE_POWER_SOURCE_PRIMARY 

Primary power source (PSE device type)

LLDP_DOT3_PSE_POWER_SOURCE_BACKUP 

Backup source (PSE device type)

LLDP_DOT3_PSE_POWER_SOURCE_RESERVED 

Reserved (PSE device type)

Definition at line 177 of file lldp_ext_dot3.h.

◆ LldpDot3PowerStatus

Power status.

Enumerator
LLDP_DOT3_POWER_STATUS_POWER_CLASS_EXT 
LLDP_DOT3_POWER_STATUS_POWER_CLASS_EXT_CLASS_1 
LLDP_DOT3_POWER_STATUS_POWER_CLASS_EXT_CLASS_2 
LLDP_DOT3_POWER_STATUS_POWER_CLASS_EXT_CLASS_3 
LLDP_DOT3_POWER_STATUS_POWER_CLASS_EXT_CLASS_4 
LLDP_DOT3_POWER_STATUS_POWER_CLASS_EXT_CLASS_5 
LLDP_DOT3_POWER_STATUS_POWER_CLASS_EXT_CLASS_6 
LLDP_DOT3_POWER_STATUS_POWER_CLASS_EXT_CLASS_7 
LLDP_DOT3_POWER_STATUS_POWER_CLASS_EXT_CLASS_8 
LLDP_DOT3_POWER_STATUS_POWER_CLASS_EXT_DUAL_SIGN_PD 
LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_B 
LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_B_CLASS_1 
LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_B_CLASS_2 
LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_B_CLASS_3 
LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_B_CLASS_4 
LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_B_CLASS_5 
LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_B_SINGLE_SIGN_PD 
LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_B_2_PAIR_ONLY_PSE 
LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_A 
LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_A_CLASS_1 
LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_A_CLASS_2 
LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_A_CLASS_3 
LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_A_CLASS_4 
LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_A_CLASS_5 
LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_A_SINGLE_SIGN_PD 
LLDP_DOT3_POWER_STATUS_DUAL_SIGN_POWER_CLASS_EXT_A_2_PAIR_ONLY_PSE 
LLDP_DOT3_POWER_STATUS_PSE_POWER_PAIRS_EXT 
LLDP_DOT3_POWER_STATUS_PSE_POWER_PAIRS_EXT_ALT_A 
LLDP_DOT3_POWER_STATUS_PSE_POWER_PAIRS_EXT_ALT_B 
LLDP_DOT3_POWER_STATUS_PSE_POWER_PAIRS_EXT_BOTH 
LLDP_DOT3_POWER_STATUS_PD_POWERED_STATUS 
LLDP_DOT3_POWER_STATUS_PD_POWERED_STATUS_SINGLE_SIGN_PD 
LLDP_DOT3_POWER_STATUS_PD_POWERED_STATUS_2_PAIR_DUAL_SIGN_PD 
LLDP_DOT3_POWER_STATUS_PD_POWERED_STATUS_4_PAIR_DUAL_SIGN_PD 
LLDP_DOT3_POWER_STATUS_PSE_POWERING_STATUS 
LLDP_DOT3_POWER_STATUS_PSE_POWERING_STATUS_2_PAIR 
LLDP_DOT3_POWER_STATUS_PSE_POWERING_STATUS_4_PAIR_SINGLE_SIGN_PD 
LLDP_DOT3_POWER_STATUS_PSE_POWERING_STATUS_4_PAIR_DUAL_SIGN_PD 

Definition at line 207 of file lldp_ext_dot3.h.

◆ LldpDot3PowerType

power type

Enumerator
LLDP_DOT3_POWER_TYPE_2_PSE 

Type 2 PSE.

LLDP_DOT3_POWER_TYPE_2_PD 

Type 2 PD.

LLDP_DOT3_POWER_TYPE_1_PSE 

Type 1 PSE.

LLDP_DOT3_POWER_TYPE_1_PD 

Type 1 PD.

Definition at line 164 of file lldp_ext_dot3.h.

◆ LldpDot3PsePowerPair

PSE power pair.

Enumerator
LLDP_DOT3_PSE_POWER_PAIR_SIGNAL 

Signal.

LLDP_DOT3_PSE_POWER_PAIR_SPARE 

Spare.

LLDP_DOT3_PSE_POWER_PAIR_ALT_A 

Alternative A.

LLDP_DOT3_PSE_POWER_PAIR_ALT_B 

Alternative B.

Definition at line 137 of file lldp_ext_dot3.h.

◆ LldpDot3Subtype

IEEE 802.3 subtypes.

Enumerator
LLDP_DOT3_SUBTYPE_RESERVED 

Reserved.

LLDP_DOT3_SUBTYPE_MAC_PHY_CONFIG_STATUS 

MAC/PHY Configuration/Status.

LLDP_DOT3_SUBTYPE_POWER_VIA_MDI 

Power Via MDI.

LLDP_DOT3_SUBTYPE_LINK_AGGREGATION 

Link Aggregation.

LLDP_DOT3_SUBTYPE_MAX_FRAME_SIZE 

Maximum Frame Size.

LLDP_DOT3_SUBTYPE_POWER_VIA_MDI_MEAS 

Power Via MDI Measurements.

Definition at line 48 of file lldp_ext_dot3.h.

◆ LldpDot3SystemSetup

System setup.

Enumerator
LLDP_DOT3_SYSTEM_SETUP_PD_LOAD 
LLDP_DOT3_SYSTEM_SETUP_POWER_TYPE_EXT 
LLDP_DOT3_SYSTEM_SETUP_POWER_TYPE_EXT_TYPE_3_PSE 
LLDP_DOT3_SYSTEM_SETUP_POWER_TYPE_EXT_TYPE_4_PSE 
LLDP_DOT3_SYSTEM_SETUP_POWER_TYPE_EXT_TYPE_3_SINGLE_SIGN_PD 
LLDP_DOT3_SYSTEM_SETUP_POWER_TYPE_EXT_TYPE_3_DUAL_SIGN_PD 
LLDP_DOT3_SYSTEM_SETUP_POWER_TYPE_EXT_TYPE_4_SINGLE_SIGN_PD 
LLDP_DOT3_SYSTEM_SETUP_POWER_TYPE_EXT_TYPE_4_DUAL_SIGN_PD 
LLDP_DOT3_SYSTEM_SETUP_POWER_TYPE_RESERVED 

Definition at line 254 of file lldp_ext_dot3.h.

Function Documentation

◆ lldpDot3DeleteLocalTlv()

error_t lldpDot3DeleteLocalTlv ( LldpAgentContext context,
LldpDot3Subtype  subtype 
)

Remove all IEEE 802.3 specific TLVs with specified subtype.

Parameters
[in]contextPointer to the LLDP agent context
[in]subtypeTLV subtype
Returns
Error code

Definition at line 442 of file lldp_ext_dot3.c.

◆ lldpDot3SetLocalLinkAggregation()

error_t lldpDot3SetLocalLinkAggregation ( LldpAgentContext context,
uint_t  portIndex,
uint8_t  aggregationStatus,
uint32_t  aggregatedPortId 
)

Set Link aggregation.

Parameters
[in]contextPointer to the LLDP agent context
[in]portIndexPort index
[in]aggregationStatusBit-map of the link aggregation capabilities and the current aggregation status of the link
[in]aggregatedPortIdIEEE 802.3 aggregated port identifier,
Returns
Error code

Definition at line 244 of file lldp_ext_dot3.c.

◆ lldpDot3SetLocalMacPhyConfigStatus()

error_t lldpDot3SetLocalMacPhyConfigStatus ( LldpAgentContext context,
uint_t  portIndex,
uint8_t  autoNegSupportStatus,
uint16_t  pmdAutoNegAdvCap,
uint16_t  operationalMauType 
)

Set MAC/PHY configuration/status.

Parameters
[in]contextPointer to the LLDP agent context
[in]portIndexPort index
[in]autoNegSupportStatusBit-map that identifies the auto-negotiation support and current status of the local 802.3 LAN station
[in]pmdAutoNegAdvCapPMD auto-negotiation advertised capability
[in]operationalMauTypeMAU type of the sending device
Returns
Error code

Definition at line 57 of file lldp_ext_dot3.c.

◆ lldpDot3SetLocalMaxFrameSize()

error_t lldpDot3SetLocalMaxFrameSize ( LldpAgentContext context,
uint_t  portIndex,
uint16_t  maxFrameSize 
)

Set maximum frame size.

Parameters
[in]contextPointer to the LLDP agent context
[in]portIndexPort index
[in]maxFrameSizeMaximum supported frame size, in octets
Returns
Error code

Definition at line 310 of file lldp_ext_dot3.c.

◆ lldpDot3SetLocalPowerViaMdi()

error_t lldpDot3SetLocalPowerViaMdi ( LldpAgentContext context,
uint_t  portIndex,
uint8_t  mdiPowerSupport,
LldpDot3PsePowerPair  psePowerPair,
LldpDot3PowerClass  powerClass,
const LldpDot3DllClassExt dllClassExt,
const LldpDot3Type34Ext type34Ext 
)

Set power-via-MDI.

Parameters
[in]contextPointer to the LLDP agent context
[in]portIndexPort index
[in]mdiPowerSupportBit-map of the MDI power capabilities and status
[in]psePowerPairPSE power pair
[in]powerClassPSE power classification
[in]dllClassExtDLL classification extension (optional parameter)
[in]type34ExtType 3 and Type 4 extension (optional parameter)
Returns
Error code

Definition at line 130 of file lldp_ext_dot3.c.

◆ lldpDot3SetLocalPowerViaMdiMeas()

error_t lldpDot3SetLocalPowerViaMdiMeas ( LldpAgentContext context,
uint_t  portIndex,
uint8_t  measurements[20],
uint16_t  psePowerPriceIndex 
)

Set power-via-MDI measurements.

Parameters
[in]contextPointer to the LLDP agent context
[in]portIndexPort index
[in]measurementsMeasured values
[in]psePowerPriceIndexIndex of the current price of electricity compared to what the PSE considers the nominal electricity price
Returns
Error code

Definition at line 376 of file lldp_ext_dot3.c.

Variable Documentation

◆ __packed_struct

typedef __packed_struct
Initial value:
{
uint8_t autoNegSupportStatus

MAC/PHY Configuration/Status TLV.

Type 3 and Type 4 extension.

DLL Classification extension.

Power Via MDI Measurements TLV.

Maximum Frame Size TLV.

Link Aggregation TLV.

Power Via MDI TLV.

Definition at line 315 of file lldp_ext_dot3.h.

◆ aggregatedPortId

uint32_t aggregatedPortId

Definition at line 342 of file lldp_ext_dot3.h.

◆ autoclass

uint8_t autoclass

Definition at line 404 of file lldp_ext_dot3.h.

◆ LldpDot3DllClassExt

LldpDot3DllClassExt

Definition at line 388 of file lldp_ext_dot3.h.

◆ LldpDot3LinkAggregationTlv

LldpDot3LinkAggregationTlv

Definition at line 343 of file lldp_ext_dot3.h.

◆ LldpDot3MacPhyConfigStatusTlv

LldpDot3MacPhyConfigStatusTlv

Definition at line 320 of file lldp_ext_dot3.h.

◆ LldpDot3MaxFrameSizeTlv

LldpDot3MaxFrameSizeTlv

Definition at line 353 of file lldp_ext_dot3.h.

◆ LldpDot3PowerViaMdiMeasTlv

LldpDot3PowerViaMdiMeasTlv

Definition at line 364 of file lldp_ext_dot3.h.

◆ LldpDot3PowerViaMdiTlv

LldpDot3PowerViaMdiTlv

Definition at line 332 of file lldp_ext_dot3.h.

◆ LldpDot3Type34Ext

LldpDot3Type34Ext

Definition at line 406 of file lldp_ext_dot3.h.

◆ operationalMauType

uint16_t operationalMauType

Definition at line 319 of file lldp_ext_dot3.h.

◆ pd4pid

uint8_t pd4pid

Definition at line 381 of file lldp_ext_dot3.h.

◆ pdRequestedPower

uint16_t pdRequestedPower

Definition at line 386 of file lldp_ext_dot3.h.

◆ pdRequestedPowerB

uint16_t pdRequestedPowerB

Definition at line 398 of file lldp_ext_dot3.h.

◆ pmdAutoNegAdvCap

uint16_t pmdAutoNegAdvCap

Definition at line 318 of file lldp_ext_dot3.h.

◆ powerClass

uint8_t powerClass

Definition at line 331 of file lldp_ext_dot3.h.

◆ powerDown

uint8_t powerDown[3]

Definition at line 405 of file lldp_ext_dot3.h.

◆ powerSource

uint8_t powerSource

Definition at line 383 of file lldp_ext_dot3.h.

◆ powerStatus

uint16_t powerStatus

Definition at line 401 of file lldp_ext_dot3.h.

◆ powerType

uint8_t powerType

Definition at line 384 of file lldp_ext_dot3.h.

◆ pseAllocatedPower

uint16_t pseAllocatedPower

Definition at line 387 of file lldp_ext_dot3.h.

◆ pseAllocatedPowerA

uint16_t pseAllocatedPowerA

Definition at line 399 of file lldp_ext_dot3.h.

◆ pseAllocatedPowerB

uint16_t pseAllocatedPowerB

Definition at line 400 of file lldp_ext_dot3.h.

◆ pseMaxAvailablePower

uint16_t pseMaxAvailablePower

Definition at line 403 of file lldp_ext_dot3.h.

◆ psePowerPair

uint8_t psePowerPair

Definition at line 330 of file lldp_ext_dot3.h.

◆ psePowerPriceIndex

uint16_t psePowerPriceIndex

Definition at line 363 of file lldp_ext_dot3.h.

◆ reserved

uint8_t reserved

Definition at line 382 of file lldp_ext_dot3.h.

◆ systemSetup

uint8_t systemSetup

Definition at line 402 of file lldp_ext_dot3.h.