Commit graph

406 commits

Author SHA1 Message Date
Michael Altizer
d17379d195 Fix rtnl_link object memory leak when freeing rtnl_addr objects.
Signed-off-by: Michael Altizer <xiche@verizon.net>
2011-10-10 11:44:05 +02:00
Jiří Župka
f90dc636cb Add libnl-cli-3.0 to pkg-config tool
Signed-off-by: Jiří Župka <jzupka@redhat.com>
2011-10-10 11:39:24 +02:00
Thomas Graf
d3bb7c9cf1 3.2.1 release
Added more details on the changes to where and how libnl is being
instaslled since 3.2.0
2011-09-19 11:47:49 +02:00
Thomas Graf
1c9b175a47 Provide micro version in <netlink/version.h> 2011-09-19 11:28:20 +02:00
Thomas Graf
0d9958e9ef Ingnore src/nl-link-enslave and nl-link-release 2011-09-19 11:24:52 +02:00
Thomas Graf
076909aa82 Bonding: Fix header guard of <netlink/route/link/bonding.h>
(Would be a good idea to change the header guard name when c&p
 an existing header file to create a new one.)
2011-09-16 13:17:04 +02:00
Thomas Graf
15b13ddbde bonding: Install <netlink/route/link/bonding.h> 2011-09-16 13:07:03 +02:00
Thomas Graf
96f17ce146 bonding: API to create/enslave/release
Although it has been possible to create bonding devices, enslave and
release using the regular link API. The added API simplifies usage
and hides some of the compatibility logic.

F.e. enslave() and release() will both verify that the master assignment
has in fact been changed and return -NLE_OPNOTSUPP if it did not.

Also the API will make sure to use RTM_NEWLINK or RTM_SETLINK depending
on what is availble.

Examples are provided in src/ as nl-link-enslave.c and nl-link-release.c
2011-09-16 12:57:52 +02:00
Thomas Graf
5151cbc2f6 link: Eat ACK followed by RTM_NEWLINK when requesting single link
When requesting a single link with RTM_GETLINK (no dump) the
RTM_NEWLINK carrying the answer will be followed by an ACK
we have to wait for.
2011-09-14 11:43:10 +02:00
Thomas Graf
67bd56f214 Fix a73cb2f26 fallout to allow building in separate directory
Commit a73cb2f269 missed to change the
EXTRA_DATA section
2011-09-13 23:33:06 +02:00
Thomas Graf
109ea68ac0 tools: Use LDADD and link against .la files instead of LDFLAGS and -llib 2011-09-13 23:21:52 +02:00
Thomas Graf
6d93b831dd route: Remove dead link_cache variable 2011-09-13 23:16:09 +02:00
Thomas Graf
b50195c691 addr: Add missing header to <netlink/route/addr.h>
Fixes a gcc warning
2011-09-13 23:13:51 +02:00
Thomas Graf
4c210adcb5 Switch to libtool versioning system
It has been a request that multiple libnl versions should be installabe
in parallel.

In order to achieve this, the basename of the library was changed to
libnl-3 which reflects the 3rd generation of libnl APIs. It also means
that release based library versioning is left behind and libtool
versioning is used instead.

Projects using pkgconfig will automatically link against the new library
basename and will not notice a difference.

The SO versioning is based on the glib model:
  current := 100 * minor + micro - revision
  revision := revision
  age := age (number of backwards compatible versions)
2011-09-13 22:58:08 +02:00
Jan Engelhardt
a73cb2f269 build: always install files into /etc/libnl
I observed that with the RedHat build target in the Open Build
Service, files were put into /etc rather than /etc/libnl.
Self-referential variables are a bad idea, and so just avoid this.
2011-09-13 13:19:26 +02:00
Thomas Graf
6e5332b823 Inform users about changed include location at end of configure script 2011-09-13 11:49:41 +02:00
Thomas Graf
226b387557 Install headers in ${includedir}/libnl3
This allows for multiple major versions to be installed in parallel. Pkg-config
files are adapted to provide appropriate cflags to find new header locations.
2011-09-13 11:48:18 +02:00
Thomas Graf
7b0d063fc1 lib: Use @MAJ_VERSION and @MAJ_MINOR@ for -version-info 2011-09-13 11:47:39 +02:00
Thomas Graf
5a59cf85d1 asciidoc xhtml stylesheet 2011-09-13 11:07:23 +02:00
Thomas Graf
2a37ab5f34 prepare for 3.2 release
Fall back to using libnl-*.3.pc files. It may be common to have multiple
generations of libnl installed but unlikely within the same major release.
2011-09-08 15:34:31 +02:00
Thomas Graf
80569bb242 remove dist lines for non existing files 2011-09-08 15:34:31 +02:00
Thomas Graf
7ac948c643 Remove GPL-3.0 license file.
There is no code licensed GPL-3.0 so we might as well remove this file.
2011-09-08 15:08:22 +02:00
Thomas Graf
db6de563fe fix license of lib/route/pktloc.c
As Jan Engelhardt pointed out, pktloc.c is currently licenses under the GPL
rather than the LGPL. This is a result of its previous existance in src/
which is GPL licensed. I missed to change its license when moving it to
lib/. Since I am the only contributor to the code, I am changing the license
hereby.
2011-09-08 15:08:22 +02:00
Thomas Graf
b4b853e5e7 Do not require python and swig to be present
Allows building without python and swig. Readd this using --enable-python
at some point.
2011-09-08 15:00:04 +02:00
Bryan Phillippe
f1d9e9d52d 64bit unaligned access
This patch fixes an unaligned access for IPv6.  On systems with strict alignment requirements, the unaligned access will either result in garbage data or a crash.
2011-09-01 08:39:48 +02:00
Jiri Pirko
7adaad784f genl: genl_ctrl_grp_by_name: fix retval in case group id not found
Now the return value in case group id is not find is 0. Change it to
return -NLE_OBJ_NOTFOUND which makes more sense. This should not break
anything because genl_ctrl_grp_by_name is static and called only from
genl_ctrl_resolve_grp. genl_ctrl_resolve_grp already might return
-NLE_OBJ_NOTFOUND.

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
2011-08-31 12:35:56 +02:00
Jiri Pirko
17781e44dd socket: fix two typos
Signed-off-by: Jiri Pirko <jpirko@redhat.com>
2011-08-31 09:24:01 +02:00
Jiri Pirko
6faeffe64a socket: introduce nl_socket_modify_err_cb
This function does the same as nl_socket_modify_cb except for error
callback

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
2011-08-31 09:23:58 +02:00
Jiri Pirko
eabb7539dd nl-link-name2ifindex: fix usage text
Signed-off-by: Jiri Pirko <jpirko@redhat.com>
2011-08-30 09:56:54 +02:00
Andrew Rybchenko
b367024167 Local port leak on nl_socket_alloc/nl_socket_set_local_port(, 0)
I've found a bug in the following scenario (fragment of code):

while (1) {
    struct nl_sock *sk = nl_socket_alloc();

    if (sk == NULL) {
        fprintf(stderr, "Failed to allocate nl socket\n");
	break;
    }
    nl_socket_set_local_port(sk, 0);
    nl_socket_free(sk);
}

The problem is that nl_socket_set_local_port(, 0) does not
release local port if it is allocated before.
2011-08-30 09:55:46 +02:00
Thomas Graf
4be7adbb71 htb: fix misplaced memset() overwriting already set htb prio option
Reported by Richard Cesar <spidla@spidlas.cz>
2011-08-12 13:47:23 +02:00
Thomas Graf
cc9ae9b34b doc: need to include @srcdir@/src not @top_srcdir@/src 2011-08-12 11:06:50 +02:00
Thomas Graf
23333e5e35 python: Include python/ in distribution and provide a README on how to build & install 2011-08-12 10:45:47 +02:00
Bryan Phillippe
d8d96bb236 link: fix unaligned access to 64bit link stats 2011-08-12 10:03:04 +02:00
Thomas Graf
7a46ef074a Include all files necessary to build documentation in distribution 2011-08-11 15:43:34 +02:00
Thomas Graf
569bec5b5c make port map thread safe
This patch has been in Fedora and RHEL for a while. It adds a mutex
to protect the port map from concurrent thread accesses.

Original patch from Stefan Berger <stefanb@us.ibm.com>.
Modified to use configure.in to check for libpthread
2011-08-11 15:17:56 +02:00
Thomas Graf
b5d081d1c9 Avoid freeing memory if vasprintf() failed
Founds this bugfix in Fedora's SOURCES for libnl. Not sure who the
original author is but the bug should be fixed upstream as well.
2011-08-11 15:06:29 +02:00
Thomas Graf
d886de5e9d Allow building documentation out of the tree
Patch originally provided by Gaudenz Steinlin <gaudenz@debian.org>
2011-08-11 14:57:59 +02:00
Pavel Roskin
bbe5e94253 Put "break" inside the "if" block in route_compare() 2011-08-11 14:49:51 +02:00
Pavel Roskin
7701c8572f Make some functions and global variables static 2011-08-11 14:49:51 +02:00
Pavel Roskin
f9993836ed Remove write-only variables in lib/cache.c 2011-08-11 14:49:51 +02:00
Thomas Graf
f1c8d5b0a3 3.1 release 2011-08-11 14:30:24 +02:00
Thomas Graf
70c9371760 Updated link documentation
- API documentation
- developer guide
- enabled doxygen navbar
- fixed css
2011-07-28 16:23:57 +02:00
Thomas Graf
915a23fd16 Hack doxygen CSS to avoid stupid margins in modules listing 2011-07-27 17:01:34 +02:00
Thomas Graf
f3ee216715 include <linux/if.h> from <netlink/route/link.h> to export IFF_* flags 2011-07-25 10:32:26 +02:00
Thomas Graf
20e9797652 use rtnl_link_set/get_type() 2011-07-21 17:52:43 +02:00
Thomas Graf
bf1b5d28c0 removed autogenerated swig interface files from git tree 2011-07-21 17:49:21 +02:00
Thomas Graf
8219cc79f8 VLAN: rtnl_link_is_vlan() function and API documentation 2011-07-21 17:47:00 +02:00
Thomas Graf
16d38a49d1 Use 'link type' instead of 'link info type'
The term 'link type' is much more easier to understand than 'link info type'

rtnl_link_set/get_info_type() left around for backwards compatibility
2011-07-21 16:45:01 +02:00
Thomas Graf
49d29e9c2d ignore python build directory 2011-07-21 16:41:45 +02:00