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.
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>