dect
/
libnl
Archived
13
0
Fork 0
Commit Graph

676 Commits

Author SHA1 Message Date
Thomas Graf b310cbb7b6 Explicitely link to nl-route when linking nf apps.
ld won't resolve its own deps in -L../lib/ for some
reason.
2008-08-19 01:35:01 +02:00
Thomas Graf 13ab2441ce Remove XML dumping
Bloats the library, not frequently used
2008-06-17 03:04:19 +02:00
Thomas Graf ff05f2ffc3 Fix compile errors when linking against libnl-genl 2008-06-17 02:57:33 +02:00
Thomas Graf ab578b9ca0 Improvements to address utilities
- Moved env var dumping to nl-addr-list.c
- support for ipv6 lifetimes
- correct and complete help texts
2008-06-17 02:52:18 +02:00
Thomas Graf 1f66555570 <netlink/addr.h> requires <netdb.h> 2008-06-17 02:09:38 +02:00
Thomas Graf 473e68e41a Need <linux/in_route.h> 2008-06-17 00:00:05 +02:00
Thomas Graf 7072675b40 Improved printing of route cache entries 2008-06-16 23:59:09 +02:00
Thomas Graf c48a17694b Extend nl_time2int() and rename it to nl_str2msec()
Support parsing of more complex time duration input.
2008-06-16 13:54:57 +02:00
Thomas Graf d49018fd78 Introduce nla_strdup() to help parse strings attributes 2008-06-13 16:40:41 +02:00
Thomas Graf 5ab9421111 Properly handle addr=NULL in nl_addr2str 2008-06-13 16:39:35 +02:00
Thomas Graf d39f1714f4 Remove unused dp_dump_line() 2008-05-26 15:11:08 +02:00
Thomas Graf b145f63312 Update linux/rtnetlink.h to upstream version 2008-05-26 15:10:36 +02:00
Thomas Graf d844307024 Remove old line counting while dumping 2008-05-23 23:45:14 +02:00
Thomas Graf 10cf5a586c New set of libnl tools
Converts all tools to the API changes and improves the useability by
introducing regular options and long options.
2008-05-23 00:02:02 +02:00
Thomas Graf 337fbd24ca Present port and icmp values in host byte order and beautify printing
This changes make nfnl_ct_get_src_port() and others return the value
in host byte order rather than in network byte order.

Also splits printing into details and statistical section and
improves readability.
2008-05-22 23:55:52 +02:00
Thomas Graf 2bac39401c Don't build tests on 'make all' 2008-05-22 23:53:16 +02:00
Thomas Graf 531029c130 Remove change routine, works flawlessly via add() with NLM_F_REPLACE
This breaks the API but is the right thing to do.
2008-05-22 23:52:53 +02:00
Thomas Graf 18efaacc16 Improve printing of routing rules 2008-05-22 23:51:02 +02:00
Thomas Graf 566a09ecbd Family specific libraries can link to the core directly 2008-05-22 23:50:01 +02:00
Thomas Graf 304746f8d0 Fix error code of nl_addr_resolve() 2008-05-22 23:49:11 +02:00
Thomas Graf 5d82806b48 Add rtnl_neigh_get_family() 2008-05-20 12:14:21 +02:00
Thomas Graf 00466b0f95 Return libnl error codes in translation routines 2008-05-20 12:13:48 +02:00
Thomas Graf 4f339ba0af Remove src/f_addr.c, it's no longer used 2008-05-16 00:41:42 +02:00
Thomas Graf e1cc1b859e utility functions for address tools 2008-05-15 20:29:08 +02:00
Thomas Graf 5e732ad075 New set of address management tools 2008-05-15 20:27:50 +02:00
Thomas Graf b5fa6c8b74 Fix library install target 2008-05-15 20:26:37 +02:00
Thomas Graf 0d925c5806 Remove references to unused attribute anycast 2008-05-15 20:25:15 +02:00
Thomas Graf dbff14010e Move on to version 2.0 to account for the serious ABI breakage 2008-05-15 19:29:17 +02:00
Thomas Graf ad2a7bd1e4 Build separate libraries for each netilnk family
This reduces the footprint on systems which only require a small
subset of the library.
2008-05-15 18:01:50 +02:00
Thomas Graf 28233246cd Allow parser callbacks to return NL_OK, NL_SKIP, NL_EXIT
Obsoletes internal P_ACCEPT/P_IGNORE
2008-05-15 14:01:57 +02:00
Thomas Graf 8cd39c9f4c Uninline various functions to save 7K code 2008-05-15 13:56:13 +02:00
Thomas Graf ef50a38fbd 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.
2008-05-15 13:45:41 +02:00
Thomas Graf 1155370f52 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.
2008-05-15 13:26:32 +02:00
Thomas Graf 0cf780859c Check length of provided address label 2008-05-14 23:08:06 +02:00
Thomas Graf b4fbe1d34d 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.
2008-05-14 18:34:39 +02:00
Thomas Graf eed2afaab7 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.
2008-05-14 18:26:47 +02:00
Thomas Graf 7179b2d859 Break API some more
Since we've broken the API anyway, remove some aliases which only
exist for backwards compatibility.
2008-05-14 17:56:22 +02:00
Thomas Graf 8a3efffa5b 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!
2008-05-14 17:49:44 +02:00
Ben Gamsa 85f932552e patch: fixed compilation problem for nl-route-get
Fixed compilation problem for nl-route-get by adding extra parameter now
needed for nltool_alloc_route_cache() function.
2008-05-08 17:56:24 +02:00
Ben Gamsa 107dc162c5 patch: fixed up support for tables in rules 2008-05-08 17:56:11 +02:00
Ben Gamsa cc9c6d6384 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.
2008-05-08 17:54:37 +02:00
Thomas Graf 48e1e5c472 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.
2008-05-08 12:47:26 +02:00
Thomas Graf b7c5bf98c4 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.
2008-05-07 13:18:30 +02:00
Thomas Graf dc883cc149 ignore more temporary files 2008-05-05 17:13:02 +02:00
Thomas Graf d6cd72555d Fix dumping of iif route attribute 2008-05-05 17:09:56 +02:00
Thomas Graf 85808860b6 Route cache support
This changesets adds the possibility to fill a nl_cache with
the contents of the route cache. It also adds the possibility
to limit route caches to certain address families.
2008-05-05 17:09:25 +02:00
Tad Kollar 861901c55b Fixed netem_build_msg() delay distribution table existence test. 2008-05-01 00:06:06 +02:00
Tad Kollar 241b2b83ba New netem funtionality and TBF fix
New netem-related functionality:
Added ability to save new settings to the kernel. In netem.c, the
netem_get_opts() stub has been replaced with netem_build_msg() which
manipulates the nl_msg data directly and returns an error code instead
of a new nl_msg. Modifications to qdisc_build() in qdisc.c and struct
rtnl_qdisc_ops were necessary for this.
Added support for getting/setting corruption probability/correlation.
Added support for setting a delay distribution.

Fixed tbf_msg_parser() to call tbf_alloc() instead of tbf_qdisc() to
prevent a seg fault.
2008-04-30 19:59:06 +02:00
Thomas Graf 5c92c656cc Remove leftover definition of verbose errors 2008-04-30 18:53:01 +02:00
Thomas Graf 2033861424 version.h.in should be in tree not the generated version 2008-04-30 18:52:28 +02:00