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. πŸ’…

  • -c text β€” using the command line option -c without any argument displays all known parameters in the format of key=value, which is suitable for post processing. use command line option -c and 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 -c will 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 of evbmode equals "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 of evbmode equals "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 as 10*2ecprte micro seconds.
  • vdprwd β€” shows or sets the number of resource wait delay value. this value is calculated as 10*2vdprwd micro 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 as 10*2vdprka micro 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 lldpad reflects 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. πŸ’–βœ¨πŸ¦‹