vdptool - manage the VSI associations and status of lldpad
vdptool <command> [options] [argument]
vdptool is used to query and configure the VSI associations
in lldpad. Only the ratified stardard version of the VDP protocol
(also referred to as vdp22) is supported. It connects to the client
interface of lldpad to perform these operations. vdptool will
operate in interactive mode if it is executed without a command. In
interactive mode, vdptool will also function as an event listener to
print out events as they are received asynchronously from
lldpad(still to be done). It will use libreadline for interactive
input when available (still to be done).
- -i [ifname]
- specifies the network interface to which the command applies. Most
vdptool commands require specifying a network interface.
- -V [tlvid]
- specifies the VDP tlv identifier to be set or queried.
The tlvid is an integer value used to identify specific VDP TLVs. The tlvid
value is the type value for types not equal to 127 (the organizationally
specific type). For organizationally specific TLVs, the tlvid is the value
represented by the 3 byte OUI and 1 byte subtype - where the subtype is
the lowest order byte of the tlvid.
The tlvid can be entered as a numerical value (e.g. 10 or 0xa), or for
supported TLVs, as a keyword (such as assoc, deassoc, preassoc,
preassoc-rr, etc). Review the vdptool help output to see the list
of supported TLV keywords.
Use option -c to specify the parameters and its values to be
set or queried.
- -n
- "neighbor" option for commands which can use it (e.g. get-tlv).
Use this flag to retrieve the last VDP22 data returned from the bridge.
(not yet supported).
- -c <argument
list>
- Specifies additional parameters for TLV queries and associations commands.
The argument list varies, depending on the command option (-T) or
(-t). To establish a VSI association use the command option
(-T) and specify additional information as arguments in the form of
key=value. See the VSI Parameter subsection and Example
section below. To query a VSI specific association use the command option
(-t) and specify the value of the VSI Instance Identifier (keyword
uuid followed be the VSI UUID value) of the VSI association as
configuration parameter.
- -r
- show raw client interface messages
- -R
- show only raw Client interface messages
- -W
- Wait for the bridge response message
Each VDP22 TLVs contains a command mode, manager identifier, type
identifier, type identifier version, VSI instance identifier, migration
hints and filter information. The fields are explained next:
- mode (Command
Mode):
- The command mode determines the type of the VSI association to be
established. It is an ascii string can be one of:
- assoc:
- Create an VSI association.
- preassoc:
- Create an VSI preassociation. The association is only announced to the
switch.
- preassoc-rr:
- Create an VSI preassociation. The association is only announced to the
switch and the switch should reserve the resources.
- deassoc:
- Delete an VSI association.
Other strings are not recognized and return an error.
- mgrid2 (Manager
identifier):
- The manager identifier is a string of up to 16 alphanumeric characters. It
can also be an UUID according to RFC 4122 with optional dashes in
between.
- typeid (Type
Identifier):
- The type identifier is a number in the range of 0 to 2^24 - 1.
- typeidver (Type
Identifier Version):
- The type identifier version is a number in the range of 0 to 255.
- uuid (VSI Instance
Identifier):
- The VSI instance identifier is an UUID according to RFC 4122 with optional
dashes in between.
- hints (Migration
Hints):
- The migration hints is a string aiding in migration of virtual
machines:
- none:
- No hints available.
- from:
- The virtual machine is migrating away.
- to:
- The virtual machine is migrating to.
- fid (Filter Information
Data):
- The filter information data can be supplied in four different formats
identified by numbers in parathesis. Multiple filter information fields
can be supplied, but all have to be of the same format.
- vlan (1)
- A vlan number only, also known as filter information format 1. The vlan
identifier is a number in the range of 1 to 2^16 - 1. The high order 4
bits are used as quality of service bits. The vlan identifier can be zero,
a vlan identifier is then selected by the switch. Refer to IEEE 802.1 Qbg
ratified standard for details.
- vlan-mac (2)
- A vlan number and MAC address delimited by a slash ('-'), also known as
filter information format 2. The MAC address is specified in the format
xx:xx:xx:xx:xx:xx. The colons are mandatory. For vlan details see
(1).
- vlan-mac-group
(4)
- A vlan number, MAC address and group identifier, each delimited by a slash
('-'), also known as filter information format 4. The group identifier is
a 32 bit number. For vlan and MAC address details see (1) and (2).
- vlan--group
(3)
- A vlan number and group identifier, delimited by two slashes ('--'), also
known as filter information format 3. For vlan and group details see (1)
and (4).
- oui (Organizationally Unique
Identifier):
- This defines the optional Organizationally defined information field. This
contains the specific sets of values for this entry. There can be multiple
organizational specific fields, in which case there will be multiple
keywords oui= followed by the values. The value is of the following
format:
oui=OUI,[Organization specific values ]
The OUI specifies the name of the Organization that is responsible for
defining this content. A comma is mandatory after the OUI field. The
fields following this
is specified by the organization and hence will be decoded based on the
value of this OUI field. Currently, the following values for OUI are
supported.
- cisco
- Specifies Cisco defined OUI.
- license
- show license information
- -h, help
- show usage information
- -v, version
- show version information
- -t, get-vsi
- get VSI information for the specified interface
- -T, set-vsi
- set VSI information for the specified interface
- -p, ping
- display the process identifier of the running lldpad process
- -q, quit
- exit from interactive mode
This tool is in its early design and development phase. It it
buggy, incomplete and most of the ideas have not even been thought of.... It
reflects the current state of development when I had been given another work
assignment. I append it so some else can continue to work on this.
lldptool-dcbx(8), lldptool-ets(8),
lldptool-pfc(8), lldptool-app(8), lldptool-med(8),
lldptool-vdp(8), lldptool-evb(8), lldptool-evb22(8),
dcbtool(8), lldpad(8)
This program is free software; you can redistribute it and/or
modify it under the terms and conditions of the GNU General Public License,
version 2, as published by the Free Software Foundation.
This program is distributed in the hope 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 St - Fifth Floor, Boston, MA 02110-1301 USA.
The full GNU General Public License is included in this
distribution in the file called "COPYING".
Contact Information: open-lldp Mailing List
<lldp-devel@open-lldp.org>