FD.io VPP  v21.10.1-2-g0a485f517
Vector Packet Processing
cdp_protocol.h File Reference
+ Include dependency graph for cdp_protocol.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ethernet_802_3_header_t
 

Macros

#define foreach_cdp_tlv_type
 
#define CDP_ROUTER_DEVICE   0x0001
 
#define CDP_TB_DEVICE   0x0002
 
#define CDP_SRB_DEVICE   0x0004
 
#define CDP_SWITCH_DEVICE   0x0008
 
#define CDP_HOST_DEVICE   0x0010
 
#define CDP_IGMP_DEVICE   0x0020
 
#define CDP_REPEATER_DEVICE   0x0040
 
#define CDP_DUPLEX_TLV_HALF   0x0
 
#define CDP_DUPLEX_TLV_FULL   0x1
 

Enumerations

enum  cdp_tlv_code_t { foreach_cdp_tlv_type }
 

Functions

typedef CLIB_PACKED (struct { u8 version;u8 ttl;u16 checksum;u8 data[0];}) cdp_hdr_t
 
typedef CLIB_PACKED (struct { ethernet_802_3_header_t ethernet;llc_header_t llc;snap_header_t snap;cdp_hdr_t cdp;}) ethernet_llc_snap_and_cdp_header_t
 
typedef CLIB_PACKED (struct { hdlc_header_t hdlc;cdp_hdr_t cdp;}) hdlc_and_cdp_header_t
 
typedef CLIB_PACKED (struct { srp_header_t srp;ethernet_header_t ethernet;cdp_hdr_t cdp;}) srp_and_cdp_header_t
 
typedef CLIB_PACKED (struct { u16 t;u16 l;u8 v[0];}) cdp_tlv_t
 

Macro Definition Documentation

◆ CDP_DUPLEX_TLV_FULL

#define CDP_DUPLEX_TLV_FULL   0x1

Definition at line 176 of file cdp_protocol.h.

◆ CDP_DUPLEX_TLV_HALF

#define CDP_DUPLEX_TLV_HALF   0x0

Definition at line 175 of file cdp_protocol.h.

◆ CDP_HOST_DEVICE

#define CDP_HOST_DEVICE   0x0010

Definition at line 152 of file cdp_protocol.h.

◆ CDP_IGMP_DEVICE

#define CDP_IGMP_DEVICE   0x0020

Definition at line 153 of file cdp_protocol.h.

◆ CDP_REPEATER_DEVICE

#define CDP_REPEATER_DEVICE   0x0040

Definition at line 154 of file cdp_protocol.h.

◆ CDP_ROUTER_DEVICE

#define CDP_ROUTER_DEVICE   0x0001

Definition at line 148 of file cdp_protocol.h.

◆ CDP_SRB_DEVICE

#define CDP_SRB_DEVICE   0x0004

Definition at line 150 of file cdp_protocol.h.

◆ CDP_SWITCH_DEVICE

#define CDP_SWITCH_DEVICE   0x0008

Definition at line 151 of file cdp_protocol.h.

◆ CDP_TB_DEVICE

#define CDP_TB_DEVICE   0x0002

Definition at line 149 of file cdp_protocol.h.

◆ foreach_cdp_tlv_type

#define foreach_cdp_tlv_type
Value:
_(unused) \
_(device_name) /* uniquely identifies the device */ \
_(address) /* list of addresses this device has */ \
_(port_id) /* port CDP packet was sent out on */ \
_(capabilities) /* funct. capabilities of the device */ \
_(version) /* version */ \
_(platform) /* hardware platform of this device */ \
_(ipprefix) /* An IP network prefix */ \
_(hello) /* Pprotocol piggyback hello msg */ \
_(vtp_domain) /* VTP management domain */ \
_(native_vlan) /* Native VLAN number */ \
_(duplex) /* The interface duplex mode */ \
_(appl_vlan) /* Appliance VLAN-ID TLV */ \
_(trigger) /* For sending trigger TLV msgs. */ \
_(power) /* Power consumption of that device */ \
_(mtu) /* MTU defined for sending intf. */ \
_(trust) /* Extended trust TLV */ \
_(cos) /* COS for Untrusted Port TLV */ \
_(sysname) /* System name (FQDN of device) */ \
_(sysobject) /* OID of sysObjectID MIB object */ \
_(mgmt_addr) /* SNMP manageable addrs. of device */ \
_(physical_loc) /* Physical Location of the device */ \
_(mgmt_addr2) /* External Port-ID */ \
_(power_requested) \
_(power_available) \
_(port_unidirectional) \
_(unknown_28) \
_(energywise) \
_(unknown_30) \
_(spare_poe)

Definition at line 65 of file cdp_protocol.h.

Enumeration Type Documentation

◆ cdp_tlv_code_t

Enumerator
foreach_cdp_tlv_type 

Definition at line 97 of file cdp_protocol.h.

Function Documentation

◆ CLIB_PACKED() [1/5]

typedef CLIB_PACKED ( struct { ethernet_802_3_header_t ethernet;llc_header_t llc;snap_header_t snap;cdp_hdr_t cdp;}  )

◆ CLIB_PACKED() [2/5]

typedef CLIB_PACKED ( struct { hdlc_header_t hdlc;cdp_hdr_t cdp;}  )

◆ CLIB_PACKED() [3/5]

typedef CLIB_PACKED ( struct { srp_header_t srp;ethernet_header_t ethernet;cdp_hdr_t cdp;}  )

◆ CLIB_PACKED() [4/5]

typedef CLIB_PACKED ( struct { u16 t;u16 l;u8 v[0];}  )

◆ CLIB_PACKED() [5/5]

typedef CLIB_PACKED ( struct { u8 version;u8 ttl;u16 checksum;u8 data[0];}  )
address
manual_print typedef address
Definition: ip_types.api:96
version
option version
Definition: sample.api:19