summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 3.2.8 releaselibnl3_2_8Thomas Graf2012-04-261-9/+24
|
* object: Add functions to access the object type, cache and object opsThomas Graf2012-04-242-2/+60
|
* cache: Add co_include_event allowing caches to provide their own ↵Thomas Graf2012-04-223-4/+24
| | | | nl_cache_include() implementation
* cache: improve documentation of co_event_filterThomas Graf2012-04-221-3/+20
|
* genl: Make genl_unregister() a NOP if NULL pointer is passedThomas Graf2012-04-221-0/+3
|
* cache_mngr: Make providing the result pointer to nl_cache_mngr_add() optionalThomas Graf2012-04-211-2/+3
|
* test-cache-mngr: Allow for management of arbitary caches via argument stringThomas Graf2012-04-211-23/+17
| | | | | | | | Let the user specify a list of cache types to add to the manager as arguments instead of adding a static list. Uses the newly added nl_cache_mngr_info() to constantly print information about the manager.
* cache_mngr: Provide nl_cache_mngr_info() to pring cache manager detailsThomas Graf2012-04-212-0/+44
| | | | Useful for debugging and testing
* cache_mngr: API doc updatesThomas Graf2012-04-211-12/+30
|
* cache_mngr: Let nl_cache_mngr_data_ready() read multiple messagesThomas Graf2012-04-211-3/+8
| | | | | | Having nl_recvmsgs() return the number of read messages allows to continue reading until the underlying recvmsg() will return EAGAIN for the non blocking socket.
* nl: Make nl_recvmsgs() return the number of netlink messages processedThomas Graf2012-04-211-2/+7
|
* cache_mngr: Fix memory corruption after resizingThomas Graf2012-04-211-7/+12
| | | | | | | | | | | | | | The reallocated part of the enlarged association array was left uninitialized which would have resulted in trying to free random pointers. This was a theoretical bug because it wasn't possible to register more than 32 cache types since no netlink family supports that many individual cache types. Nevertheless this patch fixes the bug and also reduces the default size of the allocation table and expandations a bit to reduce the memory footprint slightly.
* test-cache-mngr: Let the cache manager allocate the socketThomas Graf2012-04-211-4/+1
|
* cache_mngr: Automatically allocate socket if neededThomas Graf2012-04-213-25/+57
| | | | | | | | | | | The requirement to have the caller provide the socket does not make much sense. Automatically allocate the socket if none was provided. This may also avoid some future abuse of reusing request sockets for handling notifications. Also rename cm_handle to cm_sock for clarity (no API change)
* cache_manager: Move documentation to doc/core.txtThomas Graf2012-04-212-65/+77
|
* cache_mngr: Don't modify callback setup of socketThomas Graf2012-04-211-4/+12
| | | | | | | Instead, clone it and modify a temporary copy. Although it is not recommended to use the same socket for requests and to serve a cache manager, this change might prevent some unwanted side effects if done so.
* tests: fix test programs to compile againThomas Graf2012-04-215-45/+49
|
* tests: Convert tests/Makefile to use automakeThomas Graf2012-04-214-34/+33
|
* cache_mngr: document uncommon error codesThomas Graf2012-04-211-0/+5
|
* genl-ctrl-list: Mark for installationThomas Graf2012-04-201-1/+1
|
* genl-ctrl-list: fix copyright and summaryThomas Graf2012-04-201-2/+2
|
* genl-ctrl-list: Provide manual pageThomas Graf2012-04-202-1/+81
|
* genl-ctrl-list: Introduce -d|--details as a shortcut for --format=detailsThomas Graf2012-04-201-3/+5
|
* Memory leak in classid.cNicolas CARRIER2012-04-191-4/+12
| | | | | | | | | | | | | I'm using libnl in a program which I give to valgrind in order to track memory errors / leaks. When my program exits, it complains about non-freed memory, allocated in 3 places in classid.c, at lines 280, 284 and 289. It seems related to the module's constructor classid_init which allocates resources, with no destructor to free it. The attached patch tries to fix this issue by registering a destructor which performs the tree liberation at exit.
* doc: Fix incorrect nl_socket_add_memberships() exampleThomas Graf2012-03-261-1/+1
| | | | | Reported by: Andrew Collins <bsderandrew@gmail.com> Signed-off-by: Thomas Graf <tgraf@redhat.com>
* missing extended Table attribute for lib/route/Romary Sonrier2012-03-062-0/+7
| | | | | | | I found a small bug in libnl, about extended table id ( above 256 ). Signed-off-by: Romary Sonrier <romary@sonrier.com> Signed-off-by: Thomas Graf <tgraf@redhat.com>
* doc: Fix typos in autoconf exampleThomas Graf2012-02-231-2/+2
| | | | Reported by nick black <dankamongmen@gmail.com>
* Add new nl_cache_clone() function.Thierry Reding2012-02-162-0/+31
| | | | | | | | | The function can be used to make a copy of an existing cache. It is very similar to nl_cache_subset() except that it allows no filtering but copies every object. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Thomas Graf <tgraf@redhat.com>
* Support plug qdisc - queue traffic until explicit releaseShriram Rajagopalan2012-02-147-1/+351
| | | | | | | | | | | | | | | | | | | | | | | The plug qdisc supports two operations - plug and unplug. When the qdisc receives a plug ("buffer") command via netlink request, packets arriving henceforth are buffered until a corresponding unplug command is received. Depending on the type of unplug ("release_one" or "release_indefinite"), the queue can be unplugged indefinitely or selectively. The plug qdisc allows a user to implement network output buffering (aka output commit), used commonly in checkpoint based fault tolerance systems. It also supports a general purpose queue plug/unplug functionality. The associated kernel module is available in David Miller's net-next tree, commit: c3059be16c9ef29c05f0876a9df5fea21f29724f This patch introduces userspace tools and API, to control the qdisc via netlink messages. Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca> Signed-off-by: Thomas Graf <tgraf@redhat.com>
* add new function to provide neighbour event parsingBrett Ciphery2012-01-302-1/+20
| | | | | | | | | | the neighbour parsing function was previously not accessible, so custom callback functions had to handle the decoding itself. rtnl_neigh_parse is introduced and implemented in much the same way as rtnl_route_parse. Signed-off-by: Brett Ciphery <brett.ciphery@windriver.com> Signed-off-by: Thomas Graf <tgraf@redhat.com>
* 3.2.7 releaselibnl3_2_7Thomas Graf2012-01-251-3/+4
| | | | | | fixes a bug in SO versioning. libtool age was increased incorrectly which resulted in an incorrect SO version string in the releases 3.2.5 and 3.2.6.
* 3.2.6 releaselibnl3_2_6Thomas Graf2012-01-171-2/+2
|
* man: Remove bogus .LO macro in manpagesThomas Graf2012-01-173-3/+0
| | | | Signed-off-by: Thomas Graf <tgraf@redhat.com>
* Update COPYING to fix FSF addressThomas Graf2012-01-171-22/+63
| | | | | | | Apparently we have been shiping an outdated version of the LGPL containing an obsolete address of the FSF. Signed-off-by: Thomas Graf <tgraf@redhat.com>
* cli: Use -avoid-version to link cli modulesThomas Graf2012-01-171-6/+6
| | | | Signed-off-by: Thomas Graf <tgraf@redhat.com>
* 3.2.5 releaselibnl3_2_5Thomas Graf2012-01-121-3/+3
|
* link: fix regression in link message parserTorsten Hilbrich2012-01-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a simple test program that queries the source IP for a given destination address I get a crash in the call to rtnl_link_alloc_cache. Here is the stack trace (created with version 3.2.4): Program received signal SIGSEGV, Segmentation fault. 0xb7eb7553 in strlen () from /lib/libc.so.6 (gdb) bt #0 0xb7eb7553 in strlen () from /lib/libc.so.6 #1 0xb7eb7285 in strdup () from /lib/libc.so.6 #2 0xb7fcc305 in nla_strdup (nla=0x0) at attr.c:1033 #3 0xb7f9c173 in link_msg_parser (ops=0xb7fc2940, who=0x804b330, n=0x804c3e8, pp=0xbffffbf8) at route/link.c:486 #4 0xb7fcd485 in nl_cache_parse (ops=0xb7fc2940, who=0x804b330, nlh=0x804c3e8, params=0xbffffbf8) at cache.c:724 #5 0xb7fcd547 in update_msg_parser (msg=0x804b328, arg=0xbffffbb8) at cache.c:531 #6 0xb7fd1f25 in nl_cb_call (cb=<optimized out>, msg=<optimized out>, type=<optimized out>) at ../include/netlink-local.h:126 #7 recvmsgs (cb=<optimized out>, sk=<optimized out>) at nl.c:729 #8 nl_recvmsgs (sk=0x804b2d0, cb=0x804b368) at nl.c:780 #9 0xb7fcd5fd in __cache_pickup (sk=0x804b2d0, cache=<optimized out>, param=0xbffffbf8) at cache.c:560 #10 0xb7fcd83f in nl_cache_pickup (sk=0x804b2d0, cache=0x804b308) at cache.c:593 #11 0xb7fcd8c8 in nl_cache_refill (sk=0x804b2d0, cache=0x804b308) at cache.c:780 #12 0xb7f9d1fc in rtnl_link_alloc_cache (sk=0x804b2d0, family=4, result=0xbffffcd4) at route/link.c:868 #13 0x08048fd0 in libnl_init (data=<optimized out>) at helper_route.c:60 #14 iproute_get_source (destination=0xbffffeff "127.0.0.1", source=0xbffffd0f "\b\004c\370\267\364_\370\267\260\224\004\b8\375\377\277e\024\347\267\320\016\377\267\273\224\004\b\364_\370\267\260\224\004\b", source_size=17) at helper_route.c:105 #15 0x08048e6a in main (argc=2, argv=0xbffffde4) at ip_route_get.c:25 The attached patch (against 3.2.4) solves the problem, fixing something that looks like a typo. The bug is still present in current Git master.
* nl_addr_cmp(): handle prefix length during address comparisonBrett Ciphery2012-01-121-1/+4
| | | | Signed-off-by: Brett Ciphery <brett.ciphery@windriver.com>
* 3.2.4 releaselibnl3_2_4Thomas Graf2012-01-111-3/+3
|
* avoid dangling co_major_cache reference to NL_AUTO_PROVIDE cachesAlexander Sack2012-01-111-2/+5
|
* dsmark: Add missing declarations for rtnl_class_dsmark_(get|set)_bitmask()Thomas Graf2011-11-251-3/+3
| | | | | | | The existing declarations refered to non-existing functions so removing them is safe. Signed-off-by: Thomas Graf <tgraf@redhat.com>
* rtnl_link_bond_add: allow to allocate bond name in case NULL is givenJiri Pirko2011-11-111-4/+1
| | | | Signed-off-by: Jiri Pirko <jpirko@redhat.com>
* link: allow to add/get linkinfo of unknown typeJiri Pirko2011-11-112-22/+55
| | | | | | | | store type kind in rtnl_link independently. That would allow to use this value even if type_ops are not present. This allows for example to create devices of type unknown to libnl. Signed-off-by: Jiri Pirko <jpirko@redhat.com>
* build: simplify optional dirs/files in Makefile.am processingJan Engelhardt2011-11-111-11/+7
|
* release 3.2.3libnl3_2_3Thomas Graf2011-11-101-2/+2
|
* add missing IFLA_MASTER fillupJiri Pirko2011-11-071-0/+3
| | | | | | this makes all set_master functions work. Signed-off-by: Jiri Pirko <jpirko@redhat.com>
* link: generic link enslaving APIThomas Graf2011-11-072-0/+129
| | | | | | Adds rtnl_link_enslave() / rtnl_link_release() providing a genreic link enslaving/release API for use with all link types which use the IFLA_MASTER property.
* bump to 3.2.2libnl3_2_2Thomas Graf2011-10-301-2/+2
|
* Fix typo in debug messageThomas Graf2011-10-281-1/+1
|
* python: Link against nl-3 and nl-route-3Thomas Graf2011-10-261-2/+2
|