]> git.ipfire.org Git - thirdparty/lldpd.git/blame - NEWS
interfaces: refactor generic ethernet/bond reception for Linux
[thirdparty/lldpd.git] / NEWS
CommitLineData
20edc61c
VB
1lldpd (0.9.6)
2 * Change:
3 + Add a compile-time option to restore pre-0.9.2 JSON format (when
4 using json-c). Use `--enable-json0` to enable this option.
38cbcf2b
VB
5 + Support for newer ethtool interface on Linux
6 (ETHTOOL_LINKSETTINGS) and additional speed settings.
72cf4bba 7 + Current MAU type is displayed even when autoneg is off.
23ce0513
VB
8 * Fix:
9 + Correctly parse LLDP-MED civic address when the length of the
10 TLV exceeds the length of the address.
20edc61c 11
340f159c 12lldpd (0.9.5)
2fb135c8
VB
13 * Change:
14 + More Ethernet media supported. However, RFC4836 is quite
15 out-of-date with respected to 10G+ speeds, bringing some
16 inaccuracies.
a92e6f01
VB
17 + Directly get media information for an interface without using
18 the privileged process.
03d178b6
VB
19 + LLDP-MED capability TLV is not sent when LLDP-MED is not enabled,
20 even if other LLDP-MED TLV are present.
340f159c
VB
21 * Fix:
22 + Compilation fix with older versions of GCC.
0b7f8847
VB
23 + Don't use ethtool at all to get real MAC address for enslaved
24 devices (always use /proc).
340f159c 25
7b6cbfe2
VB
26lldpd (0.9.4)
27 * Change:
28 + Make lldpd accepts a `-p` option to specify the PID file.
d3b81cc5
VB
29 + Ability to change multicast MAC address to two additional values
30 to reach customer bridges.
35cc2de4 31 + lldpcli will now display chassis TTL when detailed view is enabled.
e1717397
VB
32 * Fix:
33 + Fix setting of local value for port ID.
e8ffca58 34 + Fix compilation with BSD make.
fe64f8e5 35 + Ensure lldpcli returns an error code on invalid commands.
7b6cbfe2 36
d954509e
VB
37lldpd (0.9.3)
38 * Change:
39 + Do not rely on support of constructors for liblldpctl.
b5463687 40 + Always log to stderr (even in addition to syslog).
d12b1391 41 + `lldpcli watch` accepts a limit on the number of received events.
69d4aed5
VB
42 * Fix:
43 + `lldpcli -f {xml,json} watch` should work now.
2958b9d4 44 + Consider `veth` interfaces as physical interfaces.
d954509e 45
4d99c9cf
VB
46lldpd (0.9.2)
47 * Change:
48 + Ability to add/remove/replace custom TLV from lldpcli.
1f8742dd 49 + LLDP-MED capabilities are displayed differently in lldpcli.
e7e6676e 50 + Limit the maximum depth (5) when trying to apply a VLAN.
c8b8b858
VB
51 + Change JSON output format when using json-c to match Jansson
52 output.
abced782
VB
53 + Integration tests for the major parts of lldpd, including use of
54 address and leak sanitizer.
60ad2804
VB
55 * Fix:
56 + LLDP-MED POE TLV are now displayed in lldpcli.
c04fafa7 57 + Ignore lower link when it is in another namespace.
2fdba99c 58 + Fix various problems with interfaces being enslaved.
809498b5 59 + Fix a memory leak when modifying port-related settings.
4d99c9cf 60
87bb9a1b
VB
61lldpd (0.9.1)
62 * Change:
63 + Rework packaging for OS X to make it work with El Capitan. To
64 simplify a bit, it is not possible anymore to build fat
65 binaries. Latest version of OS X supporting 32bit was 10.6.
a403df66
VB
66 * Fix:
67 + By default, when using port alias as description, use port name
68 as port ID.
652d72dd 69 + Miscellaneous fixes with netlink cache.
522acf33 70 + Ensure large netlink messages can be received.
87bb9a1b 71
0fa2254b
VB
72lldpd (0.9.0)
73 * Change:
b5a71b24
VB
74 + Don't rely on libnl3 for netlink. Reuse the previous code and
75 implement a lighweight cache.
0fa2254b 76
59b4cc6d 77lldpd (0.8.0, never released)
8ef5bced
VB
78 * Fix:
79 + Fix a buffer overflow when receiving a too large management
80 address TLV. Unless hardening has been disabled, this overflow
81 cannot be used for arbitrary code execution.
c56e4067
VB
82 + Update LLDP-MED policy L2 priority values to match
83 802.1Q-2005. This may be a breaking change.
13181ede 84 * Change:
a8add742
VB
85 + PIE is now disabled by default. It's too difficult to reliably
86 detect if it works. Use --enable-pie to enable it.
d535fe05 87 + Retrieve the permanent MAC address of an interface through
1a3ec373 88 ethtool for Linux if /proc/net/bonding is not available.
9856f279
VB
89 + Running lldpd with "-d" will keep the process in foreground but
90 logs will still go to syslog. To log to the console, add at
91 least one "-d".
aedb840f
VB
92 + Fix minimal kernel version to 2.6.39. Add a runtime warning when
93 this is not the case.
31c9173a 94 + Remove old bridge code (the one using ioctl).
36080cdc
VB
95 + Don't discard down interfaces. Notably, this enables us to keep
96 their specific configuration if any.
13181ede
VB
97 + For Linux, switch to libnl3. Be aware of the licensing issues in
98 case of static linking.
9da663f7
VB
99 + Introduce the notion of default local port. New interfaces will
100 use it as a base. This allows setting various MED stuff.
cd7ee899 101 + Provide an apparmor profile (untested).
13181ede 102
b52ec8a0
VB
103lldpd (0.7.17)
104 * Fix:
105 + Fix an infinite loop when using veth on Linux 4.1+ kernels.
106 + Make CDP advertise the appropriate kernel name as platform,
107 not just "Linux".
108 * Change:
109 + Fix the way libevent configure is called.
110
45eec1ff 111lldpd (0.7.16)
16eacc5b
VB
112 * Change:
113 + For Linux, 2.6.32 is now the minimal required kernel. When using
114 an older kernel, use `--enable-oldies`.
115 + For Linux, use netlink to retrieve information about bridges,
116 VLAN and bonds. The code was contributed by Cumulus Networks.
88301db1 117 * Features:
45eec1ff 118 + Use symbol versioning for liblldpctl.so.
88301db1
VB
119 + Ability to get local chassis information with "show
120 chassis".
121 + The library also has the same ability with the
122 `lldpctl_get_local_chassis()` function. It is also possible to
123 get a chassis atom from a port with `lldpctl_k_port_chassis`
124 key. This is now the preferred way to retrieve chassis related
125 information.
d8367e17
VB
126 * Fix:
127 + Fix build on OS X.
451b0c3c 128 + Accept "language" when configuring MED location as a civic address.
d8367e17 129
fa9b12c5
VB
130lldpd (0.7.15)
131 * Features:
132 + Optional features can be configured with "auto" to autodetect if
dd8c9fe3 133 they are usable. This is the default value for JSON and XML support.
d0e76b5f
VB
134 + Ability to send and decode custom/unknown TLV. Thanks to Alexandru
135 Ardelean.
63e52965
VB
136 * Change:
137 + Modify checksum function. While this should be strictly
138 equivalent, if you notice CDP packets not accepted anymore, this
139 change is the first culprit.
fa9b12c5 140
efdd6718
VB
141lldpd (0.7.14)
142 * Features:
143 + Shutdown LLPDU are sent on MSAP change and when lldpd exits.
abfea7d0
VB
144 + When an exact IP is provided as a management pattern, use it
145 unconditionally.
a8382e7f
VB
146 + Ability to set port ID and description to an arbitrary value,
147 thanks to Alexandru Ardelean.
ac07e7e4
VB
148 * Fix:
149 + Incorrect boundary check when decoding management address and
150 protocol identity may lead to lldpd crash when processing
151 malformed LLDPDU.
5683586e
VB
152 + Many edge cases where lldpd was leaving hanging processes after
153 crashing.
efdd6718 154
da9c551a
VB
155lldpd (0.7.13)
156 * Fix:
157 + Unbreak customization of Unix socket path from command line.
158
6d2c29c7 159lldpd (0.7.12)
6dd83015
VB
160 * Features:
161 + Interface pattern, management pattern, system description,
162 system platform and system hostname can be unconfigured to their
163 default values.
6d2c29c7 164 * Fix:
08ced6b4 165 + Don't complain when parsing a commented line.
22a53755
VB
166 + Correctly persist configuration changes for "system interface
167 promiscuous", "system interface description" "med fast-start
168 enable", "pause" and "resume".
148a1efe 169 + Fix listening on bond devices for old kernels (< 2.6.27).
6d2c29c7 170
9bc3d50e
VB
171lldpd (0.7.11)
172 * Features:
173 + Ship bash and zsh completion.
9b11faad 174 + Abort when some command-line options are repeated.
62f2faac
VB
175 * Fix:
176 + Handle correctly read failures in liblldpctl.
9bc3d50e 177
f84199dd
VB
178lldpd (0.7.10)
179 * Features:
180 + Ability to set promiscuous mode to work around bugs of some
181 switches encapsulating LLDP frames inside 802.1Q frames.
87ebf13d
VB
182 + JSON support for lldpcli can use json-c instead of jansson,
183 thanks to Michel Stam.
806eaef4
VB
184 * Fix:
185 + Fix checksum computation for Cisco CDP.
1059a20e 186 + Fix ability to disable LLDP.
5e23c6b9 187 + Fix seccomp sandbox, thanks to Patrick McLean.
f84199dd 188
5133ce2f
VB
189lldpd (0.7.9)
190 * Changes:
191 + Default location for chroot, socket and PID are now configurable
192 in `./configure`. The default location is based on the value of
193 `runstatedir` which in turn may be based on the value of
194 `localstatedir` which defaults to `/usr/local/var`. Therefore,
195 to get the previous locations, lldpd should be configured with
196 `./configure --localstatedir=/var`.
d5f8351c 197 * Fixes:
0e29d794
VB
198 + Fix `configure system bond-slave-src-mac-type local`. Also use
199 it as default.
5a215d4b 200 * Features:
a85eea84 201 + Add support for shutdown LLDPU.
622d14bb 202 + Ability to configure IP management pattern from lldpcli.
e82818d1 203 + Ability to choose what port ID should be (MAC or interface name).
5133ce2f 204
12313820
VB
205lldpd (0.7.8)
206 * Fixes:
207 + Don't hard-code default values for system name, system
208 description and port description. When the field is not present,
209 just don't display it.
fe8f9650 210 + Fix lldpcli behaviour when suid.
724d71ea
VB
211 + On OSX, don't use p2p0 interfaces: it would break WLAN.
212 + Fix SNMP support on RHEL.
8b0ca98e
VB
213 * Features:
214 + Android support
71a7dbb3
VB
215 + Add the possibility to disable privilege separation (lower
216 memory consumption, lower security, don't do it).
8b53fc2c
VB
217 + Interfaces can now be whitelisted. For example, *,!eth*,!!eth1
218 is a valid pattern for all interfaces except eth ones, except
627e31c4
VB
219 eth1. Moreover, on exact match, an matching interface
220 circumvents most sanity checks (like VLAN handling).
724d71ea 221 + Ability to override the hostname.
12313820 222
f730f6c5 223lldpd (0.7.7)
87bc6683
VB
224 * Features:
225 + Use a locally administered MAC address or an arbitrary one
d7166588
VB
226 instead of null MAC address for bond devices on Linux. This is
227 configurable through `lldpcli`.
f5a0a15e 228 + Add support for "team" driver (alternative to bond devices).
bdfe4193 229 + Preliminary support for DTrace/systemtap.
00e40dba 230 + Preliminary support for seccomp (for monitor process).
b6312220 231 + Setup chroot inside lldpd instead of relying on init script.
f730f6c5
VB
232 * Fixes:
233 + Various bugs related to fixed point number handling (for
234 coordinates in LLDP-MED)
12baf781
VB
235 + Fix a regression in how MAC address of an enslaved device is
236 retrieved.
f730f6c5 237
2523da3a 238lldpd (0.7.6)
b708297c
VB
239 * Features:
240 + Provide a way to build packages for OSX.
bb37268d 241 + Add an option to update interface description with neighbor name.
2523da3a
VB
242 * Fixes:
243 + Compilation fix for OSX 10.6.
244
2169efb2
VB
245lldpd (0.7.5)
246 * Fixes:
247 + Segfault while tokenizing in lldpcli.
248
655145c0
VB
249lldpd (0.7.4)
250 * Fixes:
251 + Segfault in lldpcli.
bea70314 252 + Memory leak in liblldpctl when using a custom log handler.
d8234294 253 + Fix some unaligned memory accesses.
13812178 254 + Fix frame reception on OpenBSD.
ea481e37 255 * Features:
0093777b
VB
256 + Allow to configure hold value from lldpcli (and hence the TTL).
257 + Allow to configure pattern for valid interfaces from lldpcli.
decaec0d 258 + Allow to override system description from lldpcli.
96b97fac
VB
259 + Display the neighbor connected as the process title (or the
260 number of connected neighbors).
655145c0 261
de461f15 262lldpd (0.7.3)
1b3eea3d
VB
263 * Features:
264 + DragonFly BSD support.
a1728b7d 265 + Solaris support (incomplete).
d0787f4e 266 + LLDP-MED fast start support (thanks to Roopa Prabhu).
adcb76f8
VB
267 + Provide global statistics through "show statistics summary"
268 command (thanks to Roopa Prabhu).
de461f15
VB
269 * Fixes:
270 + Fix IPv4/IPv6 address discovery in Linux.
271
e735a319
VB
272lldpd (0.7.2)
273 * Features
29095198
VB
274 + lldpd can be configured through /etc/lldpd.conf and
275 /etc/lldpd.d. All commands accepted by lldpcli are accepted.
e735a319
VB
276 + Lock BPF interfaces before handing them to chrooted process on
277 BSD.
42589660 278 + Limit the number of neighbors for each port to 4 (per protocol).
43d10956 279 + Force CDPv2 protocol with argument `-ccc`.
ced5eed1
VB
280 + Provide port statistics through "show statistics" command
281 (thanks to Roopa Prabhu).
29095198
VB
282 * Fixes:
283 + Driver whitelisting is done before checking if an interface has
284 a lower interface in Linux.
3333d2a8 285 + Expire remote ports and chassis in a timely manner.
e735a319 286
8172214f
VB
287lldpd (0.7.1)
288 * Features
e66b7f34
VB
289 + Mac OS X support, sponsored by Xcloud, Mac cloud server hosting
290 provider. http://xcloud.me/
322aafc9 291 + Upstart and systemd support.
8172214f
VB
292 + Remove Unix socket when there is no process listening.
293
a0665efa 294lldpd (0.7.0)
690b944c 295 * Global changes:
fda729fd 296 + FreeBSD support.
690b944c 297 + OpenBSD support.
2565eae6 298 + NetBSD support.
9a775667 299 + Detect interface changes.
fe80711e 300 + CLI for lldpctl: lldpcli.
9a775667 301 * Other features:
46baf627
VB
302 + Allow to disable LLDP protocol (with `-ll`). In this case, the
303 first enabled protocol will be used when no neighbor is detected.
43b82d6e 304 + Allow to filter debug logs using tokens. Add more debug logs.
8b7150e4 305 + lldpctl can now output JSON.
fda729fd
VB
306 + Use netlink to gather interface information on Linux.
307 + Don't use ioctl for bridges anymore on Linux. The configure
308 option `--enable-oldies` allow to reenable their uses for
309 systems not supporting sysfs.
46baf627 310
4b292b55
VB
311lldpd (0.6.1)
312 * Features:
313 + Provide liblldpctl.so, a library to interface with lldpd. The
314 documentation is provided through Doxygen. See src/lib/lldpctl.h
315 which contains all the exported functions.
316 + Make lldpctl uses liblldpctl.so.
4e90a9e0 317 + Add a "watch" option to lldpctl to monitor neighbor changes.
47287a61
VB
318 + Add the possibility to display the current configuration of
319 lldpd with lldpctl. Also add the possibility to reset the
320 current transmit delay.
4b292b55 321
4e22da4c 322lldpd (0.6)
9c43aeb4
VB
323 * Features:
324 + Allow lldpctl to display hidden ports.
5339e725 325 + Add a switch to specify interfaces to use to get chassis ID.
2135cce1
VB
326 + Support for multiple management addresses and IPv6 management
327 addresses. Contributed by João Valverde.
da92cd57 328 * Global changes:
68b375c3 329 + Switch to libevent. See README.md for details.
da92cd57
VB
330 + Partial rewrite of the SNMP part. Less code.
331 + Unit tests for SNMP.
332 + Major rewrite of the protocol between lldpd and lldpctl. Less
333 code.
4e22da4c 334 * Fixes:
4e22da4c
VB
335 + Several small SNMP fixes (discovered by unit tests).
336
c520cb14
VB
337lldpd (0.5.7)
338 * Fixes:
339 + Configure issue with NetSNMP and some linkers
340 + Fix infinite loop for the receive part: on certain conditions,
341 lldpd will stop sending packets and stop updating local data.
342
aff85bf3
VB
343lldpd (0.5.6)
344 * Features:
2a19e9ea 345 + Send and receive native VLAN TLV with CDP
10935633 346 + Add a whitelist for some drivers (currently: dsa and veth)
ab2d1c1f
VB
347 * Fixes:
348 + Compilation issues with NetSNMP 5.7 (and with earlier versions too)
a2606cac 349 + Small optimization of BPF filter
aff85bf3 350
84e06882 351lldpd (0.5.5)
f17501b6
VB
352 * Features:
353 + Support for PPVID and PI Dot1 TLV, thanks to Shuah Khan.
5abfffc2 354 + Extend whitelist with possibility to blacklist.
84e06882
VB
355 * Fixes:
356 + Key/value output was incorrect when a dot was present in
357 interface names. This is fixed but it is preferable to use XML
358 output since the parsing is more difficult in this case.
0265b1e5 359 + Only grab DMI information once. Only uses DMI for x86 platform.
a8818344
VB
360 + Padding issues with socket protocol. This introduces a change in
361 the socket protocol!
bf89e7e0
VB
362 + Fix a segfault when neither /etc/os-release nor lsb_release
363 are available.
84e06882 364
e02afca4
VB
365lldpd (0.5.4)
366 * Features:
367 + Get OS information from /etc/os-release if available. Patch from
368 Michael Tremer.
ba85f9f4 369 + Add a flag to specify which interfaces lldpd should listen to.
e02afca4 370
05eacc7a
VB
371lldpd (0.5.3)
372 * Fixes:
373 + Allow root to change configuration of lldpd when lldpctl has suid set.
09721cce
VB
374 * Features:
375 + Handle Dot3 POE-MDI TLV (802.3af and 802.3at).
376 + Allow to set Dot3 POE-MDI from lldpctl.
05eacc7a 377
8482abe9
VB
378lldpd (0.5.2)
379 * Features:
380 + More flexible smart mode and new default. Manual page has been updated.
537a8043 381 + Add a "receive-only" mode with "-r" switch.
8482abe9 382
93108f71
VB
383lldpd (0.5.1)
384 * Features:
385 + Allow to force a protocol even when no peer for this protocol is
386 detected.
42b39485
VB
387 + Add a smart mode that allows to discard bogus port information,
388 for example CDP packets that are flooded through a switch that
389 does not support CDP.
0d606289 390 + Allow to set LLDP-MED network policy from lldpctl, thanks to a patch from
40d6a8d2 391 Philipp Kempgen.
0d606289 392 + Allow to set LLDP-MED POE-MDI from lldpctl.
93108f71 393 + Add a summary of available options in "lldpd -h" and "lldpctl -h",
999509a3
VB
394 thanks to a patch from Jorge Boncompte.
395 + Add a new output (keyvalue) for lldpctl.
49697208
VB
396 + Listen on VLAN using an appropriate BPF filter, VLAN
397 decapsulation. Older "listen on vlan" feature is discarded. See
398 README for more information on the new feature.
c036b15d 399 + Use output of lsb_release if available for system description.
93108f71 400
58fe6128 401 * Fixes:
5b3214aa
VB
402 + Ignore interface with no queue. It should filter out interfaces
403 like "vnet0" that would fail if we try to send something on them.
4ea50809
VB
404 + Don't check CDP checksums (not really a fix but it appears that
405 Cisco checksum have some difficult corner cases).
58fe6128 406
775d49a0
VB
407lldpd (0.5.0)
408
0bded858
VB
409 * Features:
410 + lldpd can now handle several systems on the same port. This
411 modification also allows to speak to a switch using CDP and LLDP
412 for example.
413 + The way that lldpd gathers information for each port has been
414 abstracted. This should allow to support more systems (BSD for
415 examples) or switch cores in the future. Sending/receive support
416 is also abstracted.
417 + Add "-k" switch to avoid to emit too much information on running
418 kernel.
419 + Support of ifAlias with kernel >= 2.6.28
420 + Lot of portability stuff. lldpd can now be compiled on RHEL
421 2.1. Still Linux-only though.
740d517e 422 + Add an option to specify AgentX socket (-X).
0bded858 423 + Add some unit tests
4f602042
V
424 + lldpctl has been reworked; it is now able to output data in XML
425 format for easier parsing. Patches were provided by Andreas
426 Hofmeister.
0bded858
VB
427
428 * Bug fixes:
429 + Fix EDP VLAN handling
430 + Silent warnings about bridge stuff.
c0ce5d1a
V
431 + Copy /etc/localtime into chroot before starting lldpd daemon to
432 ensure correct timestamps for logs.
775d49a0 433
b7eb76b7
VB
434lldpd (0.4.1)
435
436 * Fix EDP handling when there is no VLAN
437 * Fix CDP version to not always be 1
438 * Misc fix:
439 + incorrect number of arguments for a LLOG_INFO call
440 + fix SNMP last change in case this change occurs before start time
441
a8105c1b
VB
442lldpd (0.4)
443
444 * Rewrite of packet builder and parser to be able to cope with
445 architecture that cannot do unaligned read. For decoder, we don't
446 cast structures any more since they can be unaligned. For encoder,
447 we use memcpy through the use of macro that build packets step by
448 step.
449
34602f3b
VB
450lldpd (0.3.2)
451
452 * Fix LLDP-MED support
453
d32c8944
VB
454lldpd (0.3.1)
455
456 * Misc fixes, including memory leaks
457
b193e97e
VB
458lldpd (0.3)
459
efe3f9b0 460 * Initial support of LLDP-MED
43655386 461 * Fix for bridge detection (don't send bridge ioctl on random interfaces)
1d291522
VB
462 * For bonded devices, get the real hardware address. For inactive
463 slaves, transmit using a random MAC address.
b193e97e 464
ff1910c8
VB
465lldpd (0.2.1)
466
467 * Fix a syntax error in manual page
468 * Fix open() calls
469
ee92ac46
VB
470lldpd (0.2)
471
b752ebcb 472 * Add privilege separation
ee92ac46
VB
473 * Add FDP support
474 * Support CDP encapsulated into native VLAN
475 * Various fixes
476
ee92ac46
VB
477lldpd (0.1)
478
479 * Initial release