Commit Graph

1409 Commits

Author SHA1 Message Date
Thomas Graf
ef858fb492 - Reworked the classifier interface.
- Added initial ematch support
- Added support for the basic classifier
- Added support for the cgroup classifier
2009-09-02 18:31:14 +02:00
Alexander Sack
7d249fc2e1 nl_object_clone: properly clone ce_mask field
based on my finding, ce_mask needs to be identical on clones; otherwise
some functions (like "dump") will treat clones differently.
2009-07-20 11:58:57 +02:00
Pavel Roskin
dec2ea357d Declare struct ucred in handlers.h and netlink.h
Both files refer to it.  The sources including those files are not
guaranteed to include sys/socket.h to ensure that struct ucred is
defined.
2009-07-20 11:47:22 +02:00
Jan Engelhardt
a73e5f92c3 build: make use of library dependencies 2009-07-05 18:00:41 +02:00
Jan Engelhardt
bf4fd3acee Move to automake-based build
Issues solved:
* PACKAGE_VERSION was abused for SOVERSION
* unneeded DEP stage
* did not support out-of-tree builds
* no way to turn off silent mode
* overriding CFLAGS at make time was not supported
* no static libs were provided

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
2009-06-23 01:24:51 +02:00
Inaky Perez-Gonzalez
ef8ba32e0c release_local_port: properly compute the bitmap position
Current calculation is always off, not reflecting the right position
in the bitmap, which results in failures due to conflicts (detected at
the kernel level) when trying to open a new handle.

Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
2009-05-04 14:56:24 +02:00
Pavel Roskin
8ee16e6688 Separate compiling from linking
This helps users understand where possible warnings come from.
It also allows more find-grained control over the build flags.
2009-04-16 12:29:22 +02:00
Pavel Roskin
a8cd7b62c8 nl_object_priv() is inline, so define it in the header 2009-04-16 12:29:13 +02:00
Pavel Roskin
becae5f37a Remove all versioned libraries on "make clean" 2009-04-16 12:28:58 +02:00
Pavel Roskin
1276256a72 Fix parallel build
When linking against libnl, require libnl.so to exist.  When linking
against libnl-route, require libnl-route.so to exist.
2009-04-16 12:28:48 +02:00
Pavel Roskin
4f2ff2749b Include limits.h to fix undefined ULONG_MAX in src/utils.c 2009-04-16 12:28:21 +02:00
Patrick McHardy
f9071054d0 libnl: fix socket function rename related build failure
Signed-off-by: Patrick McHardy <kaber@trash.net>
2009-01-21 10:01:39 +01:00
Thomas Graf
664e1deaeb Fix up naming changes 2008-12-10 18:16:31 +01:00
Thomas Graf
6782b6f709 restructure module documentation order
split hiearchy into one top level module per library
2008-12-10 18:12:30 +01:00
Thomas Graf
b624b9ed93 Remove obsoleted struct nl_handle definition 2008-12-10 18:02:25 +01:00
Thomas Graf
724dfa6d70 Consistent naming of socket functions 2008-12-10 18:00:11 +01:00
Thomas Graf
d112cfbcb9 Update doc style sheet to latest default 2008-12-03 20:00:03 +01:00
Thomas Graf
4fd5f7cb66 Documentation update 2008-12-03 19:58:41 +01:00
Holger Eitzenberger
72aa861c48 Allow to pass multiple group values to membership functions
Instead of calling the membership functions several times it is
helpfull to extend the API and make the single group functions a
special case.

The value 0 (NFNLGRP_NONE) terminates this list.

Example use:

  nl_socket_add_memberships(sock, group_1, group_2, 0);
  nl_socket_drop_memberships(sock, group_1, group_2, 0);

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
2008-12-03 19:54:21 +01:00
Patrick McHardy
37f9855f4c libnl: add some errno codes to nl_syserr2nlerr
Signed-off-by: Patrick McHardy <kaber@trash.net>
2008-10-30 12:29:37 +01:00
Patrick McHardy
334f551c59 libnl: nfqueue: add nfqueue specific socket allocation function
commit e92539843a0c7e5116254382626cce226bf2135e
Author: Patrick McHardy <kaber@trash.net>
Date:   Thu Oct 23 13:46:16 2008 +0200

    libnl: nfqueue: add nfqueue specific socket allocation function

    nfqueue users usually send verdict messages from the receive callback.
    When waiting for ACKs, the receive callback might be called again
    recursively until the stack blows up.

    Add a nfqueue specific socket allocation function that automatically
    disables ACKing for the socket.

    Signed-off-by: Patrick McHardy <kaber@trash.net>
2008-10-23 13:59:40 +02:00
Thomas Graf
cfcfca0703 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.
2008-10-20 13:12:13 +02:00
Thomas Graf
2bdee95a76 Add socket flag NL_NO_AUTO_ACK to allow disabling auto ACKS 2008-10-20 13:02:38 +02:00
Thomas Graf
f42f195a80 Error handling for rtnl_cls_set_kind() & addition of rtnl_cls_get_ops() 2008-10-15 13:01:46 +02:00
Thomas Graf
5d92f9c03d Use 16bit ints for classifier prio/protocol 2008-10-15 12:25:26 +02:00
Thomas Graf
23ee46ef71 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.
2008-10-14 19:26:44 +02:00
Wolfgang Steudel
5702d4c1b9 Only include local addr as peer addr if provided
we're using libnl-1.1 for a project. When trying to delete all
addresses of an interface by only setting interface index and
address family of an rtnl_addr and executing rtnl_addr_delete()
we received some error (I don't remember what it was).

The bug(?) is in build_addr_msg() in lib/route/addr.c:
IFA_ADDRESS is set to a_local when a_peer is not set,
without checking if a_local was set. We just added
   if (tmpl->ce_mask & ADDR_ATTR_LOCAL)
after the "else" (line 496 in the current git).
2008-10-10 12:32:23 +02:00
Patrick McHardy
b12918df16 fix lib symlinks 2008-10-10 12:17:22 +02:00
Thomas Graf
d59883b117 From: Kees Cook <kees@outflux.net>
Hello!  It seems that libnl is missing an include for limits.h, which
causes it to FTBFS when glibc 2.8 is installed (currently in
experimental, so I left this bug severity at "normal").
2008-10-10 12:13:52 +02:00
Thomas Graf
562c5323af test updates 2008-08-20 12:01:50 +02:00
Thomas Graf
7211a83525 adapt configure to generate libnl-2.0.pc 2008-08-19 01:48:50 +02:00
James J. Dines
a8b11236d6 Changed libnl-1.pc.in to libnl-2.0.pc.in
(Also changed top level Makefile to reflect the change in libnl version)
2008-08-19 01:46:22 +02:00
Holger Schurig
e38716b41e libnl: fix about 100 warnings
In file included from addr.c:28:
../include/netlink-local.h:119:1: warning: "__deprecated" redefined
In file included from /usr/include/linux/stddef.h:4,
                 from /usr/include/linux/posix_types.h:4,
                 from /usr/include/linux/types.h:8,
                 from ../include/netlink-local.h:37,
                 from addr.c:28:
/usr/include/linux/compiler.h:45:1: warning: this is the location of the previous definition

This happens about 100 times. Suggested patch:
2008-08-19 01:40:25 +02:00
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