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>
oute_obj.c
|
86b6f6f6291eaaec542a2f4028087fa823122082 |
10-Jul-2010 |
Denys Fedorysychenko <nuclearcat@nuclearcat.com> |
Trivial fix for TBF memleak Without this patch, running alloc / free cache loop will lead to huge memory leaks on machine with 3000 interfaces with tbf qdiscs. Here was valgrind output: ==5580== 18,070,728 bytes in 347,514 blocks are definitely lost in loss record 32 of 32 ==5580== at 0x4025485: calloc (in /lib/valgrind/vgpreload_memcheck-x86- linux.so) ==5580== by 0x405F410: tbf_msg_parser (tbf.c:46) ==5580== by 0x405302B: qdisc_msg_parser (qdisc.c:119) ==5580== by 0x4033DC9: nl_cache_parse (cache.c:643) ==5580== by 0x4033E7C: update_msg_parser (cache.c:460) ==5580== by 0x4038A11: nl_recvmsgs (netlink-local.h:112) ==5580== by 0x4034175: __cache_pickup (cache.c:483) ==5580== by 0x40343FF: nl_cache_pickup (cache.c:516) ==5580== by 0x403447D: nl_cache_refill (cache.c:698) ==5580== by 0x4034AB7: nl_cache_alloc_and_fill (cache.c:198) ==5580== by 0x4053216: rtnl_qdisc_alloc_cache (qdisc.c:388) ==5580== by 0x80489DB: main (in /home/root/nltest) Patch complied and tested for same test case, no more leaks anymore.
ch/tbf.c
|
7cf52dd94b5295b0b649f6ea8b2bf4fbf35abe33 |
03-Jul-2010 |
Thomas Graf <tgraf@suug.ch> |
Let git ignore generated pktloc source files
gitignore
|
db5bd57899affbcaf42ac0b93c5c7be8f51ca390 |
02-Jul-2010 |
Thomas Graf <tgr@lsx.(none)> |
Packet Location Interface
ktloc.c
ktloc_grammar.l
ktloc_syntax.y
|
0e4f54d288b8d1d06ee40122d6bf3ed971870d47 |
07-Apr-2010 |
Patrick McHardy <kaber@trash.net> |
addr: add NL_DUMP_ENV function Signed-off-by: Patrick McHardy <kaber@trash.net>
ddr.c
|
f5f49c224835c555df9e2c1f79ac5adf4640f4a8 |
07-Apr-2010 |
Patrick McHardy <kaber@trash.net> |
addr: restore anycast functions Seems it got lost during some cleanups. Signed-off-by: Patrick McHardy <kaber@trash.net>
ddr.c
|
82907257184f647353a9a993caaa1ebadaee2842 |
07-Apr-2010 |
Patrick McHardy <kaber@trash.net> |
neigh: fix id_attrs to include ifindex Neighbour entries for the same destination may exist on multiple interfaces. Include the interface in the ID attributes. Signed-off-by: Patrick McHardy <kaber@trash.net>
eigh.c
|
ff76549013c31082d303b3feef755bbd35e13ec6 |
14-Nov-2009 |
Denys Fedoryschenko <denys@visp.net.lb> |
one more fix, u32.c One more segfault, also nl-tctree-list , fix Probably need reformat for better look Patch attached
ls/u32.c
|
52510e7d394a1c8ee0a3aaf046db6199f0558c78 |
14-Nov-2009 |
Denys Fedoryschenko <denys@visp.net.lb> |
invalid comma cause segfault for nl-tctree-list, tbf.c I notice segfault while running nl-tctree-list for tbf qdisc. Patch that fix this typo is attached.
ch/tbf.c
|
2ead49f0d5873628156e50dfed7da14619a4172d |
20-Jul-2009 |
olc <olc@satem.(none)> |
Add support for getting and deleting queueing classes.
lass.c
|
e0af9e1802d4f0c49e838ff94a187f590eb9e2cd |
20-Aug-2009 |
Dan Winship <danw@redhat.com> |
Fix rtnl_addr caching addr_obj.ops.oo_id_attrs included ADDR_ATTR_PEER, so any address that didn't have a peer address set would compare as unequal to itself, meaning it could never be removed from a cache after it was added, etc.
ddr.c
|
ef858fb492dfe98e3ae194264fbc73649cf8493a |
02-Sep-2009 |
Thomas Graf <tgr@lsx.localdomain> |
- Reworked the classifier interface. - Added initial ematch support - Added support for the basic classifier - Added support for the cgroup classifier
lassifier.c
ls.c
ls/basic.c
ls/cgroup.c
ls/ematch.c
ls/ematch/cmp.c
ls/ematch/container.c
ls/fw.c
ls/u32.c
ls_obj.c
|
6782b6f709d03877a5661a4c8d8f8bd1b461f43f |
10-Dec-2008 |
Thomas Graf <tgr@plip.localdomain> |
restructure module documentation order split hiearchy into one top level module per library
tnl.c
|
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.
ddr.c
lass.c
ink.c
eigh.c
eightbl.c
disc.c
oute.c
ule.c
|
f42f195a80ffb7a5dcc355a56b8fe229692718e5 |
15-Oct-2008 |
Thomas Graf <tgr@plip.localdomain> |
Error handling for rtnl_cls_set_kind() & addition of rtnl_cls_get_ops()
ls_obj.c
|
5d92f9c03d85cefee5afe7f40d7ea69dfde4cf77 |
15-Oct-2008 |
Thomas Graf <tgr@plip.localdomain> |
Use 16bit ints for classifier prio/protocol
ls_obj.c
|
5702d4c1b97616f5212da31db01a2f3c79c15b7c |
07-Oct-2008 |
Wolfgang Steudel <Wolfgang.Steudel@Stud.TU-Ilmenau.de> |
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).
ddr.c
|
13ab2441ced84cfc093734b257c43fa468cb22fd |
17-Jun-2008 |
Thomas Graf <tgr@lsx.localdomain> |
Remove XML dumping Bloats the library, not frequently used
ddr.c
ink.c
eigh.c
ule.c
|
ab578b9ca00b19ad6b66283ec08d004f9fc391d6 |
17-Jun-2008 |
Thomas Graf <tgr@lsx.localdomain> |
Improvements to address utilities - Moved env var dumping to nl-addr-list.c - support for ipv6 lifetimes - correct and complete help texts
ddr.c
|
7072675b40b611279466756ef800cc5dbee92c54 |
16-Jun-2008 |
Thomas Graf <tgr@lsx.localdomain> |
Improved printing of route cache entries
oute_obj.c
|
d84430702496f617c01c5e2d27d0e82e02390bb7 |
23-May-2008 |
Thomas Graf <tgr@lsx.localdomain> |
Remove old line counting while dumping
ddr.c
lass_obj.c
ls/fw.c
ls/u32.c
ls_obj.c
ink.c
ink/vlan.c
eigh.c
eightbl.c
exthop.c
disc_obj.c
oute_obj.c
ule.c
ch/cbq.c
ch/dsmark.c
ch/fifo.c
ch/htb.c
ch/netem.c
ch/prio.c
ch/red.c
ch/sfq.c
ch/tbf.c
c.c
|
531029c130db95a82c9f2121e59698e86cd84e79 |
22-May-2008 |
Thomas Graf <tgr@lsx.localdomain> |
Remove change routine, works flawlessly via add() with NLM_F_REPLACE This breaks the API but is the right thing to do.
eigh.c
|
18efaacc169635f891b0c9b869f4e0db18584258 |
22-May-2008 |
Thomas Graf <tgr@lsx.localdomain> |
Improve printing of routing rules
ule.c
|
5d82806b48959e4726ae3913ae0b3ce279c4c04a |
20-May-2008 |
Thomas Graf <tgr@lsx.localdomain> |
Add rtnl_neigh_get_family()
eigh.c
|
0d925c58069b2d29f17c2bde14192b6f35ccac4d |
15-May-2008 |
Thomas Graf <tgr@lsx.localdomain> |
Remove references to unused attribute anycast
ddr.c
|
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
ddr.c
lass.c
lassifier.c
ink.c
eigh.c
eightbl.c
disc.c
oute.c
ule.c
|
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.
lass.c
lassifier.c
ink.c
eigh.c
eightbl.c
disc.c
|
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.
ddr.c
lass.c
lassifier.c
ink.c
eigh.c
eightbl.c
disc.c
oute.c
tnl.c
ule.c
|
0cf780859cbce363a6e2cd4b8d19c5498a3530f5 |
14-May-2008 |
Thomas Graf <tgr@lsx.localdomain> |
Check length of provided address label
ddr.c
|
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.
ddr.c
ink.c
eigh.c
c.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.
ddr.c
ls/fw.c
ls/u32.c
ink.c
eigh.c
oute_obj.c
ule.c
c.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!
ddr.c
lass.c
lass_api.c
lassifier.c
ls/fw.c
ls/u32.c
ls_api.c
ink.c
ink/api.c
ink/vlan.c
eigh.c
eightbl.c
exthop.c
disc.c
disc_api.c
oute.c
oute_obj.c
ule.c
ch/cbq.c
ch/dsmark.c
ch/fifo.c
ch/netem.c
ch/prio.c
ch/red.c
ch/sfq.c
ch/tbf.c
c.c
|
107dc162c56ace6eea5a167b7881520e6cecb831 |
08-May-2008 |
Ben Gamsa <ben@somanetworks.com> |
patch: fixed up support for tables in rules
ule.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.
oute_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.
oute_obj.c
|
d6cd72555d1e0334567d213eb84547758aef6255 |
05-May-2008 |
Thomas Graf <tgr@lsx.localdomain> |
Fix dumping of iif route attribute
oute_obj.c
|
85808860b6174aecc901c34c90968911ad013280 |
05-May-2008 |
Thomas Graf <tgr@lsx.localdomain> |
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.
oute.c
|
861901c55bd9e2f84e7c8de0da5ea6179867907d |
30-Apr-2008 |
Tad Kollar <Thaddeus.J.Kollar@nasa.gov> |
Fixed netem_build_msg() delay distribution table existence test.
ch/netem.c
|
241b2b83ba5672f5c86154d29eeb8ef4c7c6e9b4 |
30-Apr-2008 |
Tad Kollar <Thaddeus.J.Kollar@nasa.gov> |
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.
disc.c
ch/netem.c
ch/tbf.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.
ddr.c
ink.c
eigh.c
exthop.c
oute.c
oute_obj.c
oute_utils.c
ule.c
|
0ca291d9e4ca1a9fd75982e7edb43325b40f5f10 |
31-Mar-2008 |
Thomas Graf <tgr@lsx.localdomain> |
Fix 64bit alignment issue on x86_64.
ink.c
|
b64f15d6f947839236fa276d473d238f8c9b9d57 |
18-Jan-2008 |
Patrick McHardy <kaber@trash.net> |
[LIBNL]: Fix minor memleaks on exit Make valgrind happy ... Signed-off-by: Patrick McHardy <kaber@trash.net>
oute_utils.c
|
7f6b7a8eea0334b34d58dec72c66121a76f08958 |
07-Feb-2008 |
Thomas Graf <tgr@deb.localdomain> |
Improve readability of link statistics output
ink.c
|
ddbe8f6c417ddba11f32e1f36bbfbdee8a598a36 |
08-Jan-2008 |
Thomas Graf <tgr@deb.localdomain> |
Make vlan_put_attrs() available
ink/vlan.c
|
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.
ink.c
ink/api.c
ink/vlan.c
|
195241473723527e2f30ac120087f106c607ce3e |
19-Dec-2007 |
Thomas Graf <tgr@deb.localdomain> |
Add support for the IFF_ECHO flag
ink.c
|
3ad4665be2f192291238cbe78118a57ec42436c6 |
19-Dec-2007 |
Thomas Graf <tgr@deb.localdomain> |
Support link operstate and linkmode
ink.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.
oute.c
oute_obj.c
|
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.
ddr.c
lass.c
lassifier.c
ink.c
eigh.c
eightbl.c
disc.c
oute.c
ule.c
|
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.
ddr.c
lass.c
lassifier.c
ink.c
eigh.c
eightbl.c
disc.c
oute.c
ule.c
|
44d362409d5469aed47d19e7908d19bd194493a4 |
15-Sep-2007 |
Thomas Graf <tgraf@suug.ch> |
Initial import
ddr.c
lass.c
lass_api.c
lass_obj.c
lassifier.c
ls/fw.c
ls/police.c
ls/u32.c
ls_api.c
ls_obj.c
ink.c
eigh.c
eightbl.c
exthop.c
disc.c
disc_api.c
disc_obj.c
oute.c
oute_obj.c
oute_utils.c
tnl.c
ule.c
ch/blackhole.c
ch/cbq.c
ch/dsmark.c
ch/fifo.c
ch/htb.c
ch/netem.c
ch/prio.c
ch/red.c
ch/sfq.c
ch/tbf.c
c.c
|