Initial import
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 <[email protected]>
+	  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 <[email protected]>
+	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 <[email protected]>
+	  o Fix wrong msg_namelen in nl_recv()
+	  o Fix memory leak in flnl_request_put()
+
+	Helmut Schaa <[email protected]>
+	  o Fix for using libnl from within C++
+
+	Patrick McHardy <[email protected]>
+	  o *_alloc_cache(): Only refill cache if handle is provided
+	
+	James Oakley <[email protected]>
+	  o Fix rtnl_link_set_arptype() typo
+
+	Philip Craig <[email protected]>
+	  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 <[email protected]>
+	  o Use $(libdir) instead of $(prefix)/lib for 64bit awesomeness.
+
+	Thomas Graf <[email protected]>
+	  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 <[email protected]>
+	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 <[email protected]>
+	  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 <[email protected]>
+	"Alex V. Myltsev" <[email protected]>
+	  o Makefile fixes
+
+
+Summary of Changes from 1.0-pre4 to 1.0-pre5
+================================================
+	Thomas Graf <[email protected]>
+	  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 <[email protected]>
+	  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 <[email protected]>
+	  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 <[email protected]>
+	  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 <[email protected]>,
+	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 <[email protected]>
+	  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 <[email protected]>
+	  o Uncountable number of changes, rewrite of certain modules,
+	    several major API breakages
+	
+	Petr Gotthard <[email protected]>,
+	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 <[email protected]>
+	  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 <[email protected]>
+	  o arch 64bit printf length modifier fixes
+
+	Baruch Even <[email protected]>,
+	Mediatrix Telecom, inc. <[email protected]>
+	  o address support
+
+Summary of changes from 0.4.3 to 0.4.4
+================================================
+	Thomas Graf <[email protected]>:
+	  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 <[email protected]>:
+	  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 <[email protected]>:
+	  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 <[email protected]>:
+	  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 <[email protected]>
+	  o Linux 2.4 compile fixes