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

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

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@linux.site>

	* 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

