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