| ChangeLog discontinued, git history can be found here: | |
| http://git.kernel.org/?p=libs/netlink/libnl.git | |
| Summary of Changes from 1.0-pre6 to 1.0-pre7 | |
| ================================================ | |
| Thomas Graf <tgraf@suug.ch> | |
| o Generic netlink support | |
| o Route Addition/Deletion | |
| o Added nl_cache_subset() | |
| o Have nl_object_clone() make real clones without | |
| sharing any data. | |
| o Remove old nl_object_alloc() not based on a object | |
| operations to avoid bugs due to missing init. | |
| o Added nl-list-caches utility | |
| o Removed nlmsg_build_no_hdr(), duplicate | |
| o Reworked message interface | |
| o Fixed nlmsg_put() and genlmsg_put() to correctly reserve | |
| tail room for user specific headers. | |
| o Added nl_cache_move() | |
| o Renamed nl_cache_delete() to nl_cache_remove() (no API break) | |
| o Fixed reference counting while objects stay in caches. | |
| o Object marking | |
| o Moved attribute mask for objects into generic structure | |
| o nl-list-caches: List available dump procedures | |
| o Use PAGE_SIZE as initial buffer size when reading from | |
| netlink socket | |
| o Double buffer size when recv() returns MSG_TRUNC | |
| o Replaced filter object operation with new compare operation | |
| capable of listing differences between two objects | |
| o Added nl_object_identical() to check if two objects are | |
| identical from a uniqueness point of view | |
| o Added nl_object_diff() returning a bitmask of differences in | |
| attributes | |
| o Added nl_object_attr_list() generating a list of attribute | |
| name the object has assigned | |
| o Cache updates based on event notifications, code based on | |
| Patrick McHardy's patches | |
| o Cache Manager | |
| o Added NL_AUTO_PID, NL_AUTO_SEQ for convenience | |
| o Disable MSG_PEEK by default and provide nl_socket_enable_msg_peek() | |
| o Fixed nl_recvmsgs() to return 0 when interrupted via NL_STOP or | |
| NL_SKIP | |
| o Fixed nl_recvmsgs() to stop reading after parsing if not in the | |
| middle of a multipart message. | |
| o Fixed nl_recvmsgs() to not stop after receving an ACK | |
| o Fixed nl_recvmsgs() to not blindly discard remaining messages | |
| if a NLMSG_DONE message is received. | |
| Petr Gotthard <petr.gotthard@siemens.com> | |
| Siemens AG Oesterreich | |
| o Fix u32 to properly handle multiple keys | |
| o rtnl_htb_set_(r|c)buffer() | |
| o Fixed MTU handling in HTB class, problem pointed out | |
| by Edouard Thuleau | |
| Zilvinas Valinskas <zilvinas@wilibox.com> | |
| o Fix wrong msg_namelen in nl_recv() | |
| o Fix memory leak in flnl_request_put() | |
| Helmut Schaa <hschaa@suse.de> | |
| o Fix for using libnl from within C++ | |
| Patrick McHardy <kaber@trash.net> | |
| o *_alloc_cache(): Only refill cache if handle is provided | |
| James Oakley <jfunk@funktronics.ca> | |
| o Fix rtnl_link_set_arptype() typo | |
| Philip Craig <philipc@snapgear.com> | |
| o Change address family type from char to int | |
| o Fix the error handling when the build fails. | |
| o add nl_cache_mngr_get_fd() | |
| o add netfilter support | |
| o add netfilter conntrack support | |
| o add netfilter log support | |
| Summary of Changes from 1.0-pre5 to 1.0-pre6 | |
| ================================================ | |
| Christopher Aillon <caillon@redhat.com> | |
| o Use $(libdir) instead of $(prefix)/lib for 64bit awesomeness. | |
| Thomas Graf <tgraf@suug.ch> | |
| o Extend nl_msg to include source address, destination address | |
| and the protocol being used. | |
| o Make nl_send*() take a nl_msg instead of a nlmsghdr (API BREAK) | |
| o Change callbacks to take a nl_msg instead of source address | |
| and nlmsghdr (API BREAK) | |
| o caches must specify the protocol they're hooked up from now on | |
| if they intend to be associated with message types. | |
| o cache_mngt_associate now takes the protocol besides the message | |
| type to allow for multiple protocols to be supported (API BREAK) | |
| o overwrite destination address in nl_send() when specified in the | |
| message itself, allows for unbound addressing. | |
| o Support for netlink based fib_lookup() | |
| o Documentation fixes | |
| o Fix double nlmsg_free() in nl_recvmsgs() while receiving | |
| a multipart message and the read was interrupted. | |
| o Change cache operations to store names for message types. | |
| o Provide interface to convert message type to character string. | |
| o Add dp_dump_msgtype to prefix each dumped element with a | |
| pretty printed message type. | |
| o netlink fib lookup support | |
| o nl_recvmsgs() debugging | |
| o use nl_cachemngt_type2name() when pretty printing netlink header | |
| o Routing protocol translations. | |
| o Routing metric translations. | |
| o Revised route dumping | |
| o Nexthop flag translations. | |
| o Add support for IFF_DORMANT | |
| Petr Gotthard <petr.gotthard@siemens.com> | |
| Siemens AG Oesterreich | |
| o Fix access to obj after freeing it | |
| o Fix u32 selector access after realloc() | |
| o Fix missing out-of-memory error handling in various places | |
| o Enhance nl-monitor to have group selection selectable and | |
| demonstrate usage of select() | |
| o Don't ignore IFF_RUNNING any longer | |
| o fw classifier support | |
| Patrick McHardy <kaber@trash.net> | |
| o Fix conflicting types for __u64 | |
| o Fix printf format string warnings | |
| o Fix object cloning | |
| o Deal with structure padding in nl_object_clone | |
| o Fix nl_addr leak | |
| o Set ce_msgtype in all parsed objects | |
| o Fix addr flag filter | |
| o Fix RTNLGRP definitions (was based on broken kernel version) | |
| o Export nl_get_errno() | |
| o Add function to get/set peer pid | |
| o Add IFF_LOWER_UP | |
| o Add/export some missing accessor functions | |
| o print /0 prefix in nl_addr2str() | |
| o Fix invalid free in nl_addr_parse for AF_UNSPEC addresses | |
| o Use __str2flags instead of __str2type in rtnl_link_str2flags() | |
| o Make sure object and filter types match in nl_object_match() | |
| o Add support for credential passing over netlink sockets (API BREAK) | |
| o Add support for custom dump callbacks | |
| o Add NL_DUMP_ENV format | |
| Michael Biebl <biebl@teco.edu> | |
| "Alex V. Myltsev" <avm@altlinux.ru> | |
| o Makefile fixes | |
| Summary of Changes from 1.0-pre4 to 1.0-pre5 | |
| ================================================ | |
| Thomas Graf <tgraf@suug.ch> | |
| o Use minimized local copies for <linux/if.h>, <linux/if_arp.h>, | |
| and <linux/if_ether.h> to avoid compile troubles with | |
| applications including <net/if*.h> | |
| Reported by Christopher Aillon. | |
| Summary of Changes from 1.0-pre3 to 1.0-pre4 | |
| ================================================ | |
| Thomas Graf <tgraf@suug.ch> | |
| o Fix wrong rtnl_addr_set_prefixlen() external declaration, | |
| reported by Dan Williams. | |
| o Fix nl_addr_parse() to not change the original string | |
| for prefixes. | |
| o Do not build documentation per default, but have the user | |
| issue 'make gendoc' | |
| o Assume neighbours to be permanent, set NUD_PERMANENT if not | |
| specified otherwise. | |
| Summary of Changes from 1.0-pre2 to 1.0-pre3 | |
| ================================================ | |
| Thomas Graf <tgraf@suug.ch> | |
| o Fix SFQ parser to allocate qdisc options. | |
| o Fix rule statistics dumping to not call itself. | |
| o Complete Netem qdisc interface. | |
| o Add rtnl_*_put() and rtnl_*_free() to increase readability. | |
| o Cleanup of nl-* tools | |
| o Fix inclusion guards of route/neightbl.h | |
| o Fix nl_connect() to only modify rx/tx socket buffers if not | |
| already modified by the user. | |
| o Fix wrong nl_handle_alloc() prototype. | |
| o Fix typo in route/addr.c causing label to be marked as | |
| local address. | |
| o Use ~0UL as default prefix length instead of 0. | |
| o Fix neighbour message parser to correctly store core. | |
| attributes and provide them again. | |
| o Fix neighbour message parser to correctly guess address family. | |
| to make it compatible with nl_addr_parse() and ether llc | |
| addresses. | |
| o Add rtnl_route_table2str(), rtnl_route_str2table(). | |
| o Add nl_cache_nitems_filter() to find out if a filter produces | |
| any matches. | |
| o Remove rtnl_rule_set_(dst|src)_str() (obsolete). | |
| o Remove scope and protocol field of routing rule. | |
| o Complete routing rules module. | |
| o Move realms translations from route to rtnl module. | |
| Summary of Changes from 1.0-pre1 to 1.0-pre2 | |
| ================================================ | |
| Thomas Graf <tgraf@suug.ch> | |
| o More API documentation | |
| o Added flags argument to rtnl_addr_(add|build_add_request)(). | |
| o Added rtnl_addr_(set|get)_multicast(). | |
| o Moved scope translations routines from route/route.c to | |
| route/rtnl.c, required by other modules as well. | |
| o Removed old rtattr bits from rtnetlink-kernel.h | |
| o Customized libnl.css for doxygen documentation | |
| o Removed non-reentrant translation routines, only bloating | |
| the code and too risky. | |
| o Fixed wrong version number from 1.0-pre1. | |
| o Reenabled unfinished policer module. | |
| o Reworked TBF module, automatic caluclation of transmit times, | |
| limit setable via latency, automatic cell size calculation, | |
| options TLV generation. (untested) | |
| o Renamed nl_xmittime() to rtnl_tc_calc_txtime(). | |
| o Renamde nl_build_rtable() to rtnl_tc_build_rate_table() | |
| Petr Gotthard <petr.gotthard@siemens.com>, | |
| Siemens AG Oesterreich | |
| o Fix symlinks to libnl library files to be moveable | |
| o Fix extern struct prototypes meant to be static. | |
| o Add empty install target to src/Makefile | |
| Simon Stelling <blubb@gentoo.org> | |
| o Use LIBDIR instead of $(prefix)/lib for users to alllow librariers | |
| into $(prefix)/lib64. | |
| Summary of Changes from 0.5.0 to 1.0-pre1 | |
| ================================================ | |
| Thomas Graf <tgraf@suug.ch> | |
| o Uncountable number of changes, rewrite of certain modules, | |
| several major API breakages | |
| Petr Gotthard <petr.gotthard@siemens.com>, | |
| Siemens AG Oesterreich | |
| o added class_build, rtnl_class_build_add_request, rtnl_class_add | |
| o added HTB (Hierachical Token Bucket) class support | |
| o added nl_xmittime, nl_build_rtable | |
| o added nl_data_append to realloc a nl_data structure | |
| o added rtnl_rcopy_ratespec as reverse to rtnl_copy_ratespec | |
| o fixed byte order conversion of rtnl_filter.protocol | |
| o SuSE and Fedora Linux compile fixes | |
| o fixed u32 classifier support | |
| o added rtnl_u32_set_handle, rtnl_u32_set_classid, rtnl_u32_set_flags | |
| and several rtnl_u32_add_key_... operations to u32 classifier | |
| Summary of Changes from 0.4.4 to 0.5.0 | |
| ================================================ | |
| Thomas Graf <tgraf@suug.ch> | |
| o API documentation | |
| o nl_cache_filter to manually filter on a object | |
| o partial routing support | |
| o routing rules support | |
| o Propely set address family when setting addresses | |
| o debug flag and some rare messages, more to come | |
| o make error mesage verboseness configureable | |
| o tc fixes to wait for ack | |
| o cleanup and adaption of address code to latest internal API | |
| o various cleanups | |
| o dozens of API breakages (better now than later) | |
| Daniel Hottinger <hotti@hotti.ch> | |
| o arch 64bit printf length modifier fixes | |
| Baruch Even <baruch@ev-en.org>, | |
| Mediatrix Telecom, inc. <ericb@mediatrix.com> | |
| o address support | |
| Summary of changes from 0.4.3 to 0.4.4 | |
| ================================================ | |
| Thomas Graf <tgraf@suug.ch>: | |
| o overall cleanups for better code quality | |
| o replace dump_(brief|full|with_stats) ops with | |
| dump[NL_DUMP_MAX] array to allow further additions without | |
| breaking the ABI. | |
| o add of send_ack callback, called whenever when oppenent | |
| asks for an ACK. | |
| o make nl_parse_rtattr initialize the tb buffer like in the | |
| kernel, caller must no longer take care of it. | |
| o remove nl_addrnattr (obsolete) | |
| o fixed nl_msg_append_raw to correctly calculate length | |
| for raw data not aligned to NLMSG_ALIGN | |
| o fix memory leak in nl_recv in case of errors | |
| o correctly check sequence numbers if more than one message | |
| was sent out before the answer is being received. | |
| o add workaround for buggy netlink applications not properly | |
| setting NLM_F_MULTI. | |
| Summary of changes from 0.4.2 to 0.4.3 | |
| ================================================ | |
| Thomas Graf <tgraf@suug.ch>: | |
| o use parser_param in nl_cache_parse | |
| o EGP: dump nfilters attribute | |
| o allow retrieving of filters attached to classes via | |
| FILTER_CACHE_PARENT(C) cache argument | |
| o filter message building API | |
| Summary of changes from 0.4.1 to 0.4.2 | |
| ================================================ | |
| Baruch Even <baruch@ev-en.org>: | |
| o memory leak fix in nl_parse_rtattr | |
| o reset padding to 0 when appending raw data to a nl_msg | |
| o avoid overwriting nlmsg ptr when buffer extending fails | |
| o typo fixes | |
| o create symlinks libnl.so.0 and libnl.so | |
| Thomas Graf <tgraf@suug.ch>: | |
| o EGP classifier support | |
| o avoid null pointer in printf call | |
| o added nl_cache_parse to put nl_msg's into a cache | |
| o added rtnl_filter_build to build a nl_msg filter message | |
| o correctly install header files | |
| o nl_msg_payload/nl_msg_payloadlen to access nl_msg payload | |
| o nl_parse_nested macro to simplify nested TLV parsing | |
| o NL_ERROR_ASSERT compile flag to assert(0) on errors | |
| o rta alignment fix in nl_msg_append_tlv | |
| o added nl_msg_parse_rtattr as shortcut for nl_parse_rtattr | |
| for nl_msg API | |
| o added nl_parse_nested for nested TLVs | |
| o added RTA_ARRAY_ELEMS macro to calculate array length | |
| for array TLVs | |
| o added nl_wait_for_ack to wait for the next ack | |
| o added rtnl_link_build_change_request(...) | |
| o added rtnl_neigh_build_*_request | |
| o converted neighbour code to use nl_wait_for_ack | |
| o cb_recvmsgs_ow callback to overwrite internal calls to | |
| nl_recvmsgs_def | |
| o cb_seq_check callback to overwrite default sequence checking | |
| o added nl_parser_param as argument for message parsers including | |
| a callback to be called upon successful parsing of a message. | |
| Removes the requirement of having all parsed messages to be added | |
| to a cache. | |
| o added cb_recv_ow and nl_send_ow callbacks to overwrite internal | |
| calls to nl_recv and nl_send. | |
| Jamal Hadi Salim <hadi@cyberus.ca> | |
| o Linux 2.4 compile fixes |