path: root/ChangeLog
diff options
Diffstat (limited to 'ChangeLog')
1 files changed, 333 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..b400de6
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,333 @@
+Summary of Changes from 1.0-pre6 to HEAD
+ Thomas Graf <>
+ 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
+ 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 <>
+ 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 <>
+ o Fix wrong msg_namelen in nl_recv()
+ o Fix memory leak in flnl_request_put()
+ Helmut Schaa <>
+ o Fix for using libnl from within C++
+ Patrick McHardy <>
+ o *_alloc_cache(): Only refill cache if handle is provided
+ James Oakley <>
+ o Fix rtnl_link_set_arptype() typo
+ Philip Craig <>
+ 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 <>
+ o Use $(libdir) instead of $(prefix)/lib for 64bit awesomeness.
+ Thomas Graf <>
+ 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 <>
+ 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 <>
+ 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/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 <>
+ "Alex V. Myltsev" <>
+ o Makefile fixes
+Summary of Changes from 1.0-pre4 to 1.0-pre5
+ Thomas Graf <>
+ 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 <>
+ 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 <>
+ 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 <>
+ 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 <>,
+ 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 <>
+ 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 <>
+ o Uncountable number of changes, rewrite of certain modules,
+ several major API breakages
+ Petr Gotthard <>,
+ 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 <>
+ 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 <>
+ o arch 64bit printf length modifier fixes
+ Baruch Even <>,
+ Mediatrix Telecom, inc. <>
+ o address support
+Summary of changes from 0.4.3 to 0.4.4
+ Thomas Graf <>:
+ 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 <>:
+ 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 <>:
+ 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 and
+ Thomas Graf <>:
+ 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 <>
+ o Linux 2.4 compile fixes