You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
337 lines
14 KiB
337 lines
14 KiB
4 months ago
|
ChangeLog discontinued, git history can be found here:
|
||
|
http://git.infradead.org/users/tgr/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
|