forked from thom311/libnl
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 44d3624
Showing
188 changed files
with
44,556 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
# | ||
# Makefile | ||
# | ||
# This library is free software; you can redistribute it and/or | ||
# modify it under the terms of the GNU Lesser General Public | ||
# License as published by the Free Software Foundation version 2.1 | ||
# of the License. | ||
# | ||
# Copyright (c) 2003-2006 Thomas Graf <[email protected]> | ||
# | ||
|
||
ifeq ($(shell [ ! -r Makefile.opts ] && echo 1),) | ||
include Makefile.opts | ||
endif | ||
|
||
SUBDIRS := lib include doc src tests | ||
.PHONY: all clean distclean install gendoc $(SUBDIRS) | ||
|
||
all: Makefile.opts | ||
@for dir in $(SUBDIRS); do \ | ||
echo "Entering $$dir" && $(MAKE) -C $$dir || exit $$?; \ | ||
done | ||
|
||
clean: Makefile.opts | ||
rm -f cscope.* | ||
@for dir in $(SUBDIRS); do \ | ||
echo "Entering $$dir" && $(MAKE) -C $$dir clean || exit $$?; \ | ||
done | ||
|
||
distclean: clean | ||
@$(RM) -rf Makefile.opts autom4te.cache config.log config.status | ||
@for dir in $(SUBDIRS); do \ | ||
echo "Entering $$dir" && $(MAKE) -C $$dir distclean || exit $$?; \ | ||
done | ||
|
||
install: Makefile.opts | ||
@for dir in $(SUBDIRS); do \ | ||
echo "Entering $$dir" && cd $$dir && $(MAKE) install && cd ..; \ | ||
done | ||
mkdir -p $(DESTDIR)$(libdir)/pkgconfig/ | ||
install -m 0644 libnl-1.pc $(DESTDIR)$(libdir)/pkgconfig/ | ||
|
||
gendoc: | ||
$(MAKE) -C doc gendoc | ||
|
||
show: Makefile.opts | ||
@echo "CC: $(CC)" | ||
@echo "RM: $(RM)" | ||
@echo "CFLAGS: $(CFLAGS)" | ||
@echo "DEPFLAGS: $(DEPFLAGS)" | ||
@echo "LDFLAGS: $(LDFLAGS)" | ||
@echo "DESTDIR: $(DESTDIR)" | ||
@echo "prefix: $(prefix)" | ||
@echo "libdir: $(libdir)" | ||
@echo "includedir: $(includedir)" | ||
|
||
cscope: | ||
cscope -b -q -R -Iinclude -slib -ssrc | ||
|
||
|
||
$(SUBDIRS): | ||
cd $@ && $(MAKE) | ||
|
||
-include Makefile.rules |
Oops, something went wrong.