1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-02 19:21:53 +03:00
The systemd System and Service Manager
Go to file
Lennart Poettering 34437b4f9c sd-lldp: rework sd-lldp API
This reworks the sd-lldp substantially, simplifying things on one hand, and
extending the logic a bit on the other.

Specifically:

- Besides the sd_lldp object only one other object is maintained now,
  sd_lldp_neighbor. It's used both as storage for literal LLDP packets, and for
  maintainging info about peers in the database. Separation between packet, TLV
  and chassis data is not maintained anymore. This should be a major
  simplification.

- The sd-lldp API has been extended so that a couple of per-neighbor fields may
  be queried directly, without iterating through the object. Other fields that
  may appear multiple times, OTOH have to be iterated through.

- The maximum number of entries in the neighbor database is now configurable
  during runtime.

- The generation of callbacks from sd_lldp objects is more restricted:
  callbacks are only invoked when actual data changed.

- The TTL information is now hooked with a timer event, so that removals from
  the neighbor database due to TTLs now result in a callback event.

- Querying LLDP neighbor database will now return a strictly ordered array, to
  guarantee stability.

- A "capabilities" mask may now be configured, that selects what type of LLDP
  neighbor data is collected. This may be used to restrict collection of LLDP
  info about routers instead of all neighbors. This is now exposed via
  networkd's LLDP= setting.

- sd-lldp's API to serialize the collected data to text files has been removed.
  Instead, there's now an API to extract the raw binary data from LLDP neighbor
  objects, as well as one to convert this raw binary data back to an LLDP
  neighbor object. networkd will save this raw binary data to /run now, and the
  client side can simply parse the information.

- support for parsing the more exotic TLVs has been removed, since we are not
  using that. Instead there are now APIs to extract the raw data from TLVs.
  Given how easy it is to parse the TLVs clients should do so now directly
  instead of relying on our APIs for that.

- A lot of the APIs that parse out LLDP strings have been simplified so that
  they actually return strings, instead of char arrays with a length. To deal
  with possibly dangerous characters the strings are escaped if needed.

- APIs to extract and format the chassis and port IDs as strings has been
  added.

- lldp.h has been simplified a lot. The enums are anonymous now, since they
  were never used as enums, but simply as constants. Most definitions we don't
  actually use ourselves have eben removed.
2016-02-21 20:40:56 +01:00
catalog
coccinelle
docs
factory/etc
hwdb
m4
man sd-lldp: rework sd-lldp API 2016-02-21 20:40:56 +01:00
network
po
rules
shell-completion systemd-resolve: initial shell completion 2016-02-18 11:50:53 -05:00
src sd-lldp: rework sd-lldp API 2016-02-21 20:40:56 +01:00
sysctl.d
system-preset
sysusers.d remove bus-proxyd 2016-02-12 19:10:01 +01:00
test tests: add test for https://github.com/systemd/systemd/issues/2637 2016-02-17 22:40:26 +00:00
tmpfiles.d build-sys: allow references to wheel group to be omitted 2016-02-17 23:47:23 -05:00
tools
units remove bus-proxyd 2016-02-12 19:10:01 +01:00
xorg
.dir-locals.el
.editorconfig
.gitattributes
.gitignore Merge pull request #2618 from zonque/busproxy-removal 2016-02-15 14:54:09 +01:00
.mailmap
.travis.yml
.vimrc
.ycm_extra_conf.py
autogen.sh build-sys: drop libsystemd-{id128,daemon,login,journal}.so compat libs 2016-02-13 11:57:14 +01:00
CODING_STYLE
configure.ac Merge pull request #2621 from keszybz/wheel-group 2016-02-18 19:20:14 +01:00
CONTRIBUTING.md
DISTRO_PORTING
LICENSE.GPL2
LICENSE.LGPL2.1
Makefile-man.am Merge pull request #2618 from zonque/busproxy-removal 2016-02-15 14:54:09 +01:00
Makefile.am sd-lldp: rework sd-lldp API 2016-02-21 20:40:56 +01:00
NEWS resolved: turn on DNSSEC by default, unless configured otherwise 2016-02-16 15:22:05 +01:00
README remove bus-proxyd 2016-02-12 19:10:01 +01:00
README.md
TODO Merge pull request #2618 from zonque/busproxy-removal 2016-02-15 14:54:09 +01:00

systemd - System and Service Manager

Build Status
Coverity Scan Status

Details

General information about systemd can be found in the systemd Wiki.

Information about build requirements are provided in the README file.

Consult our NEWS file for information about what's new in the most recent systemd versions.

Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.

When preparing patches for systemd, please follow our Coding Style Guidelines.

If you are looking for support, please contact our mailing list or join our IRC channel.