summaryrefslogtreecommitdiffstats
path: root/lib/route/classifier.c
Commit message (Collapse)AuthorAgeFilesLines
* - Reworked the classifier interface.Thomas Graf2009-09-021-340/+0
| | | | | | - Added initial ematch support - Added support for the basic classifier - Added support for the cgroup classifier
* Allow parser callbacks to return NL_OK, NL_SKIP, NL_EXITThomas Graf2008-05-151-5/+0
| | | | Obsoletes internal P_ACCEPT/P_IGNORE
* Fix memory leaks when sending of message failedThomas Graf2008-05-151-6/+9
| | | | | Various callers of nl_send_auto_complete() failed to free the allocated message when an error was reported.
* Rename struct nl_handle to struct nl_sockThomas Graf2008-05-151-18/+17
| | | | | | | | 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.
* Thread-safe error handlingThomas Graf2008-05-141-48/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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!
* Fix memory leak when parsing netlink messages into cachesThomas Graf2007-12-171-1/+1
| | | | The reference created by the parsers was never given back.
* Export interface to define cachesThomas Graf2007-09-171-2/+1
| | | | | | | | | | 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.
* Initial importThomas Graf2007-09-141-0/+343