Zephyr Project API 3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
lldp.h File Reference

LLDP definitions and handler. More...

Go to the source code of this file.

Data Structures

struct  net_lldp_chassis_tlv
 Chassis ID TLV, see chapter 8.5.2 in IEEE 802.1AB. More...
 
struct  net_lldp_port_tlv
 Port ID TLV, see chapter 8.5.3 in IEEE 802.1AB. More...
 
struct  net_lldp_time_to_live_tlv
 Time To Live TLV, see chapter 8.5.4 in IEEE 802.1AB. More...
 
struct  net_lldpdu
 LLDP Data Unit (LLDPDU) shall contain the following ordered TLVs as stated in "8.2 LLDPDU format" from the IEEE 802.1AB. More...
 

Macros

#define net_lldp_set_lldpdu(iface)
 Set LLDP protocol data unit (LLDPDU) for the network interface.
 
#define net_lldp_unset_lldpdu(iface)
 Unset LLDP protocol data unit (LLDPDU) for the network interface.
 

Typedefs

typedef enum net_verdict(* net_lldp_recv_cb_t) (struct net_if *iface, struct net_pkt *pkt)
 LLDP Receive packet callback.
 

Enumerations

enum  net_lldp_tlv_type {
  LLDP_TLV_END_LLDPDU = 0 , LLDP_TLV_CHASSIS_ID = 1 , LLDP_TLV_PORT_ID = 2 , LLDP_TLV_TTL = 3 ,
  LLDP_TLV_PORT_DESC = 4 , LLDP_TLV_SYSTEM_NAME = 5 , LLDP_TLV_SYSTEM_DESC = 6 , LLDP_TLV_SYSTEM_CAPABILITIES = 7 ,
  LLDP_TLV_MANAGEMENT_ADDR = 8 , LLDP_TLV_ORG_SPECIFIC = 127
}
 TLV Types. More...
 

Functions

int net_lldp_config (struct net_if *iface, const struct net_lldpdu *lldpdu)
 Set the LLDP data unit for a network interface.
 
int net_lldp_config_optional (struct net_if *iface, const uint8_t *tlv, size_t len)
 Set the Optional LLDP TLVs for a network interface.
 
void net_lldp_init (void)
 Initialize LLDP engine.
 
int net_lldp_register_callback (struct net_if *iface, net_lldp_recv_cb_t cb)
 Register LLDP Rx callback function.
 
enum net_verdict net_lldp_recv (struct net_if *iface, struct net_pkt *pkt)
 Parse LLDP packet.
 

Detailed Description

LLDP definitions and handler.

This is not to be included by the application.