]> git.ipfire.org Git - thirdparty/lldpd.git/log
thirdparty/lldpd.git
8 years agotests/integration: sleep a bit more feature/test-asan
Vincent Bernat [Fri, 18 Mar 2016 19:21:02 +0000 (20:21 +0100)] 
tests/integration: sleep a bit more

With address sanitizer, things are now slower.

8 years agotravis: retry non-parallel tests on failure
Vincent Bernat [Fri, 18 Mar 2016 19:18:30 +0000 (20:18 +0100)] 
travis: retry non-parallel tests on failure

On failure, reports are incomplete with parallel tests. In this case,
rerun failed tests with full verbosity.

8 years agobuild: let configure tell us if we have address sanitizer
Vincent Bernat [Fri, 18 Mar 2016 19:05:03 +0000 (20:05 +0100)] 
build: let configure tell us if we have address sanitizer

We cannot really rely on __has_feature or __ADDRESS_SANITIZER__ in code
since we are mostly interested in the leak sanitizer and there is
neither a feature nor a macro for that. Early version of GCC have the
address sanitizer, but not the leak sanitizer. We don't support this
configuration, but we need to build correctly either way. So, the user
is expected to enable address sanitizers only on configuration
supporting also the leak sanitizer.

8 years agotravis: use gcc-5 if possible
Vincent Bernat [Fri, 18 Mar 2016 18:46:08 +0000 (19:46 +0100)] 
travis: use gcc-5 if possible

Better support for address and leak sanitizer

8 years agoclient: fix a memory leak in kv writer
Vincent Bernat [Fri, 18 Mar 2016 18:27:47 +0000 (19:27 +0100)] 
client: fix a memory leak in kv writer

8 years agotests/integration: make use of libtool to execute lldpd/lldpcli
Vincent Bernat [Fri, 18 Mar 2016 16:31:31 +0000 (17:31 +0100)] 
tests/integration: make use of libtool to execute lldpd/lldpcli

8 years agotests/integration: mount /proc in namespaces
Vincent Bernat [Fri, 18 Mar 2016 15:52:40 +0000 (16:52 +0100)] 
tests/integration: mount /proc in namespaces

Because of the use of a PID namespace, we must mount /proc into the
appropriate namespace. We don't do that directly when creating
namespaces as clone() doesn't account for the namespace change with
setns() when we are still in the same process. We also fork a process to
do the mount as it seems mount() doesn't get that we are in a different
mount namespace either. Obviously, setns() has some drawbacks we need to
workaround.

We also mount /proc in the chroot. It's absolutely not safe to do so,
but that's only for address sanitizer to work as expected.

8 years agolldpcli: silence expected memory leaks
Vincent Bernat [Fri, 18 Mar 2016 14:05:40 +0000 (15:05 +0100)] 
lldpcli: silence expected memory leaks

The suppression file doesn't have the same syntax as valgrind. Instead,
use code annotations.

8 years agofixedpoint: fix buffer overflow in fixed point computations
Vincent Bernat [Fri, 18 Mar 2016 12:43:22 +0000 (13:43 +0100)] 
fixedpoint: fix buffer overflow in fixed point computations

This was detected by address sanitizer. This was harmless as we use
exclusively 5-byte buffers and we know the next byte is always unused
due to alignment.

8 years agotests: don't check for leaks in fixed point tests
Vincent Bernat [Fri, 18 Mar 2016 12:43:02 +0000 (13:43 +0100)] 
tests: don't check for leaks in fixed point tests

8 years agotests: correctly encode civic address for SNMP tests
Vincent Bernat [Fri, 18 Mar 2016 11:04:41 +0000 (12:04 +0100)] 
tests: correctly encode civic address for SNMP tests

For some reason "\x02F" was interpreted as "\x2f", not as "\x02"
"F". Use separate strings to ensure correctness.

8 years agotests: disable leak sanitizer for unittests
Vincent Bernat [Thu, 17 Mar 2016 23:46:37 +0000 (00:46 +0100)] 
tests: disable leak sanitizer for unittests

Unittests will leak because it's not easy to cleanup after them. We
still want other sanitizer checks.

8 years agotravis: enable address sanitizer
Vincent Bernat [Thu, 17 Mar 2016 08:59:38 +0000 (09:59 +0100)] 
travis: enable address sanitizer

8 years agobuild: add an option to enable sanitizers
Vincent Bernat [Thu, 17 Mar 2016 23:17:16 +0000 (00:17 +0100)] 
build: add an option to enable sanitizers

A user cannot just use CFLAGS=-fsanitize=address because autoconf is too
fragile in some of its test (notably AC_FUNC_MALLOC and
AC_FUNC_REALLOC).

8 years agobuild: display compiler version info after configure
Vincent Bernat [Thu, 17 Mar 2016 09:16:24 +0000 (10:16 +0100)] 
build: display compiler version info after configure

This is useful to get more insight on what is supported (notably Asan
support).

8 years agotests/integration: when several neighbors, be safe and sleep a lot
Vincent Bernat [Wed, 16 Mar 2016 22:51:09 +0000 (23:51 +0100)] 
tests/integration: when several neighbors, be safe and sleep a lot

8 years agotravis: use a separate test for oldies feature/pytest-on-travis
Vincent Bernat [Wed, 16 Mar 2016 22:24:29 +0000 (23:24 +0100)] 
travis: use a separate test for oldies

We want a complete coverage for this case.

8 years agotests/integration: down then up with vlan require dot1 support
Vincent Bernat [Wed, 16 Mar 2016 22:22:14 +0000 (23:22 +0100)] 
tests/integration: down then up with vlan require dot1 support

8 years agotravis: run integration tests on Linux
Vincent Bernat [Wed, 16 Mar 2016 19:37:29 +0000 (20:37 +0100)] 
travis: run integration tests on Linux

After some tweaks, they seem to work as expected.

8 years agotests/integration: sleep more after anything that create an interface
Vincent Bernat [Wed, 16 Mar 2016 21:06:56 +0000 (22:06 +0100)] 
tests/integration: sleep more after anything that create an interface

See previous commit for rationale.

8 years agotests/integration: wait more when down/up interface
Vincent Bernat [Wed, 16 Mar 2016 21:01:22 +0000 (22:01 +0100)] 
tests/integration: wait more when down/up interface

With IPv6, DAD may interfer and trigger more changes and lldpd will wait
those changes to settle.

8 years agotests/integration: reduce the number of emulated neighbor
Vincent Bernat [Wed, 16 Mar 2016 20:55:43 +0000 (21:55 +0100)] 
tests/integration: reduce the number of emulated neighbor

This is costly when we are running on low-memory containers.

8 years agotests/integration: fix _lldpd group creation
Vincent Bernat [Wed, 16 Mar 2016 20:51:02 +0000 (21:51 +0100)] 
tests/integration: fix _lldpd group creation

8 years agotests/integration: use ctypes for mount instead of util-linux
Vincent Bernat [Wed, 16 Mar 2016 20:32:53 +0000 (21:32 +0100)] 
tests/integration: use ctypes for mount instead of util-linux

Some versions of util-linux had a bug with respect to private/slave
mounts. The kernel doesn't expect the option to be passed during the
initial mount but only during subsequent calls (you mount the FS, you
make it private and slave). Directly use mount(2) to avoid the problem.

8 years agotravis: move install/run steps into tests/ci
Vincent Bernat [Tue, 15 Mar 2016 07:26:34 +0000 (08:26 +0100)] 
travis: move install/run steps into tests/ci

They are not specific to Travis.

8 years agotests: report complete Linux version as well
Vincent Bernat [Mon, 14 Mar 2016 07:44:05 +0000 (08:44 +0100)] 
tests: report complete Linux version as well

8 years agotests: replace integration test by py.test+namespace tests
Vincent Bernat [Tue, 1 Mar 2016 19:01:23 +0000 (20:01 +0100)] 
tests: replace integration test by py.test+namespace tests

Relying on namespaces enable us to quickly run isolated instances of
lldpd without the need of virtual machines. Since the startup time is
quite fast (despite having to wait for lldpd to be "ready"), we can use
a classic unittest framework like py.test to run tests and get
appropriate reports. Tests can be run in parallel to overcome the
slowness induced by all those `time.sleep(2)`.

8 years agobuild: ensure "make distcheck" work for any value of sysconfdir
Vincent Bernat [Sun, 13 Mar 2016 23:12:12 +0000 (00:12 +0100)] 
build: ensure "make distcheck" work for any value of sysconfdir

When using `--sysconfdir=/etc`, `make distcheck` was failing because it
did use `--prefix=...` to force a different installation path (and not
`DESTDIR`). During `make distcheck`, we force the use the original
value.

8 years agolldpcli: fix output with json-c to be the same as with jansson
Vincent Bernat [Sun, 13 Mar 2016 20:58:22 +0000 (21:58 +0100)] 
lldpcli: fix output with json-c to be the same as with jansson

8 years agolldpcli: acknowledge memory leak in another map conversion
Vincent Bernat [Sun, 13 Mar 2016 20:13:57 +0000 (21:13 +0100)] 
lldpcli: acknowledge memory leak in another map conversion

8 years agodoc: document last commit in NEWS
Vincent Bernat [Sun, 13 Mar 2016 17:20:02 +0000 (18:20 +0100)] 
doc: document last commit in NEWS

8 years agointerfaces: handle correctly operation conversation of a port
Vincent Bernat [Sun, 13 Mar 2016 16:54:07 +0000 (17:54 +0100)] 
interfaces: handle correctly operation conversation of a port

When a port was regular and become an enslaved member of a bond, we
created a different port. Since we now keep the old ports around, the
old port may still attract a lot of things, like specific configuration
or VLAN. Therefore, we handle the conversion of a port from one kind to
another.

Another idea would be to not do special handling for bonds. Only old
kernels need that. We could remove that later.

8 years agointerfaces: replace "bonded" by "enslaved"
Vincent Bernat [Sun, 13 Mar 2016 13:37:36 +0000 (14:37 +0100)] 
interfaces: replace "bonded" by "enslaved"

It is more in par with the appropriate terminology for bonds in Linux.

8 years agonetlink: ensure lower link doesn't change for an interface
Vincent Bernat [Sun, 13 Mar 2016 11:26:44 +0000 (12:26 +0100)] 
netlink: ensure lower link doesn't change for an interface

The lower link of an interface is defined at its creation. It's not
possible for it to change. This is important to not try to change it
because the kernel won't send IFLA_LINK_NETNSID each time it sends
IFLA_LINK.

8 years agointerfaces: issue a warning if we get a loop
Vincent Bernat [Sun, 13 Mar 2016 11:11:35 +0000 (12:11 +0100)] 
interfaces: issue a warning if we get a loop

We really want to correct that.

8 years agointerfaces: limit the maximum search depth when applying a VLAN
Vincent Bernat [Sun, 13 Mar 2016 11:04:06 +0000 (12:04 +0100)] 
interfaces: limit the maximum search depth when applying a VLAN

It's now quite easy to hit a bug where we loop over interfaces when
trying to find the physical interface associated to a VLAN. Put a
maximum depth of 5.

8 years agocustom: fix a capitalization error in man page
Vincent Bernat [Sat, 12 Mar 2016 19:56:30 +0000 (20:56 +0100)] 
custom: fix a capitalization error in man page

Also correct some indentation.

8 years agoinclude: fix definition of IFLA_RTA to please clang
Vincent Bernat [Sat, 12 Mar 2016 17:20:51 +0000 (18:20 +0100)] 
include: fix definition of IFLA_RTA to please clang

In `linux/if_link.h`, clang assume we have an alignment problem while we
know this is not the case. Add a cast to void* to avoid this warning.

8 years agonetlink: don't consider a lower interface when in another namespace
Vincent Bernat [Sat, 12 Mar 2016 16:39:02 +0000 (17:39 +0100)] 
netlink: don't consider a lower interface when in another namespace

The index of an interface is specific to a namespace, don't try to
interpret anything about interfaces belonging to another namespace. This
change unbreak some scenario, like in an appropriate loop detection
because an interface from another namespace is detected (vlan100 ->
veth1 -> veth0 with same index as vlan100). However, it is not possible
to exactly detect a physical interface anymore since we don't really
know what can be on the other side of the interface (in the other
namespace). However, bridged, bonded and VLAN interfaces should be safe.

8 years agolldpcli: with key/value display, remove any newline
Vincent Bernat [Sat, 12 Mar 2016 13:03:54 +0000 (14:03 +0100)] 
lldpcli: with key/value display, remove any newline

They make hard to parse the result. Just remove them. This happens for
example with CDP.

8 years agolldpcli: fix display of LLDP-MED POE TLV
Vincent Bernat [Fri, 11 Mar 2016 23:58:34 +0000 (00:58 +0100)] 
lldpcli: fix display of LLDP-MED POE TLV

8 years agolldpcli: display LLDP-MED caps like LLDP caps
Vincent Bernat [Fri, 11 Mar 2016 21:47:10 +0000 (22:47 +0100)] 
lldpcli: display LLDP-MED caps like LLDP caps

While LLDP caps can be available and/or enabled, LLDP-MED caps are only
available. However, the way they were declared made them invisible in
some formats, like the key/value pair. Try to fix that. Warn about the
change in NEWS file.

8 years agosolaris: remove unused headers
Vincent Bernat [Wed, 9 Mar 2016 19:12:23 +0000 (20:12 +0100)] 
solaris: remove unused headers

8 years agoversion: display configuration directory as well
Vincent Bernat [Tue, 8 Mar 2016 22:55:31 +0000 (23:55 +0100)] 
version: display configuration directory as well

8 years agoversion: display more build information when using "-vv"
Vincent Bernat [Fri, 4 Mar 2016 21:03:38 +0000 (22:03 +0100)] 
version: display more build information when using "-vv"

Display supported features as well as compilation flags used. This will
be useful to let integration tests autodetect compiled features.

8 years agodoc: document PR #163 in NEWS
Vincent Bernat [Tue, 1 Mar 2016 18:48:28 +0000 (19:48 +0100)] 
doc: document PR #163 in NEWS

8 years agoMerge pull request #163 from kanrajag/feature/enhance-customtlv
Vincent Bernat [Tue, 1 Mar 2016 18:46:35 +0000 (19:46 +0100)] 
Merge pull request #163 from kanrajag/feature/enhance-customtlv

enhance custom tlv support

8 years agoenhance custom tlv with add/replace commands 163/head
kanna [Sun, 21 Feb 2016 17:59:10 +0000 (09:59 -0800)] 
enhance custom tlv with add/replace commands
allow for specific custom tlv to be deleted

8 years agoosx: update Homebrew formula to 0.9.1
Vincent Bernat [Sun, 28 Feb 2016 12:26:37 +0000 (13:26 +0100)] 
osx: update Homebrew formula to 0.9.1

8 years agoosx: reduce differences with official homebrew formula
Vincent Bernat [Sun, 28 Feb 2016 12:25:10 +0000 (13:25 +0100)] 
osx: reduce differences with official homebrew formula

8 years agoosx: ensure _lldpd user is hidden
Vincent Bernat [Sun, 21 Feb 2016 14:04:38 +0000 (15:04 +0100)] 
osx: ensure _lldpd user is hidden

We use /usr/bin/false. Otherwise, with OSX >= 10.8, having an UID < 500
is not sufficient. Another way would be to set `IsHidden` to TRUE but no
other users have this property.

8 years agobuild: keep user-specified CFLAGS
Vincent Bernat [Sun, 21 Feb 2016 13:54:02 +0000 (14:54 +0100)] 
build: keep user-specified CFLAGS

When user provides a CFLAGS at configure-time, keep it.

8 years agoosx: explain how to compile for older versions with recent SDK
Vincent Bernat [Sun, 21 Feb 2016 13:51:15 +0000 (14:51 +0100)] 
osx: explain how to compile for older versions with recent SDK

It's still quite unclear how we could know which versions a given SDK
supports. Let's assume that we can support all still supported versions
with El Capitan.

8 years agoredhat: don't try to guess systemd unit directory
Vincent Bernat [Sat, 20 Feb 2016 18:05:43 +0000 (19:05 +0100)] 
redhat: don't try to guess systemd unit directory

On SuSE, this doesn't work.

8 years agoredhat: enable some CFLAGS
Vincent Bernat [Sat, 20 Feb 2016 17:59:55 +0000 (18:59 +0100)] 
redhat: enable some CFLAGS

8 years agoredhat: make systemd stuff also works with SuSE
Vincent Bernat [Sat, 20 Feb 2016 17:53:27 +0000 (18:53 +0100)] 
redhat: make systemd stuff also works with SuSE

8 years agoredhat: fix parentheses on conditions
Vincent Bernat [Sat, 20 Feb 2016 17:52:20 +0000 (18:52 +0100)] 
redhat: fix parentheses on conditions

For some reason, the regular precedence for "&&" and "||" doesn't work
in a .spec. Use parentheses to overcome that.

Also, RHEL doesn't ship with libevent-devel at all. Don't use it.

8 years agodebian/redhat: prepare 0.9.1 0.9.1
Vincent Bernat [Sat, 20 Feb 2016 16:45:59 +0000 (17:45 +0100)] 
debian/redhat: prepare 0.9.1

8 years agonetlink: log error code when unable to receive netlink
Vincent Bernat [Wed, 10 Feb 2016 19:47:33 +0000 (20:47 +0100)] 
netlink: log error code when unable to receive netlink

8 years agonetlink: add an entry in NEWS for previous commit
Vincent Bernat [Wed, 10 Feb 2016 19:48:26 +0000 (20:48 +0100)] 
netlink: add an entry in NEWS for previous commit

8 years agoMerge pull request #161 from 6WIND/fix-large-netlink-messages
Vincent Bernat [Wed, 10 Feb 2016 19:46:34 +0000 (20:46 +0100)] 
Merge pull request #161 from 6WIND/fix-large-netlink-messages

netlink: fix reception of large netlink messages

8 years agonetlink: fix reception of large netlink messages 161/head
David Morel [Wed, 10 Feb 2016 15:10:08 +0000 (16:10 +0100)] 
netlink: fix reception of large netlink messages

If received netlink message is bigger than the buffer provided by the
application, netlink message flag will contain the MSG_TRUNC flag. In
this case it is up to the application to allocate a buffer large enough
to receive the full message and to call recv() again.

8 years agointerfaces: when no alias available, use interface name
Vincent Bernat [Mon, 8 Feb 2016 16:42:03 +0000 (17:42 +0100)] 
interfaces: when no alias available, use interface name

Even if the interface name was already used as port ID.

8 years agotravis: disable integration tests
Vincent Bernat [Fri, 5 Feb 2016 12:33:03 +0000 (13:33 +0100)] 
travis: disable integration tests

Without acceleration, this is too slow.

8 years agotravis: enable travis to access kernel file
Vincent Bernat [Fri, 5 Feb 2016 09:42:50 +0000 (10:42 +0100)] 
travis: enable travis to access kernel file

8 years agotravis: don't run distcheck on integration tests
Vincent Bernat [Fri, 5 Feb 2016 08:38:09 +0000 (09:38 +0100)] 
travis: don't run distcheck on integration tests

8 years agotravis: order environment variables to be easier to read
Vincent Bernat [Fri, 5 Feb 2016 08:37:10 +0000 (09:37 +0100)] 
travis: order environment variables to be easier to read

8 years agodoc: add an entry about netlink-related fixes
Vincent Bernat [Fri, 5 Feb 2016 07:53:24 +0000 (08:53 +0100)] 
doc: add an entry about netlink-related fixes

8 years agotravis: compatibility with Ubuntu Precise
Vincent Bernat [Fri, 5 Feb 2016 07:33:21 +0000 (08:33 +0100)] 
travis: compatibility with Ubuntu Precise

8 years agotravis: try to run integration tests on travis
Vincent Bernat [Thu, 4 Feb 2016 20:19:29 +0000 (21:19 +0100)] 
travis: try to run integration tests on travis

It's likely to fail...

8 years agointerfaces: fix alias handling
Vincent Bernat [Thu, 4 Feb 2016 19:25:59 +0000 (20:25 +0100)] 
interfaces: fix alias handling

And try to add some simple tests for them. The manual page says that if
an alias is provided, the default is to use the alias as description and
port name as port ID. We try to respect that.

The tests are not as complete as they could be because the MSAP changes
due to the port ID change and this makes tests more complex.

8 years agotests: speed up integration tests by sleeping less
Vincent Bernat [Thu, 4 Feb 2016 19:19:32 +0000 (20:19 +0100)] 
tests: speed up integration tests by sleeping less

8 years agonetlink: merge old attributes with new ones
Vincent Bernat [Thu, 4 Feb 2016 19:16:56 +0000 (20:16 +0100)] 
netlink: merge old attributes with new ones

It seems that netlink won't advertise all attributes each time. At least
type can be not advertised in a netlink message. Copy the appropriate
attributes from the old ones when they are missing and we know they
can't change or be absent.

8 years agotests: use generated libtool
Vincent Bernat [Thu, 4 Feb 2016 19:05:29 +0000 (20:05 +0100)] 
tests: use generated libtool

libtool can be absent on the system.

8 years agotests: require presence of "ip" and "brctl"
Vincent Bernat [Thu, 4 Feb 2016 19:04:37 +0000 (20:04 +0100)] 
tests: require presence of "ip" and "brctl"

8 years agotests: execute rtmon to keep a trace of netlink messages
Vincent Bernat [Thu, 4 Feb 2016 19:03:20 +0000 (20:03 +0100)] 
tests: execute rtmon to keep a trace of netlink messages

8 years agotests: rework integration tests to not rely on tmux
Vincent Bernat [Thu, 4 Feb 2016 19:00:43 +0000 (20:00 +0100)] 
tests: rework integration tests to not rely on tmux

They should be runable by a CI.

8 years agotravis: also try to build OSX package
Vincent Bernat [Sun, 31 Jan 2016 15:22:08 +0000 (16:22 +0100)] 
travis: also try to build OSX package

8 years agoosx: workaround issues with SIP on El Capitan
Vincent Bernat [Sun, 31 Jan 2016 15:05:00 +0000 (16:05 +0100)] 
osx: workaround issues with SIP on El Capitan

We cannot install in /usr anymore. Install in /usr/local instead (hoping
we won't conflict with HomeBrew).

8 years agoosx: simplify build
Vincent Bernat [Sun, 31 Jan 2016 14:41:07 +0000 (15:41 +0100)] 
osx: simplify build

We don't need to support multiple archs anymore. Therefore, no need for
lipo. Also, no need for rebuild. We can use the current build.

8 years agodoc: replace "Mac OS X" by "OS X"
Vincent Bernat [Sun, 31 Jan 2016 14:34:31 +0000 (15:34 +0100)] 
doc: replace "Mac OS X" by "OS X"

8 years agobuild: only test libbsd linking if we have found it
Vincent Bernat [Sun, 31 Jan 2016 14:30:30 +0000 (15:30 +0100)] 
build: only test libbsd linking if we have found it

8 years agolib: only define ntohll if not already defined
Vincent Bernat [Sun, 31 Jan 2016 14:29:56 +0000 (15:29 +0100)] 
lib: only define ntohll if not already defined

8 years agointerfaces/linux: remove interface blacklisting
Vincent Bernat [Sat, 30 Jan 2016 12:10:05 +0000 (13:10 +0100)] 
interfaces/linux: remove interface blacklisting

Once there is a candidate to be blacklisted, we can restore the
code. Meantime, less code, less bugs.

8 years agointerfaces/linux: blacklist some drivers instead of whitelisting
Vincent Bernat [Sat, 30 Jan 2016 12:09:16 +0000 (13:09 +0100)] 
interfaces/linux: blacklist some drivers instead of whitelisting

Currently, there is no driver to blacklist. In the past, the virtualbox
pseudo-interface was a good candidate but it is not used anymore.

8 years agointerfaces/linux: don't check transmit queue size
Vincent Bernat [Sat, 30 Jan 2016 11:59:04 +0000 (12:59 +0100)] 
interfaces/linux: don't check transmit queue size

Its size can change while no netlink messages will be sent to update it.

8 years agoman: fix a spelling error in manual page
Vincent Bernat [Sun, 24 Jan 2016 09:18:58 +0000 (10:18 +0100)] 
man: fix a spelling error in manual page

8 years agoclient: fix code style
Vincent Bernat [Sat, 23 Jan 2016 16:05:50 +0000 (17:05 +0100)] 
client: fix code style

8 years agoclient: ensure JSON is written to the provided file handle
Vincent Bernat [Sat, 23 Jan 2016 15:57:12 +0000 (16:57 +0100)] 
client: ensure JSON is written to the provided file handle

8 years agoclient: ensure XML is written to the provided file handle
Vincent Bernat [Sat, 23 Jan 2016 15:46:26 +0000 (16:46 +0100)] 
client: ensure XML is written to the provided file handle

Currently, this is just stdout but the interface provides a file handle
and we should use it.

8 years agodoc: fix NEWS file about netlink change
Vincent Bernat [Wed, 20 Jan 2016 19:29:15 +0000 (20:29 +0100)] 
doc: fix NEWS file about netlink change

There is no libnl3 API-compatible library at all. It's the previous code
with small modifications.

8 years agolib: rework a bit documentation around reference counting
Vincent Bernat [Wed, 20 Jan 2016 19:22:21 +0000 (20:22 +0100)] 
lib: rework a bit documentation around reference counting

8 years agobuild: add some integration tests 0.9.0
Vincent Bernat [Sun, 10 Jan 2016 12:34:32 +0000 (13:34 +0100)] 
build: add some integration tests

8 years agobuild: don't use libbsd if we can't link it
Vincent Bernat [Sun, 10 Jan 2016 08:15:08 +0000 (09:15 +0100)] 
build: don't use libbsd if we can't link it

8 years agonetlink: handle veth loops correctly
Vincent Bernat [Fri, 1 Jan 2016 20:11:02 +0000 (21:11 +0100)] 
netlink: handle veth loops correctly

Since Linux 4.1, a pair of veth are referenced as IFLINK for each
other. We previously detected this loop easily and did break the loop by
removing this bogus information. However, when one of the interface is
updated, only the modified interface has IFLINK pointing to the other
interface. Therefore, no more loop but the information is incorrect. To
avoid that, don't reset indexes, just pointers. We only use indexes to
build correctly those pointers.

8 years agolldpd: fix change detection
Vincent Bernat [Fri, 1 Jan 2016 19:40:30 +0000 (20:40 +0100)] 
lldpd: fix change detection

When a port was set down then up, no change was detected because the
flags were not effectively compared. Fix in 196757 was incomplete.

8 years agodebian/redhat: prepare 0.9.0
Vincent Bernat [Fri, 1 Jan 2016 18:14:46 +0000 (19:14 +0100)] 
debian/redhat: prepare 0.9.0

No scheduled for release yet, but since the packaging was updated as
part of 0fa225, put the right version number.

8 years agotravis: don't require libnl-3-dev
Vincent Bernat [Fri, 1 Jan 2016 18:13:34 +0000 (19:13 +0100)] 
travis: don't require libnl-3-dev

8 years agonetlink: remove use of libnl3
Vincent Bernat [Fri, 1 Jan 2016 07:54:32 +0000 (08:54 +0100)] 
netlink: remove use of libnl3

Use netlink implementation from 0.7.19 instead but manage a cache
ourselves. The changes are quite minimal compared to the implementation
in 0.7.19. We handle deletion and updates. The use of linked list may be
problematic performance-wise.

When an interface goes down then up, no PDU is scheduled to be sent
again. This bug was already present in the previous implementation and
should be a regression of 36080c.

8 years agolldpd: cleanup local chassis on exit
Vincent Bernat [Fri, 1 Jan 2016 17:29:10 +0000 (18:29 +0100)] 
lldpd: cleanup local chassis on exit

Still for valgrind happiness.