History log of /external/libnl/lib/route/route_obj.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2b3fabab9ef2445ab1c48de0fed82514e4eb32dc 13-Oct-2010 David Lamparter <equinox@diac24.net> route_obj: don't add empty destination to nlmsg

don't try to give the kernel an empty RTA_DST attribute. this would
previously happening on trying to delete the default route as returned
from the kernel. the kernel doesn't add a RTA_DST atttribute, so libnl
does nl_addr_alloc(0) and inserts a zero-length RTA_DST attribute into
the deletion request, which the kernel then refuses with ERANGE.

Signed-off-by: David Lamparter <equinox@diac24.net>
/external/libnl/lib/route/route_obj.c
7072675b40b611279466756ef800cc5dbee92c54 16-Jun-2008 Thomas Graf <tgr@lsx.localdomain> Improved printing of route cache entries
/external/libnl/lib/route/route_obj.c
d84430702496f617c01c5e2d27d0e82e02390bb7 23-May-2008 Thomas Graf <tgr@lsx.localdomain> Remove old line counting while dumping
/external/libnl/lib/route/route_obj.c
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
configuration.
/external/libnl/lib/route/route_obj.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/route/route_obj.c
cc9c6d63848400b77906a4a9df0be826dfc21b72 08-May-2008 Ben Gamsa <ben@somanetworks.com> Added two new functions to facilitate processing the nexthop entries for routes.

Added rtnl_route_foreach_nexthop() to walk the list of nexthops invoking a
caller-provided callback for each nexthop entry, and added rtnl_route_nexthop_n()
to retrieve the Nth nexthop entry in the list.
/external/libnl/lib/route/route_obj.c
48e1e5c4720094f60494ee55c2a22230ac986ad3 08-May-2008 Thomas Graf <tgr@lsx.localdomain> Speed up metrics comparison

Using rtnl_route_get_metric() for route comparison became a bottleneck
because each metric which was not available resulted in the generation
of an error message. This changeset avoids this by accessing rt_metrics
and rt_metrics_mask directly while comparing route objects.
/external/libnl/lib/route/route_obj.c
d6cd72555d1e0334567d213eb84547758aef6255 05-May-2008 Thomas Graf <tgr@lsx.localdomain> Fix dumping of iif route attribute
/external/libnl/lib/route/route_obj.c
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.
/external/libnl/lib/route/route_obj.c
464988628802b76d5b3e50af99158413ac28bd18 19-Dec-2007 Thomas Graf <tgr@deb.localdomain> Represent default route with destination address length zero

So far the destination address for default routes was NULL
which complicated the handling of routes in general. By
assigning a address of length zero they can be compared
to each other.

This allows the cache manager to properly handle default
routes.
/external/libnl/lib/route/route_obj.c
44d362409d5469aed47d19e7908d19bd194493a4 15-Sep-2007 Thomas Graf <tgraf@suug.ch> Initial import
/external/libnl/lib/route/route_obj.c