Home | History | Annotate | Download | only in libnl
      1 ChangeLog discontinued, git history can be found here:
      2 http://git.kernel.org/?p=libs/netlink/libnl.git
      3 
      4 Summary of Changes from 1.0-pre6 to 1.0-pre7
      5 ================================================
      6 	Thomas Graf <tgraf (a] suug.ch>
      7 	  o Generic netlink support
      8 	  o Route Addition/Deletion
      9 	  o Added nl_cache_subset()
     10 	  o Have nl_object_clone() make real clones without
     11 	    sharing any data.
     12 	  o Remove old nl_object_alloc() not based on a object
     13 	    operations to avoid bugs due to missing init.
     14 	  o Added nl-list-caches utility
     15 	  o Removed nlmsg_build_no_hdr(), duplicate
     16 	  o Reworked message interface
     17 	  o Fixed nlmsg_put() and genlmsg_put() to correctly reserve
     18 	    tail room for user specific headers.
     19 	  o Added nl_cache_move()
     20 	  o Renamed nl_cache_delete() to nl_cache_remove() (no API break)
     21 	  o Fixed reference counting while objects stay in caches.
     22 	  o Object marking
     23 	  o Moved attribute mask for objects into generic structure
     24 	  o nl-list-caches: List available dump procedures
     25 	  o Use PAGE_SIZE as initial buffer size when reading from
     26 	    netlink socket
     27 	  o Double buffer size when recv() returns MSG_TRUNC
     28 	  o Replaced filter object operation with new compare operation
     29 	    capable of listing differences between two objects
     30 	  o Added nl_object_identical() to check if two objects are
     31 	    identical from a uniqueness point of view
     32 	  o Added nl_object_diff() returning a bitmask of differences in
     33 	    attributes
     34 	  o Added nl_object_attr_list() generating a list of attribute
     35 	    name the object has assigned 
     36 	  o Cache updates based on event notifications, code based on
     37 	    Patrick McHardy's patches
     38 	  o Cache Manager
     39 	  o Added NL_AUTO_PID, NL_AUTO_SEQ for convenience
     40 	  o Disable MSG_PEEK by default and provide nl_socket_enable_msg_peek()
     41 	  o Fixed nl_recvmsgs() to return 0 when interrupted via NL_STOP or
     42 	    NL_SKIP
     43 	  o Fixed nl_recvmsgs() to stop reading after parsing if not in the
     44 	    middle of a multipart message.
     45 	  o Fixed nl_recvmsgs() to not stop after receving an ACK
     46 	  o Fixed nl_recvmsgs() to not blindly discard remaining messages
     47 	    if a NLMSG_DONE message is received.
     48 	
     49 	Petr Gotthard <petr.gotthard (a] siemens.com>
     50 	Siemens AG Oesterreich
     51 	  o Fix u32 to properly handle multiple keys
     52 	  o rtnl_htb_set_(r|c)buffer()
     53 	  o Fixed MTU handling in HTB class, problem pointed out
     54 	    by Edouard Thuleau
     55 	
     56 	Zilvinas Valinskas <zilvinas (a] wilibox.com>
     57 	  o Fix wrong msg_namelen in nl_recv()
     58 	  o Fix memory leak in flnl_request_put()
     59 
     60 	Helmut Schaa <hschaa (a] suse.de>
     61 	  o Fix for using libnl from within C++
     62 
     63 	Patrick McHardy <kaber (a] trash.net>
     64 	  o *_alloc_cache(): Only refill cache if handle is provided
     65 	
     66 	James Oakley <jfunk (a] funktronics.ca>
     67 	  o Fix rtnl_link_set_arptype() typo
     68 
     69 	Philip Craig <philipc (a] snapgear.com>
     70 	  o Change address family type from char to int
     71 	  o Fix the error handling when the build fails.
     72 	  o add nl_cache_mngr_get_fd()
     73 	  o add netfilter support
     74 	  o add netfilter conntrack support
     75 	  o add netfilter log support
     76 
     77 Summary of Changes from 1.0-pre5 to 1.0-pre6
     78 ================================================
     79 	Christopher Aillon <caillon (a] redhat.com>
     80 	  o Use $(libdir) instead of $(prefix)/lib for 64bit awesomeness.
     81 
     82 	Thomas Graf <tgraf (a] suug.ch>
     83 	  o Extend nl_msg to include source address, destination address
     84 	    and the protocol being used.
     85 	  o Make nl_send*() take a nl_msg instead of a nlmsghdr (API BREAK)
     86 	  o Change callbacks to take a nl_msg instead of source address
     87 	    and nlmsghdr (API BREAK)
     88 	  o caches must specify the protocol they're hooked up from now on
     89 	    if they intend to be associated with message types.
     90 	  o cache_mngt_associate now takes the protocol besides the message
     91 	    type to allow for multiple protocols to be supported (API BREAK)
     92 	  o overwrite destination address in nl_send() when specified in the
     93 	    message itself, allows for unbound addressing.
     94 	  o Support for netlink based fib_lookup()
     95 	  o Documentation fixes
     96 	  o Fix double nlmsg_free() in nl_recvmsgs() while receiving
     97 	    a multipart message and the read was interrupted.
     98 	  o Change cache operations to store names for message types.
     99 	  o Provide interface to convert message type to character string.
    100 	  o Add dp_dump_msgtype to prefix each dumped element with a
    101 	    pretty printed message type.
    102 	  o netlink fib lookup support
    103 	  o nl_recvmsgs() debugging
    104 	  o use nl_cachemngt_type2name() when pretty printing netlink header
    105 	  o Routing protocol translations.
    106 	  o Routing metric translations.
    107 	  o Revised route dumping
    108 	  o Nexthop flag translations.
    109 	  o Add support for IFF_DORMANT
    110 
    111 	Petr Gotthard <petr.gotthard (a] siemens.com>
    112 	Siemens AG Oesterreich
    113 	  o Fix access to obj after freeing it
    114 	  o Fix u32 selector access after realloc() 
    115 	  o Fix missing out-of-memory error handling in various places
    116 	  o Enhance nl-monitor to have group selection selectable and
    117 	    demonstrate usage of select()
    118 	  o Don't ignore IFF_RUNNING any longer
    119 	  o fw classifier support
    120 	
    121 	Patrick McHardy <kaber (a] trash.net>
    122 	  o Fix conflicting types for __u64
    123 	  o Fix printf format string warnings
    124 	  o Fix object cloning
    125 	  o Deal with structure padding in nl_object_clone
    126 	  o Fix nl_addr leak
    127 	  o Set ce_msgtype in all parsed objects
    128 	  o Fix addr flag filter
    129 	  o Fix RTNLGRP definitions (was based on broken kernel version)
    130 	  o Export nl_get_errno()
    131 	  o Add function to get/set peer pid
    132 	  o Add IFF_LOWER_UP
    133 	  o Add/export some missing accessor functions
    134 	  o print /0 prefix in nl_addr2str()
    135 	  o Fix invalid free in nl_addr_parse for AF_UNSPEC addresses
    136 	  o Use __str2flags instead of __str2type in rtnl_link_str2flags()
    137 	  o Make sure object and filter types match in nl_object_match()
    138 	  o Add support for credential passing over netlink sockets (API BREAK)
    139 	  o Add support for custom dump callbacks
    140 	  o Add NL_DUMP_ENV format
    141 
    142 	Michael Biebl <biebl (a] teco.edu>
    143 	"Alex V. Myltsev" <avm (a] altlinux.ru>
    144 	  o Makefile fixes
    145 
    146 
    147 Summary of Changes from 1.0-pre4 to 1.0-pre5
    148 ================================================
    149 	Thomas Graf <tgraf (a] suug.ch>
    150 	  o Use minimized local copies for <linux/if.h>, <linux/if_arp.h>,
    151 	    and <linux/if_ether.h> to avoid compile troubles with
    152 	    applications including <net/if*.h>
    153 	    Reported by Christopher Aillon.
    154 
    155 Summary of Changes from 1.0-pre3 to 1.0-pre4
    156 ================================================
    157 	Thomas Graf <tgraf (a] suug.ch>
    158 	  o Fix wrong rtnl_addr_set_prefixlen() external declaration,
    159 	    reported by Dan Williams.
    160 	  o Fix nl_addr_parse() to not change the original string
    161 	    for prefixes.
    162 	  o Do not build documentation per default, but have the user
    163 	    issue 'make gendoc'
    164 	  o Assume neighbours to be permanent, set NUD_PERMANENT if not
    165 	    specified otherwise.
    166 
    167 Summary of Changes from 1.0-pre2 to 1.0-pre3
    168 ================================================
    169 	Thomas Graf <tgraf (a] suug.ch>
    170 	  o Fix SFQ parser to allocate qdisc options.
    171 	  o Fix rule statistics dumping to not call itself.
    172 	  o Complete Netem qdisc interface.
    173 	  o Add rtnl_*_put() and rtnl_*_free() to increase readability.
    174 	  o Cleanup of nl-* tools
    175 	  o Fix inclusion guards of route/neightbl.h
    176 	  o Fix nl_connect() to only modify rx/tx socket buffers if not
    177 	    already modified by the user.
    178 	  o Fix wrong nl_handle_alloc() prototype.
    179 	  o Fix typo in route/addr.c causing label to be marked as
    180 	    local address.
    181 	  o Use ~0UL as default prefix length instead of 0.
    182 	  o Fix neighbour message parser to correctly store core.
    183 	    attributes and provide them again.
    184 	  o Fix neighbour message parser to correctly guess address family.
    185 	    to make it compatible with nl_addr_parse() and ether llc
    186 	    addresses.
    187 	  o Add rtnl_route_table2str(), rtnl_route_str2table().
    188 	  o Add nl_cache_nitems_filter() to find out if a filter produces
    189 	    any matches.
    190 	  o Remove rtnl_rule_set_(dst|src)_str() (obsolete).
    191 	  o Remove scope and protocol field of routing rule.
    192 	  o Complete routing rules module.
    193 	  o Move realms translations from route to rtnl module.
    194 
    195 Summary of Changes from 1.0-pre1 to 1.0-pre2
    196 ================================================
    197 	Thomas Graf <tgraf (a] suug.ch>
    198 	  o More API documentation
    199 	  o Added flags argument to rtnl_addr_(add|build_add_request)().
    200 	  o Added rtnl_addr_(set|get)_multicast().
    201 	  o Moved scope translations routines from route/route.c to
    202 	    route/rtnl.c, required by other modules as well.
    203 	  o Removed old rtattr bits from rtnetlink-kernel.h
    204 	  o Customized libnl.css for doxygen documentation
    205 	  o Removed non-reentrant translation routines, only bloating
    206 	    the code and too risky.
    207 	  o Fixed wrong version number from 1.0-pre1.
    208 	  o Reenabled unfinished policer module.
    209 	  o Reworked TBF module, automatic caluclation of transmit times,
    210 	    limit setable via latency, automatic cell size calculation,
    211 	    options TLV generation. (untested)
    212 	  o Renamed nl_xmittime() to rtnl_tc_calc_txtime().
    213 	  o Renamde nl_build_rtable() to rtnl_tc_build_rate_table()
    214 
    215 	Petr Gotthard <petr.gotthard (a] siemens.com>,
    216 	Siemens AG Oesterreich
    217 	  o Fix symlinks to libnl library files to be moveable
    218 	  o Fix extern struct prototypes meant to be static.
    219 	  o Add empty install target to src/Makefile
    220 
    221 	Simon Stelling <blubb (a] gentoo.org>
    222 	  o Use LIBDIR instead of $(prefix)/lib for users to alllow librariers
    223 	    into $(prefix)/lib64.
    224 
    225 Summary of Changes from 0.5.0 to 1.0-pre1
    226 ================================================
    227 	Thomas Graf <tgraf (a] suug.ch>
    228 	  o Uncountable number of changes, rewrite of certain modules,
    229 	    several major API breakages
    230 	
    231 	Petr Gotthard <petr.gotthard (a] siemens.com>,
    232 	Siemens AG Oesterreich
    233 	  o added class_build, rtnl_class_build_add_request, rtnl_class_add
    234 	  o added HTB (Hierachical Token Bucket) class support
    235 	  o added nl_xmittime, nl_build_rtable
    236 	  o added nl_data_append to realloc a nl_data structure
    237 	  o added rtnl_rcopy_ratespec as reverse to rtnl_copy_ratespec
    238 	  o fixed byte order conversion of rtnl_filter.protocol
    239 	  o SuSE and Fedora Linux compile fixes
    240 	  o fixed u32 classifier support
    241 	  o added rtnl_u32_set_handle, rtnl_u32_set_classid, rtnl_u32_set_flags
    242 	    and several rtnl_u32_add_key_... operations to u32 classifier
    243 
    244 Summary of Changes from 0.4.4 to 0.5.0
    245 ================================================
    246 	Thomas Graf <tgraf (a] suug.ch>
    247 	  o API documentation
    248 	  o nl_cache_filter to manually filter on a object
    249 	  o partial routing support
    250 	  o routing rules support
    251 	  o Propely set address family when setting addresses
    252 	  o debug flag and some rare messages, more to come
    253 	  o make error mesage verboseness configureable
    254 	  o tc fixes to wait for ack
    255 	  o cleanup and adaption of address code to latest internal API
    256 	  o various cleanups
    257 	  o dozens of API breakages (better now than later)
    258 
    259 	Daniel Hottinger <hotti (a] hotti.ch>
    260 	  o arch 64bit printf length modifier fixes
    261 
    262 	Baruch Even <baruch (a] ev-en.org>,
    263 	Mediatrix Telecom, inc. <ericb (a] mediatrix.com>
    264 	  o address support
    265 
    266 Summary of changes from 0.4.3 to 0.4.4
    267 ================================================
    268 	Thomas Graf <tgraf (a] suug.ch>:
    269 	  o overall cleanups for better code quality
    270 	  o replace dump_(brief|full|with_stats) ops with
    271 	    dump[NL_DUMP_MAX] array to allow further additions without
    272 	    breaking the ABI.
    273 	  o add of send_ack callback, called whenever when oppenent
    274 	    asks for an ACK.
    275 	  o make nl_parse_rtattr initialize the tb buffer like in the
    276 	    kernel, caller must no longer take care of it.
    277 	  o remove nl_addrnattr (obsolete)
    278 	  o fixed nl_msg_append_raw to correctly calculate length
    279 	    for raw data not aligned to NLMSG_ALIGN
    280 	  o fix memory leak in nl_recv in case of errors
    281 	  o correctly check sequence numbers if more than one message
    282 	    was sent out before the answer is being received.
    283 	  o add workaround for buggy netlink applications not properly
    284 	    setting NLM_F_MULTI.
    285 
    286 Summary of changes from 0.4.2 to 0.4.3
    287 ================================================
    288 
    289 	Thomas Graf <tgraf (a] suug.ch>:
    290 	  o use parser_param in nl_cache_parse
    291 	  o EGP: dump nfilters attribute
    292 	  o allow retrieving of filters attached to classes via
    293 	    FILTER_CACHE_PARENT(C) cache argument
    294 	  o filter message building API
    295 
    296 Summary of changes from 0.4.1 to 0.4.2
    297 ================================================
    298 
    299 	Baruch Even <baruch (a] ev-en.org>:
    300 	  o memory leak fix in nl_parse_rtattr
    301 	  o reset padding to 0 when appending raw data to a nl_msg
    302 	  o avoid overwriting nlmsg ptr when buffer extending fails
    303 	  o typo fixes
    304 	  o create symlinks libnl.so.0 and libnl.so
    305 	
    306 	Thomas Graf <tgraf (a] suug.ch>:
    307 	  o EGP classifier support
    308 	  o avoid null pointer in printf call
    309 	  o added nl_cache_parse to put nl_msg's into a cache
    310 	  o added rtnl_filter_build to build a nl_msg filter message
    311 	  o correctly install header files
    312 	  o nl_msg_payload/nl_msg_payloadlen to access nl_msg payload
    313 	  o nl_parse_nested macro to simplify nested TLV parsing
    314 	  o NL_ERROR_ASSERT compile flag to assert(0) on errors
    315 	  o rta alignment fix in nl_msg_append_tlv
    316 	  o added nl_msg_parse_rtattr as shortcut for nl_parse_rtattr
    317 	    for nl_msg API
    318 	  o added nl_parse_nested for nested TLVs
    319 	  o added RTA_ARRAY_ELEMS macro to calculate array length
    320 	    for array TLVs
    321 	  o added nl_wait_for_ack to wait for the next ack
    322 	  o added rtnl_link_build_change_request(...)
    323 	  o added rtnl_neigh_build_*_request
    324 	  o converted neighbour code to use nl_wait_for_ack
    325 	  o cb_recvmsgs_ow callback to overwrite internal calls to
    326 	    nl_recvmsgs_def
    327 	  o cb_seq_check callback to overwrite default sequence checking
    328 	  o added nl_parser_param as argument for message parsers including
    329 	    a callback to be called upon successful parsing of a message.
    330 	    Removes the requirement of having all parsed messages to be added
    331 	    to a cache.
    332 	  o added cb_recv_ow and nl_send_ow callbacks to overwrite internal
    333 	    calls to nl_recv and nl_send.
    334 
    335 	Jamal Hadi Salim <hadi (a] cyberus.ca>
    336 	  o Linux 2.4 compile fixes
    337