123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336 |
- 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
|