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