2005-10-05  Mads Martin Joergensen <mmj@suse.de>

	* Trivial netem ccopts

2005-10-04  Jerome Borsboom <j.borsboom@erasmusmc.nl>

	* Fix regression in ip addr (libnetlink) handling

2005-09-21  Stephen Hemminger  <shemminger@osdl.org>

	* Fix uninitialized memory and leaks with valgrind
	  Reported by Redhat

2005-09-01   Mike Frysinger <vapier@gentoo.org>

	* Fix build issues with netem tables (parallel make and HOSTCC)
	
2005-09-01  Stephen Hemminger  <shemminger@osdl.org>

	* Integrate support for DCCP into 'ss' (from acme)
	* Add -batch option to ip.
	* Update to 2.6.14 headers

2005-09-01  Eric Dumazet <dada1@cosmosbay.com>
	
	* Fix lnstat : First column should not be summed

2005-08-16  Stephen Hemminger  <shemminger@osdl.org>

	* Limit ip route flush to 10 rounds.
	* Cleanup ip rule flush error message
	
2005-08-08  Stephen Hemminger  <shemminger@osdl.org>

	* Update to 2.6.13+ kernel headers
	* Fix array overrun in paretonormal
	* Fix ematch to not include dropped fields from skb.
	
2005-07-14  Thomas Graf <tgraf@suug.ch>

	* Make ematch bison/lex build with common flex
	
2005-07-10  Stephen Hemminger  <shemminger@osdl.org>
	
	* Fix Gcc 4.0 build warnings signed/unsigned

2005-06-23  Jamal Hadi Salim <hadi@znyx.com>

	* Fix for options process with ipt

2005-06-23  Thomas Graf <tgraf@suug.ch>
	
	* Add extended matches (nbyte, cmp, u32, meta)
	* Add basic classifier
	* Fix clean/distclean makefile targets
	* update local header file copies
	* IPv4 multipath algorithm selection support
	* cscope Makefile target
	* Fix off-by-one while generating argument vector
	  in batched mode.
	* Assume stdin if no argument is given to -batch

2005-06-22  Stephen Hemminger  <shemminger@osdl.org>

	* Update include files to 2.6.12
	* Add ss support for TCP_CONG

2005-06-13  Steven Whitehouse <steve@chygwyn.com>

	* Decnet doc's update

2005-06-07  Stephen Hemminger  <shemminger@osdl.org>

	* Fix 'ip link' map to handle case where device gets autoloaded
	  by using if_nametoindex as fallback
	* Device indices are unsigned not int.

2005-06-07   Masahide NAKAMURA <nakam@linux-ipv6.org>
	
	* [ip] show timestamp when using '-t' option.
	* [ip] remove duplicated code for expired message of xfrm.
	* [ip] add "deleteall" command for xfrm;
	  "flush" uses kernel's flush interface and
	  "deleteall" uses legacy iproute2's flush feature like
	   getting-and-deleting-for-each.

2005-03-30  Stephen Hemminger  <shemminger@osdl.org>

	* include/linux/netfilter_ipv4/ip_tables.h dont include compiler.h
	  because it isn't needed and not on all systems
	* Update rtnetlink.h and pkt_cls.h to be stripped versions
	  of headers from 2.6.12-rc1

2005-03-30  Jamal Hadi Salim <hadi@znyx.com>

	* Proper verison of iptables headers (from 1.3.1)
	* Set revision file in m_ipt
	* Fix action_util naming in mirred
	* don't call ll_init_map in mirred

2005-03-19  Thomas Graf <tgraf@suug.ch>

	* Warn about wildcard deletions and provide IFA_ADDRESS upon
	  deletions to enforce prefix length validation for IPv4.
	* Fix netlink message alignment when the last routing attribute added
	  has a data length not aligned to RTA_ALIGNTO.
	
2005-03-30  Masahide NAKAMURA <nakam@linux-ipv6.org>
	
	* ipv6 xfrm allocspi and monitor support.
	
2005-03-29  Stephen Hemminger  <shemminger@osdl.org>

	* switch to stack for netem tables

2005-03-18  Stephen Hemminger  <shemminger@osdl.org>

	* add -force option to batch mode
	* handle midline comments in batch mode
	* sum per cpu fields in lnstat correctly

2005-03-14  Stephen Hemminger  <shemminger@osdl.org>

	* cleanup batch mode, allow continuation, comments etc.
	* recode reuse of netlink socket

2005-03-14  Boian Bonev <boian@bonev.com>
	
	* enhancement to batch mode.
	 it does not exit on error, just report it
	 tc reuses the already open netlink socket for subsequent command(s)

2005-03-14  Thomas Graf <tgraf@suug.ch>
	
	* ip link command
	  print NO-CARRIER flag if there is no carrier and the link is up.

2005-03-14  Patrick McHardy <kaber@trash.net>

	* bug: Use USER_HZ where necessary

2005-03-10  Jamal Hadi Salim <hadi@znyx.com>

	* Fix bug with register_target

2005-03-10  Stephen Hemminger  <shemminger@osdl.org>

	* fix pkt_cls.h to have tc_u32_mark
	* update include files to be stripped versions of 2.6.11
	* add documentation about netem distributions [from nistnet]
	* turn off nup in document make [from FC3]
	* don't build with extra debug info (-g) [from FC3]
	
2005-03-10 Nix <nix@esperi.org.uk>

	* make man3 directory
	
2005-03-10 Pasi <Pasi.Eronen@nokia.com>
	
	* add ESP-in-UDP encapsulation

2005-03-10 Thomas Graf <tgraf@suug.ch>
	* [NETEM] Fix off by one
 	* update local header file copies
	* [NEIGH] print number of probes done so far (statistics mode only)
	
2005-03-10 Herbert Xu <herbert@gondor.apana.org.au>
	* Trivial typo in ip help

2005-02-09  Stephen Hemminger  <shemminger@osdl.org>

	* netem distribution data reorganization

2005-02-09  Roland Dreier <roland@topspin.com>

	* ip over infiniband address display

2005-02-09  Jim Gifford <lfs@jg555.com>

	* make install fix for ip/

2005-02-07 Mads Martin Joergensen <mmj@suse.de>
	
	* Don't mix address families when flushing	
	
2005-02-07  Stephen Hemminger  <shemminger@osdl.org>

	* Validate classid is not too large to cause loss of bits.

2005-02-07 Jean-Marc Ranger <jmranger@sympatico.ca>

	* need to call getline() with null for first usage
	* don't overwrite const arg

2005-02-07  Stephen Hemminger  <shemminger@osdl.org>

	* Add experimental distribution

2005-01-18  Yun Mao <maoy@cis.upenn.edu>

	* typo in ss

2005-01-18  Thomas Graf <tgraf@suug.ch>
	
	* tc pedit/action cleanups
	* add addraw_l
	* rtattr_parse cleanups

2005-01-17  Jamal Hadi Salim <hadi@znyx.com>

	* typo in m_mirred
	* add support for pedit

2005-01-13  Jim Gifford <lfs@jg555.com>
	
	* Fix allocation size error in nomal and paretonormal generation
	  programs.

2005-01-12  Masahide Nakamura <nakam@linux-ipv6.org>
	
	* ipmonitor shows IPv6 prefix list notification
	* update to iproute2 xfrm for ipv6	
	
2005-01-12  Stephen Hemminger  <shemminger@osdl.org>

	* Fix compile warnings when building 64bit system since
	  u64 is unsigned long, but format is %llu

2005-01-12  "Catalin(ux aka Dino) BOIE" <util@deuroconsult.ro>

	* Add the possibility to use fwmark in u32 filters
	
2005-01-12  Andi Kleen <ak@suse.de>

	* Add netlink manual page

2004-10-20  Stephen Hemminger  <shemminger@osdl.org>
	
	* Add warning about "ip route nat" no longer supported

2005-01-12  Thomas Graf <tgraf@suug.ch>

	* Tc testsuite

2005-01-12  Jamal Hadi Salim <hadi@znyx.com>

	* Add iptables tc support. This meant borrowing headers
	  from iptables *ugh*

2004-12-08  Jamal Hadi Salim <hadi@znyx.com>

	* Add mirror and redirect actions

2004-10-20  Stephen Hemminger  <shemminger@osdl.org>

	* Don't include <asm/byteorder.h> since then we get dependant on
	  kernel headers on host machine
	* Minor fix for building on old machine without IPPROTO_SCTP

2004-10-19  Harald Welte <laforge@gnumonks.org>

	* Replace rtstat (and ctstat) with new lnstat

2004-10-19  Mads Martin Joergensen <mmj@suse.de>

	* Ip is using the wrong structure in ipaddress.c when showing stats
	* Make sure no buffer overflow in nstat

2004-10-19  Michal <md@lnet.pl>

	* fix scaling in print_rates (for bits)

2004-09-28  Stephen Hemminger  <shemminger@osdl.org>

	* fix build problems with arpd and pthread
	* add pkt_sched.h

2004-09-28  Mike Frysinger <vapier@gentoo.org>
	
	* make man8 directory
	* install ifcfg and rtpr scripts

2004-09-28  Andreas Haumer <andreas@xss.co.at>

	* make install symlink fix.

2004-09-28  Masahide Nakamura <nakam@linux-ipv6.org>

	* ICMP/ICMPv6's type and code in IPsec selector.
	* fixes `ip xfrm`'s algorithm key when using hexadecimal
	* support 'ip xfrm' protocol types
	* flush message types for XFRM's policy/state


2004-09-01  Stephen Hemminger  <shemminger@osdl.org>

	* Fix ip command to not crash when interface name is too long.
	  always use strncpy(.., IFNAMSIZ)

2004-08-31  Stephen Hemminger  <shemminger@osdl.org>

	* Add gact documentation from jamal
	* Chang more arguments to rtnetlink API const
	* Drop dead queuing disciplines
	* Handle qdisc without xstats in core rather than
	  putting stub's everywhere
	* Add requeue to tc_stats and handle new/old ABI issues

2004-08-30  Stephen Hemminger  <shemminger@osdl.org>

	* Make clean and install changes for man pages
	* Patch from jamal to support gact
	* Add support for loading distributions to netem
	

2004-08-23  Stephen Hemminger  <shemminger@osdl.org>

	* Update from jamal for all the parts that got broken in the
	  last classification patch.
	* Hfsc/sc patch from patrick

2004-08-13  Stephen Hemminger  <shemminger@osdl.org>

	* Add jamal's tc extensions for classification
	* Get rid of old Patches/ directory for tcp_diag module
	* Make get_rate table based.

2004-08-11  Stephen Hemminger  <shemminger@osdl.org>

	* Add xfrm message formatting from
	  Masahide Nakamura <nakam@linux-ipv6.org>

2004-08-09  Stephen Hemminger  <shemminger@osdl.org>

	* Fix netem scheduler to handle case where psched us != real us

	* Remove configuration for everything that can depend on 
	  extracted kernel headers
	* Add kernel headers required to include/linux

2004-08-04  Stephen Hemminger  <shemminger@osdl.org>

	* Get rid of old tcp_diag module, it is part of kernel.

	* Add some kernel include files back (netlink, tcp_diag, pkt_sched)

2004-07-30  Stephen Hemminger  <shemminger@osdl.org>

	* Make ip xfrm stuff config option since it doesn't exist on 2.4

	* HFSC doesn't exist on older 2.4 kernels so make it configurable

	* HTB API changed and won't build with mismatched version.
	  Rather than sticking user with a build error, just don't
	  build it in on mismatch.

	* Change configure script to make sure netem is the correct
	  version. I changed the structure def. a couple of times before
	  settling on the final API

2004-07-16  Stephen Hemminger  <shemminger@osdl.org>

	* Add htb mpu support 
	http://luxik.cdi.cz/~devik/qos/htb/v3/htb_tc_overhead.diff
	* Three small xfrm updates

2004-07-07  Stephen Hemminger  <shemminger@osdl.org>

	* Fix if_ether.h to fix arpd build
	* Add hfsc scheduler support
	* Add ip xfrm support
	* Add add jitter (instead of rate) to netem scheduler

2004-07-02  Stephen Hemminger  <shemminger@osdl.org>

	* use compile to test for ATM libraries
	* put TC layered scheduler hooks in /usr/lib/tc as shared lib
	  before it looked in standard search path (/lib;/usr/lib;...)
	  which seems out of place.
	* build netem as shared library (more for testing/example)
	* build ATM as shared library since libatm may be on build
	  machine but not on deployment machine
	* fix make install to not install SCCS directories

2004-07-01  Stephen Hemminger  <shemminger@osdl.org>

	* add more link options to ip command (from Mark Smith
	* add rate and duplicate arguments to tc command
	* add -iec flag for tc printout
	* rename delay scheduler to netem

2004-06-25  Stephen Hemminger  <shemminger@osdl.org>

	* Add loss parameter to delay
	* Rename delay qdisc to netsim
	* Add autoconfiguration by building a Config file
	  and using it.

2004-06-09  Stephen Hemminger  <shemminger@osdl.org>

	* Report rates in K=1000 (requested by several people)
	* Add GNU long style options
	* For HTB use get_hz to pick up value of system HZ at runtime
	* Delete unused funcs.

2004-06-08  Stephen Hemminger  <shemminger@osdl.org>

	* Cleanup ss
	     - use const char and local functions where possible
	* Add man pages from SuSe
	* SuSE patches
	     - path to db4.1
	     - don't hardcode path to /tmp in ifstat
	       Alternat fix: was to use TMPDIR
	     - handle non-root user calling ip route flush going into
	       an infinite loop.
	       Alternate fix: was to timeout if route table doesn't empty.
	* Try and get rid of dependency on kernel include files
	  Get rid of having private glibc-include headers
	
2004-06-07  Stephen Hemminger  <shemminger@osdl.org>

	* Import patches that make sense from Fedora Core 2
		- iproute2-2.4.7-hex
		     print fwmark in hex
		- iproute2-2.4.7-netlink
		     handle getting right netlink mesg back
		- iproute2-2.4.7-htb3-tc
		     add HTB scheduler
		- iproute2-2.4.7-default
		     add entry default to rttable
                    
2004-06-04  Stephen Hemminger  <shemminger@osdl.org>

	* Add support for vegas info to ss

2004-06-02  Stephen Hemminger  <shemminger@osdl.org>

	* Use const char in utility routines where appropriate
	* Rearrange include files so can build with standard headers
	* For "tc qdisc ls" see the default queuing discpline "pfifo_fast"
	  and understand it
	* Get rid of private defintions of network headers which existed
	  only to handle old glibc

2004-04-15  Stephen Hemminger  <shemminger@osdl.org>

	* Add the delay (network simulation scheduler)

2004-04-15  Stephen Hemminger  <shemminger@osdl.org>

	* Starting point baseline based on iproute2-2.4.7-ss020116-try

