Forge Home


Open-LLDP installation and management.


6,355 latest version

4.3 quality score

Version information

  • 1.0.0 (latest)
  • 0.3.0
  • 0.2.1
  • 0.2.0
  • 0.1.0
  • 0.0.1
released Jul 1st 2017
This version is compatible with:
  • Puppet Enterprise 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >=2.7.20 <5.0.0
  • , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'razorsedge-openlldp', '1.0.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add razorsedge-openlldp
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install razorsedge-openlldp --version 1.0.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Tags: facts, lldp


razorsedge/openlldp — version 1.0.0 Jul 1st 2017

Puppet Open-LLDP Module

master branch: Build Status develop branch: Build Status


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


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


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',


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


  • None


  • None


Please see for contribution information.


Please see LICENSE file.


Copyright (C) 2012 Mike Arnold

razorsedge/puppet-openlldp on GitHub

razorsedge/openlldp on Puppet Forge