Skip to content

mojothemonkey/puppet-openlldp

 
 

Repository files navigation

Puppet Open-LLDP Module

master branch: Build Status develop branch: Build Status

Introduction

This module installs Open-LLDP. lldpad (LLDP Agent Daemon) is a GPL licensed implementation of the Link Layer Discovery Protocol for Linux.

Actions:

  • Installs Open-LLDP (lldpad).
  • Starts lldpad.
  • Provides LLDP neighbor facts via facter (requires lldpad running and configured to at least receive LLDP frames on each Ethernet interface).
  • Configures lldpad to receive and/or transmit LLDP frames via the included lldptool.
  • Configures lldpad to transmit LLDP TLVs.

OS Support:

  • RedHat family - tested on CentOS 6.3
  • SuSE family - presently unsupported (patches welcome)
  • Debian family - presently unsupported (patches welcome)

Class documentation is available via puppetdoc.

Examples

class { 'openlldp': }

# Configure lldpad to receive and transmit LLDP frames on the specific interface.
openlldp::config::lldp { 'eth0':
  adminstatus => 'rxtx',
}

# Configure lldpad to transmit Basic LLDP TLVs.
# openlldp::config::lldp adminstatus has to be tx or rxtx for these to transmit.
openlldp::config::tlv { 'eth0':
  portDesc => 'yes',
  sysName  => 'yes',
  sysDesc  => 'yes',
  sysCap   => 'yes',
  mngAddr  => 'yes',
  portIDsubtype => 'ifname',  #portID TLV can display mac, ip or ifname (interface name).
}

Notes

  • Open-LLDP talks about applying configurations globally by not specifying "-i ethX" to lldptool. This has not worked with the versions tested (0.9.43), thus a global configuration mode has not been built into the Puppet module.
  • PVID TLV is not suported as a keyword with the versions tested (0.9.43), thus the code uses numerical values for all TLVs.

Issues

  • None

TODO

  • None

Contributing

Please see CONTRIBUTING.md for contribution information.

License

Please see LICENSE file.

Copyright

Copyright (C) 2012 Mike Arnold [email protected]

razorsedge/puppet-openlldp on GitHub

razorsedge/openlldp on Puppet Forge

Packages

No packages published

Languages

  • Ruby 53.9%
  • Puppet 38.0%
  • Shell 8.1%