lldptool(8)
π lldptool(8) β evb22, the EVB TLV glow-up
okay bestie, so this is the lldptool(8) manual page, specifically the chunk about evb22 β Show / manipulate EVB IEEE 802.1 Ratified Standard TLV configuration. yes the whole thing. buckle up. π
β¨ NAME β¨
evb22 β show / manipulate EVB IEEE 802.1 Ratified Standard TLV configuration π
π SYNOPSIS π
no cap, here's every single invocation. copy them exactly, they are not vibes, they are syntax:
lldptool -t -i ethx -g ncb -V evb
lldptool -t -i ethx -g ncb -V evb -c
lldptool -t -i ethx -g ncb -V evb -c enabletx
lldptool -T -i ethx -g ncb -V evb -c enabletx=[yes|no]
lldptool -t -i ethx -g ncb -V evb -c evbmode
lldptool -T -i ethx -g ncb -V evb -c evbmode=[bridge|station]
lldptool -t -i ethx -g ncb -V evb -c evbrrreq
lldptool -T -i ethx -g ncb -V evb -c evbrrreq=[yes|no]
lldptool -t -i ethx -g ncb -V evb -c evbrrcap
lldptool -T -i ethx -g ncb -V evb -c evbrrcap=[yes|no]
lldptool -t -i ethx -g ncb -V evb -c evbgpid
lldptool -T -i ethx -g ncb -V evb -c evbgpid=[yes|no]
lldptool -t -i ethx -g ncb -V evb -c ecpretries
lldptool -T -i ethx -g ncb -V evb -c ecpretries=[0..7]
lldptool -t -i ethx -g ncb -V evb -c ecprte
lldptool -T -i ethx -g ncb -V evb -c ecprte=[0..31]
lldptool -t -i ethx -g ncb -V evb -c vdprwd
lldptool -T -i ethx -g ncb -V evb -c vdprwd=[0..31]
lldptool -t -i ethx -g ncb -V evb -c vdprka
lldptool -T -i ethx -g ncb -V evb -c vdprka=[0..31]
π¦ DESCRIPTION π¦
so the Edge Virtual Bridge (EVB) TLV is a TLV whose whole job is to announce the station and bridge's edge virtual bridging (EVB) capabilities, and it can also politely request that the bridge port be set into reflective relay (hairpin) mode. and if both sides agree on the modes and time out values? then the edge control protocol (ECP) gets used to exchange VSI discovery protocol (VDP) data using ECP frames between the host interface and the adjacent switch port facing the host interface. teamwork makes the dream work fr fr β¨
this man page describes the IEEE 802.1 Qbg ratified standard dated from July 5th, 2012. important: the arguments and parameters differ from the IEEE 802.1 Qbg draft 0.2, which is also implemented. the EVB protocol version to be used depends on the organizational unique identifier (OUI) of the EVB TLV in the LLDP data stream. a OUI value of 0x001b3f stands for the IEEE 802.1 Qbg draft 0.2, and a OUI value of 0x0080c2 stands for the IEEE 802.1 Qbg ratified standard. the version of the ECP and VDP protocols are determined by the ethernet type field in the ethernet header. the ethernet type value for IEEE 802.1 Qbg draft 0.2 is 0x88b7, and the value for IEEE 802.1 Qbg ratified standard is 0x8890. π
also note: the EVB protocol is exchanged between nearest customer bridges only, employing the reserved multicast MAC address 01:80:c2:00:00:00 as destination MAC address. lldpad(8) supports both versions, and the switch port configuration determines which version will be used. and the switch port configuration should select only one protocol version, never both. periodt.
the command line options and arguments are explained in the lldptool(8) man pages. only the EVB, ECP and VDP protocol specific parameters are detailed in this manual page. π
π ARGUMENTS π
the invocation without command line option -c and argument displays the complete EVB, ECP and VDP protocol settings in a pretty print out. see below for a detailed description on how to interpret the output. she's giving readability. π
-ctext β using the command line option-cwithout any argument displays all known parameters in the format ofkey=value, which is suitable for post processing. use command line option-cand one of the following arguments to display and set individual parameters. text can be one of the following values:
then the actual arguments, one by one, no skipping:
enabletxβ enables or disables the EVB TLV to be transmitted. when set to disabled no EVB TLV will be included in the LLDP data stream. furthermore the output of the complete EVB settings without option-cwill be empty. so like, nothing. silence. π«₯evbmodeβ display the current role or sets the role to the given value. supported values are either"station"or"bridge". pick a lane bestie.evbrrreqβ shows the current reflective relay (hairpin) request mode or sets the reflective relay (hairpin) request mode. if the value is"yes", the station requests the interface facing switch port to be set in reflective relay (hairpin) mode. this field is only valid for stations, the output ofevbmodeequals"station". iykyk.evbrrcapβ shows the current reflective relay (hairpin) capabilities or sets the reflective relay (hairpin) capabilities. if the value is"yes", the switch port will be set in reflective relay (hairpin) mode. this field is only valid for switches, the output ofevbmodeequals"bridge". πgpidβ shows the current station or switch support for grouping or turns on/off the station or switch support for grouping. if set to true, the station or switch wants to use group identifiers in VDP protocols.ecpretriesβ shows or sets the maximum number of retries for ECP frames to be retransmitted. a retransmit occurs when no ECP acknowledgement message has been received during a given time period. she tries again. we love resilience. πecprteβ shows or sets the local run time exponent (RTE). the RTE will be used as the base for the timing of the ECP protocol time outs and retransmits. the wait time is calculated as10*2ecprtemicro seconds.vdprwdβ shows or sets the number of resource wait delay value. this value is calculated as10*2vdprwdmicro seconds and determines the maximum wait time for VDP protocol acknowledgements.vdprkaβ shows or sets the number of re-init keep alive value. this value is calculated as10*2vdprkamicro seconds and determines the wait time for VDP protocol to send a keep alive message.
π§ Theory of Operation π§
the EVB TLV is used to announce and exchange supported parameters between the station and an adjacent switch. if reflectiverelay is active, the switch sends back ethernet frames on the very same port it received the frame on. it's an extension to the current bridging standard and it allows communication between virtual machines on the same host through the switch port. like a lil round trip. π
π₯ EXAMPLE & USAGE π₯
Display locally configured values for eth0
lldptool -t -g ncb -i eth0 -V evb
EVB Configuration TLV
bridge:(00)
station:rrreq,rrstat(0x5)
retries:7 rte:31
mode:station r/l:0 rwd:31
r/l:0 rka:8
this output is displayed when enabletx has been enabled. let's break it down, bestie, because there's lore here:
the first line shows the currently known status of the bridge. the second line shows the currently known status of the station. the status is displayed verbose appended by the hexadecimal value in parenthesis. the verbose output uses the bit naming convention used in the standard document. the third line displays the values for the ECP protocol number of retransmits (retries) and the retransmit timeout exponent. the forth line shows the current mode of operation, either bridge or station, the resource wait delay value (rwd) and an indication if the local (0) or remote (1) rwd value is used. the fifth line displays the value of the re-init keep alive counter (rka) and an indication if the local (0) or remote (1) rka value is used. iconic honestly. π
Display the currently requested forwarding mode for eth0
lldptool -t -g ncb -i eth0 -V evb -c evbrrreq
Display the locally configured value for RTE
lldptool -t -g ncb -i eth0 -V evb -c evbrte
Set the value for RTE to its maximum value
lldptool -T -g ncb -i eth0 -V evb -c rte=7
Set the value for enabletx to yes
lldptool -T -g ncb -i eth0 -V evb -c enabletx=yes
π NOTES π
okay so the tea is a little messy:
- currently the code in
lldpadreflects IEEE 802.1 Qbg draft 0.2 of the upcoming standard. - Wireshark support for IEEE 802.1 Qbg ratified standard TLVs is currently missing. π
- support for the IEEE 802.1 Qbg ratified standard protocols ECP and VDP is currently under development and not fully functional.
so like, it works, but it's giving "under construction" energy. proceed accordingly. π
πΈ SEE ALSO πΈ
π AUTHOR π
Thomas Richter
and that's the whole page, bestie. this little beauty came to you from the open-lldp crew back in February 2013, under the lldptool(8) banner. slay, read responsibly, and go configure that EVB TLV. πβ¨π¦
π¦ where this page comes from
- alpine 3.22: open-lldp-doc 1.1-r2 Β· GPL-2.0-only
- alpine 3.23: open-lldp-doc 1.1-r3 Β· GPL-2.0-only
- alpine 3.24: open-lldp-doc 1.1-r3 Β· GPL-2.0-only
- centos-stream 10: lldpad 1.1.1-4.gitf1dd9eb.el10 Β· GPL-2.0-only
- centos-stream 9: lldpad 1.1.1-5.gitf1dd9eb.el9 Β· GPL-2.0-only
- centos-stream 9: lldpad 1.1.1-5.gitf1dd9eb.el9 Β· GPL-2.0-only
- debian bookworm: lldpad 1.1+git20221028.aa18720-1 Β· GPL-2.0-only
- debian trixie: lldpad 1.1.1-1+b1 Β· GPL-2.0-only
- fedora 43: lldpad 1.1.0-14.git85e5583.fc43 Β· GPL-2.0-only
- fedora 43: lldpad 1.1.0-14.git85e5583.fc43 Β· GPL-2.0-only
- fedora 44: lldpad 1.1.0-16.git85e5583.fc44 Β· GPL-2.0-only
- fedora 44: lldpad 1.1.0-16.git85e5583.fc44 Β· GPL-2.0-only
- opensuse-leap 16.0: open-lldp 1.1+110.f16f944-160000.1.1 Β· GPL-2.0-only
- opensuse-leap 16.0: open-lldp 1.1+110.f16f944-160000.1.1 Β· GPL-2.0-only
- opensuse-leap 16.0: open-lldp 1.1+110.f16f944-160000.1.1 Β· GPL-2.0-only
- opensuse-leap 16.0: open-lldp 1.1+110.f16f944-160000.1.1 Β· GPL-2.0-only
- ubuntu jammy: lldpad 1.1-1 Β· GPL-2.0-only
- ubuntu noble: lldpad 1.1+git20221028.aa18720-2 Β· GPL-2.0-only
- ubuntu questing: lldpad 1.1.1-1build1
- ubuntu resolute: lldpad 1.1.1-1build2 Β· GPL-2.0-only
- ubuntu stonking: lldpad 1.1.1-1build2 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms