libnl 3.2.8
Scott Bonar
sbonar at cradlepoint.com
Wed May 2 19:40:02 EDT 2012
I'm having issues with this release, specifically around the fact that
nl.c::nl_recvmsgs() now returns a positive number on successful reads
indicating the number of messages that were actually recv'd. The issue
is that I have run across several instances where the caller of
nl.c::nl_recvmsgs() "assumes" that a return of 0 is a successful read
instead of >0 and therefore does not take the same paths as 3.2.7. A
good example is that when I call link.c::rtnl_link_get_kernel() the code
should wait for an ACK if an object is returned, but is does not because
the return of nl.c::nl_pickup() is now >0 instead of 0. Now we are out
of order/sequence with our ACK packets and things go downhill from there.
There are probably other situations, but that was the one I tracked
down. What was the reason for this API change to nl_recvmsgs() and what
will I break if I remove the nrecv counter in recvmsgs()?
Scott Bonar
On 04/26/2012 03:35 AM, Thomas Graf wrote:
> Hello everyone
>
> I'm pleased to announce the release of libnl 3.2.8. It contains
> various fixes and several new API additions.
>
> Thanks to everyone who contributed to this release.
>
> Brett Ciphery (1):
> add new function to provide neighbour event parsing
>
> Nicolas CARRIER (1):
> Memory leak in classid.c
>
> Romary Sonrier (1):
> missing extended Table attribute for lib/route/
>
> Shriram Rajagopalan (1):
> Support plug qdisc - queue traffic until explicit release
>
> Thierry Reding (1):
> Add new nl_cache_clone() function.
>
> Thomas Graf (25):
> doc: Fix typos in autoconf example
> doc: Fix incorrect nl_socket_add_memberships() example
> genl-ctrl-list: Introduce -d|--details as a shortcut for --format=details
> genl-ctrl-list: Provide manual page
> genl-ctrl-list: fix copyright and summary
> genl-ctrl-list: Mark for installation
> cache_mngr: document uncommon error codes
> tests: Convert tests/Makefile to use automake
> tests: fix test programs to compile again
> cache_mngr: Don't modify callback setup of socket
> cache_manager: Move documentation to doc/core.txt
> cache_mngr: Automatically allocate socket if needed
> test-cache-mngr: Let the cache manager allocate the socket
> cache_mngr: Fix memory corruption after resizing
> nl: Make nl_recvmsgs() return the number of netlink messages processed
> cache_mngr: Let nl_cache_mngr_data_ready() read multiple messages
> cache_mngr: API doc updates
> cache_mngr: Provide nl_cache_mngr_info() to pring cache manager details
> test-cache-mngr: Allow for management of arbitary caches via argument string
> cache_mngr: Make providing the result pointer to nl_cache_mngr_add() optional
> genl: Make genl_unregister() a NOP if NULL pointer is passed
> cache: improve documentation of co_event_filter
> cache: Add co_include_event allowing caches to provide their own nl_cache_include() implementation
> object: Add functions to access the object type, cache and object ops
> 3.2.8 release
>
> The source tarball can be found at the usual location:
> http://www.infradead.org/~tgr/libnl/
>
>
> Thomas
>
> _______________________________________________
> libnl mailing list
> libnl at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/libnl
>
> !SIG:4f99175a29451982320748!
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/libnl/attachments/20120502/dded9195/attachment.html>
More information about the libnl
mailing list