History log of /external/libnl/lib/route/link.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cfcfca070355b246028df60da79813f09ed65755 20-Oct-2008 Thomas Graf <tgr@plip.localdomain> Add internal wait_for_ack() which only waits for ACK if !NL_NO_AUTO_ACK

This changeset ensures that internal code properly synchronizes to
ACKs if ACKs are enabled and otherwise return immediately.
13ab2441ced84cfc093734b257c43fa468cb22fd 17-Jun-2008 Thomas Graf <tgr@lsx.localdomain> Remove XML dumping

Bloats the library, not frequently used
d84430702496f617c01c5e2d27d0e82e02390bb7 23-May-2008 Thomas Graf <tgr@lsx.localdomain> Remove old line counting while dumping
28233246cd8fad47613e7ffd85ea0b1d69c0f8c2 15-May-2008 Thomas Graf <tgr@lsx.localdomain> Allow parser callbacks to return NL_OK, NL_SKIP, NL_EXIT

Obsoletes internal P_ACCEPT/P_IGNORE
ef50a38fbd8682a5c9efd559e7db68664977f080 15-May-2008 Thomas Graf <tgr@lsx.localdomain> Fix memory leaks when sending of message failed

Various callers of nl_send_auto_complete() failed to
free the allocated message when an error was reported.
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.
b4fbe1d34d6f54045b5c6236d86aacd4340ec83d 14-May-2008 Thomas Graf <tgr@lsx.localdomain> Replace RTNL_LINK_NOT_FOUND with just 0

The interface index 0 is reserved and can be safely used to
signal that the device does not exist.
eed2afaab7aa72fae393a395a8879b91a922ff5e 14-May-2008 Thomas Graf <tgr@lsx.localdomain> Remove obsolete nla_get_addr() and nla_get_data()

Replaces obsolete calls to nla_get_addr() and nla_get_data()
with nl_addr_alloc_attr() respectively nl_data_alloc_attr().

Also fixes missing error handling while parsing routing multipath
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

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!
535e83162249ed6274ba46bc72d8cc683ba20e17 29-Apr-2008 Thomas Graf <tgr@lsx.localdomain> Big routing code rework (API/ABI BREAK!)

Adds all missing routing attributes and brings the routing
related code to a working state. In the process the API
was broken several times with the justification that nobody
is using this code yet.

The changes include new example code which is also a prototype
for how plain CLI tools could look like to control routes.
0ca291d9e4ca1a9fd75982e7edb43325b40f5f10 31-Mar-2008 Thomas Graf <tgr@lsx.localdomain> Fix 64bit alignment issue on x86_64.
7f6b7a8eea0334b34d58dec72c66121a76f08958 07-Feb-2008 Thomas Graf <tgr@deb.localdomain> Improve readability of link statistics output
a7469ce758fac3631df6ce72eb3f89150070e7f8 08-Jan-2008 Thomas Graf <tgr@deb.localdomain> Link info interface and vlan support

Adds an external interface to implement link info types and
implements the type vlan.
195241473723527e2f30ac120087f106c607ce3e 19-Dec-2007 Thomas Graf <tgr@deb.localdomain> Add support for the IFF_ECHO flag
3ad4665be2f192291238cbe78118a57ec42436c6 19-Dec-2007 Thomas Graf <tgr@deb.localdomain> Support link operstate and linkmode
155ad439a49df034ec58ee4218834bc5b0120515 17-Dec-2007 Thomas Graf <tgr@deb.localdomain> Fix memory leak when parsing netlink messages into caches

The reference created by the parsers was never given back.
3040a1d6254465bed9e44e4d1bf279c2c50cd16a 17-Sep-2007 Thomas Graf <tgraf@suug.ch> Export interface to define caches

This interface was internal so far which required all code defining
caches to be compiled with the sources available.

In order to simplify the interface, the co_msg_parser prototype was
changed to take the struct nl_parser_param directly instead of a
void *. It used to be void * because the co_msg_parser was directly
passed as the NL_CB_VALID callback function.
44d362409d5469aed47d19e7908d19bd194493a4 15-Sep-2007 Thomas Graf <tgraf@suug.ch> Initial import