Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new Portfile lldpd: LLDP Daemon and client #27718

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

akkornel
Copy link
Contributor

@akkornel akkornel commented Feb 20, 2025

Description

lldpd is a daemon that implements LLDP and LLDP-MED.

LLDP (Link Layer Discovery Protocol) is a link-local protocol—that is, it's limited to the physical Ethernet connection between one device and another—that devices use to exchange information about how they are connected, and what their capabilities are, from a Layer-1 and Layer-2 perspective.

For example, say your Mac has a physical Ethernet connection that is plugged into a switch. If both sides support LLDP, the switch might tell you:

  • Its make, model, and OS.
  • The name of the switch, and its management IP address.
  • What type of Ethernet connections are supported (you may be on a port that can support 10-Gigabit Ethernet).
  • What VLAN you are on, and for tagged (802.11q) VLANs, what VLANs are being provided.

It can be useful for sysadmins who are trying to figure out where an Ethernet cable goes (assuming you can unplug it): Plug one end into your Mac's Ethernet adapter, and within a minute you'll likely get the information.

VoIP phones are prominent users of LLDP, identifying themselves as IP phones. Switches can react to this information by enabling VLAN tagging on a port, telling the phone which VLAN is to be used for voice traffic. These are examples of LLDP Media Endpoint Discovery (LLDP-MED).

lldpd also implements several related protocols—such as the proprietary Cisco Discovery Protocol (CDP)—that have largely been supplanted by LLDP.

There are three components:

  • lldpd is a daemon that connects to all supportable (Ethernet) interfaces, sending out LLDP messages and listening for incoming messages. It is launched via a LaunchDaemon.

  • lldpctl can be used to see what information is known about connected devices.

  • lldpcli can provide the same information as lldpctl, and can also be used to configure lldpd.

Type(s)
  • bugfix
  • enhancement
  • security fix
Tested on

macOS 15.3 24D60 arm64
Command Line Tools 16.2.0.0.1.1733547573

Verification

Have you

  • followed our Commit Message Guidelines?
  • squashed and minimized your commits?
  • checked that there aren't other open pull requests for the same change?
  • referenced existing tickets on Trac with full URL in commit message? — Trac tickets 50586 and 55122 will be closed by this PR.
  • checked your Portfile with port lint?
  • tried a full install with sudo port -vst install? -- sudo port -vs install works. sudo port -vst install dies with exit code 9 when trying to un-tar.
  • tested basic functionality of all binary files?

[lldpd](https://lldpd.github.io) is a daemon that implements LLDP and
LLDP-MED.

LLDP (Link Layer Discovery Protocol) is a link-local protocol—that is,
it's limited to the physical Ethernet connection between one device and
another—that devices use to exchange information about how they are
connected, and what their capabilities are, from a Layer-1 and Layer-2
perspective.

For example, say your Mac has a physical Ethernet connection that is
plugged into a switch.  If both sides support LLDP, the switch might
tell you:

* Its make, model, and OS.
* The name of the switch, and its management IP address.
* What type of Ethernet connections are supported (you may be on a port
  that can support 10-Gigabit Ethernet).
* What VLAN you are on, and for tagged (802.11q) VLANs, what VLANs are
  being provided.

It can be useful for sysadmins who are trying to figure out where an
Ethernet cable goes (assuming you can unplug it): Plug one end into your
Mac's Ethernet adapter, and within a minute you'll likely get the
information.

VoIP phones are prominent users of LLDP, identifying themselves as IP
phones.  Switches can react to this information by enabling VLAN tagging
on a port, telling the phone which VLAN is to be used for voice traffic.
These are examples of LLDP Media Endpoint Discovery (LLDP-MED).

lldpd also implements several related protocols—such as the
proprietary Cisco Discovery Protocol (CDP)—that have largely been
supplanted by LLDP.

There are three components:

* `lldpd` is a daemon that connects to all supportable (Ethernet)
  interfaces, sending out LLDP messages and listening for incoming
  messages.  It is launched via a LaunchDaemon.

* `lldpctl` can be used to see what information is known about connected
  devices.

* `lldpcli` can provide the same information as `lldpctl`, and can also
  be used to configure `lldpd`.

Closes: https://trac.macports.org/ticket/50586
Closes: https://trac.macports.org/ticket/55122
machine (and reciprocally).
long_description lldpd is an 802.1ab implementation (LLDP) to help you \
locate neighbors of all your equipments. Proprietary \
protocols (like EDP and CDP) are supported. \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line continuation (\) will interfere with the homepage line.

@herbygillot
Copy link
Member

Also, commit message guidelines want to see that a commit in MacPorts has the following format for its description: <portname>: <description>

So this message on this commit should look like lldp: new port (at least the first line should be in that format).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

3 participants