vdptool
Section: Linux (8)
Updated: April 2014
Page Index
NAME
vdptool - manage the VSI associations and status of lldpad
SYNOPSIS
vdptool <command> [options] [argument]
DESCRIPTION
vdptool
is used to query and configure the VSI associations in
lldpad.
Only the ratified stardard version of the VDP protocol
(also refered 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).
OPTIONS
- -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 (keywork 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
VSI Parameter
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 identifer 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.
COMMANDS
- 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
NOTES
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.
EXAMPLES
- Display process identifier of lldpad
-
vdptool -p
- Create a VSI association on interface eth2
-
vdptool -i eth2 -T -V assoc -c mode=assoc -c mgrid2=blabla \
-c typeid=5 -c uuid=1122 -c typeidver=4 -c hints=none \
-c filter=2-52:00:00:11:22:33-200
- Create a VSI association on interface eth2 and wait for the
-
response from the bridge
vdptool -i eth2 -T -W -V assoc -c mode=assoc -c mgrid2=blabla \
-c typeid=5 -c uuid=1122 -c typeidver=4 -c hints=none \
-c filter=0-52:00:00:11:22:33-200
- Create a VSI association on interface eth2 wth OUI parameters
-
and wait for the response from the bridge
vdptool -i eth2 -T -W -V assoc -c mode=assoc -c mgrid2=blabla \
-c typeid=5 -c uuid=1122 -c typeidver=4 -c hints=none \
-c filter=0-52:00:00:11:22:33-200 -c oui=CompanyA,data
- Create a VSI association on interface eth2 wth multiple OUI parameters
-
and wait for the response from the bridge
vdptool -i eth2 -T -W -V assoc -c mode=assoc -c mgrid2=blabla \
-c typeid=5 -c uuid=1122 -c typeidver=4 -c hints=none \
-c filter=0-52:00:00:11:22:33-200 -c oui=CompanyA,data \
-c oui=CompanyB,data
- Query all VSI association on interface eth2
-
vdptool -i eth2 -t -V assoc
- Query VSI association on interface eth2 that matches specific
-
VSI parameters. Any of the VSI parameters below can be omitted.
vdptool -i eth2 -t -V assoc -t -V assoc -c mode=assoc \
-c mgrid2=blabla -c typeid=5 -c uuid=1122 \
-c typeidver=4 -c hints=none
SEE ALSO
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)
COPYRIGHT
vdptool - VSI configuration utility
- Copyright(c)
-
(c) 2014 IBM Corporation.
Portions of vdptool are based on:
- open-lldp-0.96
-
- lldptool - LLDP agent configuration utility
-
- Copyright(c)
-
2007-2012 Intel Corporation.
Portions of lldptool are based on:
- hostapd-0.5.7
-
- Copyright
-
(c) 2004-2008, Jouni Malinen <j@w1.fi>
LICENSE
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".
SUPPORT
Contact Information:
open-lldp Mailing List <lldp-devel@open-lldp.org>