History log of /external/libnl/lib/nl.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
256d7e723c0ff402422d3501866e9301b3f64c0f 03-Jul-2010 Thomas Graf <tgraf@suug.ch> Fix compile warning in nl.c
/external/libnl/lib/nl.c
27c505eb89f7a689416f822e26c0ccea0b351ba3 24-Feb-2010 Karl Hiramoto <karl@hiramoto.org> new feature nl_send_iovec(), nl_auto_complete() and code refactoring.

Create new function nl_send_iovec() to be used to send multiple 'struct iovec'
through the netlink socket. This will be used for NF_QUEUE, to send
packet payload of a modified packet.

Refactor nl_send() to use nl_send_iovec() sending a single struct iovec.

Create new function nl_auto_complete() by refactoring nl_send_auto_complete(),
so other functions that call nl_send may also use nl_auto_complete()

Signed-off-by: Karl Hiramoto <karl@hiramoto.org>
/external/libnl/lib/nl.c
664e1deaeb59ad9db0b2eeec613cf8a93551f567 10-Dec-2008 Thomas Graf <tgr@plip.localdomain> Fix up naming changes
/external/libnl/lib/nl.c
6782b6f709d03877a5661a4c8d8f8bd1b461f43f 10-Dec-2008 Thomas Graf <tgr@plip.localdomain> restructure module documentation order

split hiearchy into one top level module per library
/external/libnl/lib/nl.c
4fd5f7cb6627a22bd9f228b4259d5106ae39d535 03-Dec-2008 Thomas Graf <tgr@plip.localdomain> Documentation update
/external/libnl/lib/nl.c
2bdee95a765457fe4206b89d51974ae56e75c588 20-Oct-2008 Thomas Graf <tgr@plip.localdomain> Add socket flag NL_NO_AUTO_ACK to allow disabling auto ACKS
/external/libnl/lib/nl.c
23ee46ef7115c2e311c36e43a833e6c3deada18a 14-Oct-2008 Thomas Graf <tgr@plip.localdomain> Replace NL_KEEP code with proper message reference counting

Adds reference counting to netlink messages so callbacks
can hold on to a message without using the broken keep
message flag.
/external/libnl/lib/nl.c
1155370f520cb64657e25153255cf7dc1424317f 15-May-2008 Thomas Graf <tgr@lsx.localdomain> Rename struct nl_handle to struct nl_sock

The idea of a common handle is long revised and only misleading,
nl_handle really represents a socket with some additional
action handlers assigned to it.

Alias for nl_handle is kept for backwards compatibility.
/external/libnl/lib/nl.c
8a3efffa5b3fde252675239914118664d36a2c24 14-May-2008 Thomas Graf <tgr@lsx.localdomain> Thread-safe error handling

In order for the interface to become more thread safe, the error
handling was revised to no longer depend on a static errno and
error string buffer.

This patch converts all error paths to return a libnl specific
error code which can be translated to a error message using
nl_geterror(int error). The functions nl_error() and
nl_get_errno() are therefore obsolete.

This change required various sets of function prototypes to be
changed in order to return an error code, the most prominent
are:

struct nl_cache *foo_alloc_cache(...);
changed to:
int foo_alloc_cache(..., struct nl_cache **);

struct nl_msg *foo_build_request(...);
changed to:
int foo_build_request(..., struct nl_msg **);

struct foo *foo_parse(...);
changed to:
int foo_parse(..., struct foo **);

This pretty much only leaves trivial allocation functions to
still return a pointer object which can still return NULL to
signal out of memory.

This change is a serious API and ABI breaker, sorry!
/external/libnl/lib/nl.c
b7c5bf98c4079304f78242d8b3c65451efc12b77 07-May-2008 Thomas Graf <tgr@lsx.localdomain> Improve performance by using malloc() over calloc() in critical places

As pointed out by Regis Hanna, a considerable performance gain can be
achieved by using malloc() over calloc() when allocating netlink message
buffers. This is likely due to the fact that we use a complete page for
each message.
/external/libnl/lib/nl.c
32000e8e9c275fac8933880350291cf642662349 29-Apr-2008 Inaky Perez-Gonzalez <inaky@linux.intel.com> libnl: recvmsgs doesn't necessarily free the message data

I stepped over libnl always freeing the messages and it
kind of made it awkward to reuse the message data without
reallocating.

The basic idea is: if a callback return value has a bit set,
don't free that message. The calling application owns it.
By default, things stay as before (messages are freed).

Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
/external/libnl/lib/nl.c
6de17f3308cfd53ad922d144a1b28ddd962d6678 14-Jan-2008 Thomas Graf <tgr@deb.localdomain> Fix stale data pointers when constructing messages

Patrick McHardy reported a problem where pointers to the
payload of a netlink message as returned by f.e. the
nesting helpers become stale when the payload data
chunk is reallocated.

In order to avoid further problems, the payload chunk is
no longer extended on the fly. Instead the allocation is
made during netlink message object allocation time with
a default size of a page which should be fine for the
majority of all users. Additionally the functions
nlmsg_alloc_size() and nlmsg_set_default_size() have been
added to allocate messages of a particular length and to
modify the default message size.
/external/libnl/lib/nl.c
91c330aae51cd6cd44ad730e10dc82724998c810 17-Dec-2007 Thomas Graf <tgr@deb.localdomain> Fix creation and destruction of sockets

Fixes an off-by-one when releasing local ports. Fixes nl_connect()
to properly close the socket upon failure. Return EBADFD if
operations are performed on unconnected sockets where appropriate.
Makes nl_handle_alloc() return an error if all local ports are
used up.
/external/libnl/lib/nl.c
44d362409d5469aed47d19e7908d19bd194493a4 15-Sep-2007 Thomas Graf <tgraf@suug.ch> Initial import
/external/libnl/lib/nl.c