2009-03-09  John Dallaway  <john@dallaway.org.uk>

	* cdl/net.cdl: Reference test executable filenames for compatibility
	with the eCos Configuration Tool.

2008-12-18  Jonathan Larmour  <jifl@eCosCentric.com>

	* cdl/net.cdl (CYGPKG_NET_DHCP_THREAD_STACK_SIZE): Incorporate
	change of 2004-10-21 into merged change of 2007-01-07 (which
	increases default DHCP mgt thread stack size by 1024 bytes).

2008-06-06  Jonathan Larmour  <jifl@eCosCentric.com>

	* tests/ping_test.c (net_test): Report NA when no interfaces
	available or anything else can be pinged.

2008-05-07  John Dallaway  <jld@ecoscentric.com>

	Eliminate link to generic ethernet support documentation which
	may not be present in all builds.

2008-04-13  Andrew Lunn  <andrew.lunn@ascom.ch>

	* tests/server_test.c (server_test): Fix typo with atoi which
	should really be ultoa(). Cleanup to use diag_sprintf() which is
	always available. Bug reported by Grant Edwards.

2007-12-21  Oyvind Harboe <oyvind.harboe@zylin.com>

	* src/tftp_client.c, include/arpa/tftp.h, cdl/net.cdl: tftp
	blksize negotiation support. >512 byte block sizes improves tftp
	GET performance.  Switched to memcpy(), which matters for larger
	blocks.
	 
2007-09-20  Nick Garnett  <nickg@ecoscentric.com>

        This change set is meant to fix a problem with DHCP. If the server
	refuses a conventional lease renewal (either because it has given
	the address away to someone else, or we have moved to a different
	network) then the client code must go back to the start and
	perform a full DISCOVER/OFFER/REQUEST/ACK cycle. Previously this
	could only be done by bringing down all interfaces so that
	broadcasts would be sent to, and replies received from, the
	correct interface. This would interfere with network traffic on
	other interfaces.

	To solve this problem we use a "broadcast proxy" address. This is
	a unicast address to which the DHCP code sends its DHCP broadcast
	packets. These are converted in the network stack into proper
	broadcasts after the necessary routing and interface binding has
	been done using the unicast address. This is combined with various
	changes throughout the DHCP and network initialization code to
	avoid taking interfaces down unnecessarily.

	Note that the original eCos DHCP code was designed to be simple
	and straightforward, and assumed that DHCP servers operated
	correctly. Changing this code to fix this problem has taken it
	outside its comfort zone. As a result this code is somewhat
	fragile. Also, while a number of configurations have been tested,
	not all have, and there are likely to be situations in which it
	does not work. So beware.

	
	* src/network_support.c: Add ethX_initialized variables to
	indicate whether init_net() has been called on the inteface. We
	don't want to do this unnecessarily lest it disturb traffic.
	(init_all_network_interfaces): Add extra tests to avoid redoing
	DHCP discovery or bringing interfaces up and down unnecessarily.

	* doc/tcpip.sgml: 
	* include/dhcp.h: Add declaration and documentation of
	dhcp_down(). Added extra diagnostics.

	* src/dhcp_support.c (dhcp_down): Add this function to take any
	unbound DHCP interfaced down.
	(dhcp_mgt_entry): Use dhcp_down() in place of dhcp_halt().

	* src/dhcp_prot.c (bring_half_up): Move creation of route to
	init_broadcast_proxy(). Avoid bringing up interface if it is
	already up.
	(init_broadcast_proxy, delete_broadcast_proxy): Add these
	functions to manage broadcast proxy and the associated route.
	(do_dhcp): Add use of broadcast proxy.
	(do_dhcp_down_net): Modified to disabled broadcast proxy and to
	remove interface address, but not bring interface fully down.

	* src/bootp_support.c (do_bootp): 
	* include/network.h: Add interface name argument to declaration of
	cyg_route_reinit().

2007-09-04  Jonathan Larmour  <jifl@eCosCentric.com>

	* src/dhcp_support.c (dhcp_bind): Do not try to bind DHCP on
	an interface that never had DHCP started on it.
	Fix for bug #1000435.

2007-06-06  John Dallaway  <jld@ecoscentric.com>

	* tests/ping_test.c: Need CYGOPT_NET_IPV6_ROUTING_THREAD for
	IPv6 component of test.

2007-01-15  Gary Thomas  <gary@mlbassoc.com>

	* src/dhcp_support.c (dhcp_mgt_entry): Better handling when restarting
	interfaces after expired lease(s).  Keep trying in case the DHCP server
	has gone down.

2007-01-10  Jonathan Larmour  <jifl@eCosCentric.com>

	* tests/host_echo.c: Need <string.h> for memset etc.
	* tests/nc6_test_master.h: Need <stdlib.h> on non-eCos.
	(do_tcp_test): ticks_per_second not defined on non-eCos builds.
	Absolute delay not that important, so just do it in ticks.
	* tests/nc6_test_slave.c: Need <stdlib.h> on non-eCos.
	* tests/nc_test_slave.c: Ditto.
	* tests/tcp_sink.c: Need <string.h> for memcpy, memset etc.
	* tests/tcp_source.c: Ditto.

2007-01-09  Jonathan Larmour  <jifl@eCosCentric.com>

	* doc/manpages/net/getaddrinfo.3: Remove obsolete comment about
	not being thread-safe.

2007-01-07  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/dhcp_support.c: 
	* cdl/net.cdl:
	Added CDL to control the size of the stack used by
	the DHCP management thread.

2006-12-18  Sergei Gavrikov  <sg@sgs.gomel.by>

	* tests/ga_server_test.c: Updated flags argument in call of
	getnameinfo().

2006-05-25  Andrew Lunn  <andrew.lunn@ascom.ch>

	* cdl/net.cdl: Fix calculation of TFTPD stack
	size. CYGNUM_HAL_STACK_SIZE_TYPICAL is not a CDL variable, it is a
	#define, so we need to ensure that the compiler evaluates the
	expression, not the CDL library.
  
2006-03-26  Andrew Lunn  <andrew.lunn@ascom.ch>

	* tests/nc_test_framework.h: 
	* tests/nc_test_master.c: Fix the compiler warnings when
	building for Linux.

2006-02-27	Jay Foster   <jay@systech.com>

	* src/dhcp_prot.c: Updated set_fixed_tag(), set_variable_tag(),
	and unset_tag() to handle TAG_PAD bytes properly.  Also updated
	set_fixed_tag() and set_variable_tag() to permit setting options that
	already exist, but are a different size, rather than asserting.
	This corrects problems interacting with mis-behaving DHCP servers
	that reply with modified versions of a DHCP option sent by the eCos
	client, such as TAG_HOST_NAME.

2005-10-24  Andrew Lunn  <andrew.lunn@ascom.ch>

	* include/network.h: Include <string.h> to stop warnings.

2005-10-23  Andrew Lunn  <andrew.lunn@ascom.ch>

	* test/nc*_test_master.c: gettimeofday is now in POSIX

2005-10-13  Andrew Lunn  <andrew.lunn@ascom.ch>

	* docs/manpages/sys/socketpair.2: Removed this man page since
	socketpair(2) is not supported.
 
2005-10-06  John Dallaway  <jld@ecoscentric.com>

	* doc/ipsec.sgml: Migrate to CYGPKG_NET_IPSEC_LIBIPSEC.

2005-09-16  Andrew Lunn  <andrew.lunn@ascom.ch>

	* tests/server_test.c: use socklen_t.
	* tests/nc_test_slave.c: use socklen_t and diag_print type fixes
	to stop warnings with gcc4.x
	* tests/tcp_echo.c: use socklen_t and diag_print type fixes to
	stop warnings with gcc4.x
	* tests/ping_test.c: use socklen_t.
	* tests/dhcp_test.c: use socklen_t.
	
2005-09-05  David Vrabel  <dvrabel@arcom.com>
            Andrew Lunn   <andrew.lunn@ascom.ch>
	
	* src/tftp_client.c, include/tftp_support.h: const parameters
	where appropriate.
	* doc/tcpip.sgml: Update for the above.
 
2005-09-02  Jonathan Larmour  <jifl@eCosCentric.com>

	* cdl/net.cdl (CYGPKG_NET_TFTPD_THREAD_STACK_SIZE): Default value
	needs to be quoted to stop it being evaluated by CDL itself.

2005-08-22  Jonathan Larmour  <jifl@eCosCentric.com>

	* tests/ping_test.c (net_test): Output NA message if eth0/eth1
	are configured for manual setup.

2005-08-11  Nick Garnett  <nickg@ecoscentric.com>

	* src/network_support.c: 
	* src/dhcp_prot.c:
	Adjusted to work correctly with a system clock rate other than
	100Hz.

	* src/tftp_server.c: Fixed header file ordering problem.

	* tests/bridge.c: 
	* tests/dhcp_test.c: 
	* tests/dhcp_test2.c: 
	* tests/flood.c: 
	* tests/nc6_test_master.c: 
	* tests/nc6_test_slave.c: 
	* tests/nc_test_master.c: 
	* tests/nc_test_slave.c: 
	* tests/ping_lo_test.c: 
	* tests/ping_test.c: 
	* tests/tcp_echo.c: 
	* tests/tftp_server_test.c: 
	Adjusted these tests to work correctly with a system clock rate
	other than 100Hz.
	
2005-08-02  Andrew Lunn  <andrew.lunn@ascom.ch>

	* tests/ping_lo_test.c (ping_host): Use socklen_t to avoid
	compiler warnings.
	* tests/tcp_lo_test.c (server): Ditto	
	* tests/udp_lo_test.c (server): Ditto
	* tests/tcp_lo_select.c (server): Ditto

2005-07-29  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/tftp_dummy_file.c: unsigned char when needed to prevent warnings.
	* src/tftp_server.c: fromlen in recvfrom should be of socklen_t.
	* src/tftp_client.c: fromlen in recvfrom should be of socklen_t.
	* src/dhcp_prot.c (do_dhcp): Casts etc so that it compiles cleanly
	with gcc4.0

2005-06-03  Jonathan Larmour  <jifl@eCosCentric.com>

	* cdl/net.cdl: Enabled CYGPKG_NET_INET always. Things just don't
	build nevermind work without it, and there's no real context for it
	to be disabled in the eCos version of this stack.

2005-03-27  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/tftp_server.c (tftpd_server): Fixed compiler warning about
	type of argument to printf.
	
2004-11-19  John Dallaway  <jld@ecoscentric.com>

	* tests/ping_test.c: Call CYG_TEST_INIT() and report failure if
	no packets are received from the server.
	* cdl/net.cdl: Build ping_test.c always.

2004-11-05  Nick Garnett  <nickg@ecoscentric.com>

	* src/network_support.c (init_all_network_interfaces): Obey
	CYGPKG_NET_FORCE_SERIAL_CONSOLE in this function. The way in which
	the ethernet interface is brought up and down during BOOTP/DHCP
	processing means that it is unwise to allow diag_printf()s to go
	via a network connection.

2004-10-21  Nick Garnett  <nickg@ecoscentric.com>

	* src/dhcp_support.c (STACK_SIZE): Increased by 1k, original stack
 	size was a little too small.

2004-10-04  Andrew Lunn  <andrew.lunn@ascom.ch>

	* include/tftp_support.h: Use the definitions of O_RDONLY and
	O_WRONLY from fcntl.h instead of defining them ourselves. 

2004-06-17  Oyvind Harboe  <oyvind.harboe@zylin.com>

	* src/tftp_server.c:
	* cdl/net.cdl: Made tftp server stack size configurable via cdl.

2004-06-17  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/ifaddrs.c (getifaddrs): Return destination address for P2P
	devices. Also don't bother trying to get the broadcast address for
	interfaces that don't have a valid broadcast address. Inspired by
	Kelvin Lawson

2004-06-08  Andrew Lunn  <andrew.lunn@ascom.ch>

	* include/network.h: Added a __THROW to perror so that it matches
	what is in stdio.h. Problem pointed out by Øyvid Harboe.

2004-05-04  Jay Foster <jay.foster@systech.com>

        * src/bootp_support.c (get_bootp_option, show_bootp):
        * src/dhcp_prot.c (scan_dhcp_size): Fixed bug that didn't handle
        the pad option.
	
2004-04-19  Oyvind Harboe <oyvind.harboe@zylin.com>

	* src/tftp_server.c: files are now created with the
	O_CREAT|O_TRUNC|O_WRONLY so it is possible to write to
	non-existing files and that overwriting a larger file with
	a smaller file does not leave a garbage at the end.

2004-04-19  John Dallaway  <jld@ecoscentric.com>

	* doc/tcpip.sgml: Remove reference to RedBoot documentation
	which is now built separately.

2004-04-13  Sandeep Kumar <sandeep@codito.com>

	* src/network_support.c (init_all_network_interfaces): Fix argument to
        cyg_dns_res_start and removed errneaous extra closing brace around it.

2004-04-13  Jay Foster <jay.foster@systech.com>

	* src/bootp_support.c (do_bootp): Return false when we should.
	* src/dhcp_prot.c (do_dhcp_down_net): correctly close the IPv6 socket.

2004-04-11  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/bootp_support.c: 
	* src/dhcp_prot.c: Close sockets before exiting so we don't leak
	them.
	* src/dhcp_prot.c (new_lease): Use a smaller infinite so we don't get
	a compiler warning.
	
2004-02-27     Robert Chenault <robertchenault@yahoo.com>

        * cdl/net.cdl:
	* src/dhcp_prot.c: Added CYGNUM_NET_DHCP_MIN_RETRY_TIME

2004-02-17	Matt Jerdonek <maj1224@yahoo.com>

	* src/dhcp_prot.c: Fix initialization of DHCP sec field

2003-12-10  Gary Thomas  <gary@mlbassoc.com>

	* src/inet_ntoa.c: Add thread safe inet_ntoa_r() and change
	inet_ntoa() to use it.  Inspired by Matt Jerdonek.

	* include/net/netdb.h: 
	* include/arpa/inet.h: Prototype for inet_ntoa_r()

2003-11-25  Manu Sharma <manu.sharma@ascom.com>

         * tests/bridge.c: Changes to enable Spanning Tree Protocol if the
	 corresponding CDL component is enabled.
 
2003-11-24  Jani Monoses <jani@iv.ro>

	* cdl/net.cdl: Close quote for test list.
	
2003-11-22  Andrew Lunn  <andrew.lunn@ascom.ch>

	* cdl/net.cdl: Added control for IPSEC 
	* doc/ipsec.sgml: General documentation of ipsec.

2003-10-30  Gary Thomas  <gary@mlbassoc.com>

	* tests/ping_test.c: Enable profiling if configured in - example use only.

2003-10-16  Jay Foster  <jay@systech.com>
            Andrew Lunn <andrew.lunn@ascom.ch>
	
         * doc/tcpip.sgml: Added documentation for
         CYGOPT_NET_DHCP_OPTION_HOST_NAME, 
         CYGNUM_NET_DHCP_OPTION_HOST_NAME_LEN,
         CYGOPT_NET_DHCP_OPTION_DHCP_CLIENTID_MAC,
         CYGOPT_NET_DHCP_PARM_REQ_LIST_REPLACE and
         CYGOPT_NET_DHCP_PARM_REQ_LIST_ADDITIONAL.
         * cdl/net.cdl: Added legal_values definition for the 
         CYGNUM_NET_DHCP_OPTION_HOST_NAME_LEN option.
 
2003-10-21  Andrew Lunn  <andrew.lunn@ascom.ch>

        * src/dhcp_prot.c (set_default_dhcp_tags): 
        * src/bootp_support.c (show_bootp): Added support for TAG_NTP_SERVER

2003-10-13  Jay Foster  <jay@systech.com>

        * include/dhcp.h: Added prototype for dhcp_set_hostname().
        * src/dhcp_prot.c (set_default_dhcp_tags): Added TAG_HOST_NAME and
        TAG_DHCP_CLIENTID DHCP/BOOTP option support.
        * cdl/net.cdl: Added host name (CYGOPT_NET_DHCP_OPTION_HOST_NAME) and
        MAC address client ID (CYGOPT_NET_DHCP_OPTION_DHCP_CLIENTID_MAC) 
        support.

2003-10-12  Jay Foster  <jay@systech.com>
 
 	* cdl/net.cdl: Added configuration interface for
	CYGOPT_NET_DHCP_PARM_REQ_LIST_REPLACE and
	CYGOPT_NET_DHCP_PARM_REQ_LIST_ADDITIONAL.

2003-10-09  Eric Doenges <Eric.Doenges@DynaPel.com>

        * src/tftp_client.c: Changed the code so that if a packet is
        received out of sequence we don't close the connection but wait
        for the missing packets.
 
2003-10-06  Andrew Lunn  <andrew.lunn@ascom.ch>

	* tests/bridge.c: Build the test when we have the bridge
	handler code enabled and so presumably a bridge.

2003-09-16  Jay Foster  <jay@systech.com>
 
 	* src/ifaddrs.c (getifaddrs): Fix up allocation and freeing of
    work buffers and data buffers.
 
2003-07-29  Motoya Kurotsu  <kurotsu@allied-telesis.co.jp>

        * src/dhcp_prot.c (do_dhcp): (re)Initialize the lease when
        dhcp is (re)initialized or retried.
        Return true when the state falls into DHCPSTATE_NOTBOUND so that it 
        knows the interface it still up and can later bring it down when 
        cleaning up.

2003-07-25  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/ipv6_routing_thread.c: Fix compiler warnings
	* cd/net.cdl: The routing thread needs the posix package.

2003-07-24  Nick Garnett  <nickg@balti.calivar.com>

	* src/dhcp_prot.c: Added a declaration for cyg_arc4random() to
	eliminate a compiler warning.

2003-07-15  Nick Garnett  <nickg@balti.calivar.com>

	* include/net/netdb.h: Added include for <sys/param.h>. the in.h
	file included later needs this.

2003-05-23  Andrew Lunn  <andrew.lunn@ascom.ch>
 
 	* src/network_support.c (init_all_network_interfaces): Allow IPv4
 	or IPv6 addresses to be used when configuring a default DNS
 	server.
 
2003-05-21  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/getaddrinfo.c (getaddrinfo): Corrected a bad patch merge
	from earlier which failed to delete some code. This fixed the dns1
	tests for IPv6 lookups.

2003-05-19  Michael Checky  <Michael_Checky@ThermoKing.com>
            Andrew Lunn     <andrew.lunn@ascom.ch>
	
	* src/getaddrinfo.c: Changed '#ifdef CYGPKG_NS_DNS' to
	'#ifdef CYGPKG_NS_DNS_BUILD', so it would compile if this CDL
	option is not selected.  Changed the call to 'numeric_node_addr'
	so it uses the correct number of arguments.

2003-05-14  Bob Holmberg  <bob_holmberg@yahoo.com>

	* src/tftp_server.c (tftpd_read_file): Open the file for reading,
	not writing.

2003-05-09  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/ifaddrs.c (getifaddrs): Fill in flags, netmask and broadcast
	addresses, for both IPv4 and IPv6 and enabled.
	* src/ipv6_routing_thread.c (ipv6_start_routing_thread): Only
	start the thread once. 

2003-04-26  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/getaddrinfo.c (getaddrinfo): Correctly return TCP when it is!
	* tests/addr_test.c (net_test): Added a test which uses protocol TCP
	* src/tftp_client.c (tftp_get): If we timeout on the first block,
	try other addresses for the server if we have any.
	* src/network_support.c (init_all_network_interfaces): After
	router solicitation has given us an address, wait a couple of
	seconds for duplicate address detection to do its work. While DAD
	is active, we cannot use the new address.

2003-04-24  Jonathan Larmour  <jifl@eCosCentric.com>

	* doc/tcpip.sgml: Fix some docbook errors only reported by certain
	Jade versions.

2003-04-24  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/tftp_client.c (tftp_client_put): Fixed compiler warning. 

2003-04-21  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/getaddrinfo.c (getnameinfo): Fixed some endian issues with
	port numbers and a typo. Added an interface to the DNS client for 
	reverse lookups.
	* tests/addr_test.c (net_test): Added tests for getnameinfo. Fixed
	some memory leaks.

2003-04-20  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/getaddrinfo.c (getaddrinfo): Virtually a re-write to
	interface to the DNS client.

2003-04-14  Andrew Lunn  <andrew.lunn@ascom.ch>

	* include/net/netdb.h: const correctness. 

2003-04-12  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/network_support.c (init_loopback_interface): Close the
	socket when things go wrong otherwise we leak sockets.

	* src/tftp_server.c (tftpd_server): Added support for IPv6 as well
	as IPv4. Extended the multithreading support so that it works
	correctly when there are multiple servers on multiple ports.  
	* doc/tcpip.sgml: Documentation for the changes made to the tftp
	server.

2003-04-11  Jonathan Larmour  <jifl@eCosCentric.com>

	* tests/linux_echo.c: Renamed to....
	* tests/host_echo.c: this new file. Change comment to indicate this.

	* tests/make.linux: Renamed to....
	* tests/make.host: this new file. Change comment to indicate this.
	Also linux_echo -> host_echo, and add clean target.

	* doc/tcpip.sgml: Reflect above.

2003-04-11  Michael Checky  <Michael_Checky@Thermoking.com>

	* tests/nc_test_framework.h: deleted '#include <net/route.h>'.
	* tests/linux_echo.c: added '#include <netinet/in_systm.h>',
	deleted '#include <net/route.h>'.
	* tests/tcp_sink.c: ditto.
	* tests/tcp_souce.c: ditto.
	* tests/nc_test_slave.c: changed 'bool' to 'int' because the compiler
	didn't like 'bool'.

2003-04-10  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/network_support.c (init_all_network_interfaces): Wait upto 4
	seconds for a router solicit message to be received. Once we have
	received the message we know we have a valid IPv6 address.

	* src/tftp_client.c: Added support for IPv6. This requires two new
	functions, tftp_client_{get|put} which are protocol version
        independent.
	* tests/tftp_client_test.c (tftp_test): Added tests which use IPv6
	addresses.
	
2003-04-07  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/getaddrinfo.c (getaddrinfo): Correctly deal with node when
	its not NULL. Its OK for the address to not parse for an address
	family when AF_UNSPEC is passed in hints. Also get the socktype
	correct when wildcarding for services that use UDP.
	* tests/addr_test.c: Added more test cases which test IP addresses
	in number format as node.

2003-04-05  Andrew Lunn  <andrew.lunn@ascom.ch>

	* cdl/net.cdl: Added addr_tests to the HW tests.
	* tests/addr_test.c (net_test): void function not int.
	* tests/ping_test.c (net_test): Added IPv6 ping test. This pings
	the router which answers our router solicit message.
	* src/ipv6_routing_thread.c (cyg_rs): Print out the router
	advertisement message. Cleaned up the debug messages so they can
	be disabled.
	* src/ipv6_routing_thread.c (cyg_net_get_ipv6_advrouter): New
	function to return the address of the router.
	* include/network.h: Added prototype for above and
	ipv6_start_routing_thread which did not have a prototype.
	* src/ipv6_routing_thread.c (cyg_rs): Only wait 2 seconds before 
	sending the first solicit request rather than 10. 
	* src/dhcp_prot.c (do_dhcp_down_net): clear the if_laddrreq
	before using it. If the request fails finish the IPv4 code rather 
	than returning,.
	
2003-04-02  Andrew Lunn  <andrew.lunn@ascom.ch>

	* tests/ping_lo_test.c: Added IPv6 ping test.
	* src/getproto.c: Added the protocol ipv6-icmp.

2003-04-02  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/dhcp_prot.c (do_dhcp_down_net): SIOCGLIFADDR and
	SIOCDLIFADDR take if_laddrreq not ifreq. This caused stack
	corruption. Also initialise the if_laddrreq to zero and only do
	the second IOCTL call if the first once succeeds.

2003-03-21  Nick Garnett  <nickg@balti.calivar.com>

	* include/network.h: Added include of pkgconf/io_eth_drivers.h
	since the recent move of CYGHWR_NET_DRIVERS prevented some tests
	building. This fixes the problem.

	* tests/dhcp_test2.c: Sorted out ifdefs so that this test builds
	when DHCP is disabled.

	* cdl/net.cdl: Reinstated dhcp_test2 into list of tests: it was
	accidentally removed in the 2003-03-14 checkin.
	
2003-03-20  Mark Salter  <msalter@redhat.com>

	* cdl/net.cdl (CYGHWR_NET_DRIVERS): Removed to io/eth.

2003-03-18 Barton Meeks  <bartonm2002@yahoo.com>

        * src/tftp_client.c: Reduce size of initial request packet
        for compatibility with some tftp servers.
	
2003-03-14  Nick Garnett  <nickg@balti.calivar.com>

	* cdl/net.cdl: Added CYGDBG_NET_SHOW_MBUFS option to turn on
	accumulation and display of mbuf state information. 

2003-03-06  Gary Thomas  <gary@mlbassoc.com>

	* src/getaddrinfo.c: Need to clear any addresses - malloc() can
	return garbage which the stack desn't like.

2003-03-05  Gary Thomas  <gary@mlbassoc.com>

	* src/getaddrinfo.c: Allow getaddrinfo() to use DNS gethostbyXXX()
	routines if DNS is present.  Also, eliminate some debug messages.

2003-02-25  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/getserv.c: Added a servent structure for SNTP.

2003-02-24  Jonathan Larmour  <jifl@eCosCentric.com>

	* cdl/net.cdl: Improve doc links.

	* doc/prepare-manpages.sh: Generate namespaced IDs, without shouting.
	* doc/tcpip-manpages.sgml: Regenerated.

2003-01-31  Jonathan Larmour  <jifl@eCosCentric.com>

	* cdl/net.cdl (CYGPKG_NET_BUILD_HW_TESTS): Requires eth hardware
	devices.
	(CYGPKG_NET_TESTS): Remove from under CYGPKG_NET_BUILD_TESTS (which
	became CYGPKG_NET_BUILD_HW_TESTS) so the loopback tests are always
	built.

2003-01-20  Gary Thomas  <gary@mlbassoc.com>

	* tests/nc_test_slave.c: Improve handling of UDP buffer space - try
	to minimize amount of "idle" time when this occurs.  Since this test
	is just for show, these changes just make the numbers "look" better.

2003-01-18  Jonathan Larmour  <jifl@eCosCentric.com>

	* src/network_support.c (init_all_network_interfaces): Define buf
	as const.

2003-01-10  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/network_support.c (init_all_network_interfaces): Added
	support for a hard coded domain name. Inspired by Motoya Kurotsu.
	 
2003-01-09  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/network_support.c (init_all_network_interfaces): Added
	support for a hard coded, default DNS server address.

2003-01-12  Jonathan Larmour  <jifl@eCosCentric.com>

	* src/bootp_support.c: Fix licence which should always have been
	GPL since no BSD licensed code was in fact involved.
	* src/dhcp_prot.c: Ditto.
	* src/dhcp_support.c: Ditto.
	* src/network_support.c: Ditto.
	* src/tftp_client.c: Ditto.
	* src/tftp_dummy_file.c: Ditto.
	* src/tftp_server.c: Ditto.

2003-01-04  Jonathan Larmour  <jifl@eCosCentric.com>

	* doc/tcpip.sgml: Use new entity name for tcpip manpages.

2002-10-06  Andrew Lunn  <andrew.lunn@ascom.ch>

	* tests/multi_lo_select.c: Need the io_fileio.h header file
	* tests/tcp_echo.c: (max): definition clashes with the one in
	the header file lib/libkern/libkern.h

2002-08-16  Gary Thomas  <gthomas@ecoscentric.com> (on behalf of)
2002-08-16  Louis Hamilton <hamilton@redhat.com>	

	* src/ipv6_routing_thread.c: General improvements (from Red Hat)
	for better compliance.

2002-08-14  Jonathan Larmour  <jifl@ecoscentric.com>

	* src/getserv.c: Include errno.h as errno is used.

2002-08-07  Gary Thomas  <gary@chez-thomas.org>

	* src/tftp_server.c: 
	* src/tftp_client.c: 
	* include/arpa/tftp.h: Make block numbers unsigned to handle files
	larger than 16MB.

2002-07-26  Gary Thomas  <gary@chez-thomas.org>
2002-07-26  Ken Cox <jkc@redhat.com>

	* src/dhcp_prot.c: The IPv6 link local address would not be 
	recognized if configured to use dhcp.  When dhcp reconfigures 
	the interface after obtaining it's info, it needs to delete 
	the IPv6 link local address (as well as the IPv4) address before 
	reconfiguring.

2002-07-10  Gary Thomas  <gary@chez-thomas.org>

	* src/inet_addr.c: 
	* src/getproto.c: 
	* src/dhcp_prot.c: 
	* src/bootp_support.c: Pedantic - make sure "errno" is defined.

2002-07-04  Jonathan Larmour  <jlarmour@redhat.com>

	* src/dhcp_prot.c (_dhcp_copy): Remove. Unnecessary as we can never
	receive a packet longer than sizeof(struct bootp)
	(do_dhcp): Also set giaddr to 0 before sends.
	Verify length of received packets, especially to check for truncation.

2002-06-20  Gary Thomas  <gary@chez-thomas.org>

	* src/inet_ntop.c: Fix build error when used with newer compilers.

2002-06-05  Gary Thomas  <gary@chez-thomas.org>

	* src/dhcp_prot.c (_dhcp_copy): New function used to better handle
	replies that can be variable length.

2002-05-30  Gary Thomas  <gthomas@redhat.com>

	* tests/tcp_echo.c: Build with either stack (no libkern.h).

	* tests/bridge.c: Don't do anything (should not even be built,
	but that's a CDL complication) if no BRIDGE support in system.

2002-05-30  Jesper Skov  <jskov@redhat.com>

	* tests/flood.c (floodsend): Fixed warning.

2002-05-28  Jonathan Larmour  <jlarmour@redhat.com>

	* src/dhcp_prot.c (do_dhcp): xmit2 need not be static.

2002-05-27  Gary Thomas  <gthomas@redhat.com>

	* src/dhcp_prot.c (do_dhcp): Suppress my_ip and server_ip fields
	in all messages where they should not be set.  Also be more careful
	about size of messages as they are copied.
	
2002-05-24  Gary Thomas  <gthomas@redhat.com>

	* src/dhcp_prot.c (do_dhcp): Suppress my_ip and server_ip fields
	when returning DHCP request (acceptance phase) because some DHCP
	servers insist (and the RFC says it must be this way).

2002-05-21  Jesper Skov  <jskov@redhat.com>

	* include/net/netdb.h: Include netinet/in.h for the in_addr use in
	declarations.

2002-05-14  Jesper Skov  <jskov@redhat.com>

	* src/tftp_dummy_file.c: Fixed warnings.

	* src/getaddrinfo.c: Fixed warnings.

2002-04-26  Gary Thomas  <gthomas@redhat.com>

	* cdl/net.cdl: Add option for making random IP packet IDs random.

2002-04-22  Gary Thomas  <gthomas@redhat.com>

	* src/ifaddrs.c: Reorg include files - remove warnings.

2002-04-17  Gary Thomas  <gthomas@redhat.com>

	* src/ipv6_routing_thread.c: New function - separate thread used to 
	send router soliciation messages periodically.

	* cdl/net.cdl:
	* src/network_support.c (init_all_network_interfaces): 
	Support IPv6 routing thread.

	* src/getaddrinfo.c (_getaddr): Set ai_addrlen fields.

2002-04-11  Gary Thomas  <gthomas@redhat.com>

	* tests/ga_server_test.c: 
	* tests/nc6_test_slave.c: Fix handling of multiple sockets.	

2002-04-05  Gary Thomas  <gthomas@redhat.com>

	* tests/ga_server_test.c: Use getnameinfo().

	* include/net/netdb.h: 
	* src/getaddrinfo.c (getnameinfo): New [minimal] implementation.

2002-04-04  Gary Thomas  <gthomas@redhat.com>

	* src/network_support.c (build_bootp_record): Query device for hardware
	address (required change in function profile).  Bug #59369

2002-03-27  Gary Thomas  <gthomas@redhat.com>

	* tests/make.linux: Add slave tests.

	* tests/nc_test_framework.h: 
	* tests/nc6_test_master.c: 
	* tests/nc6_test_slave.c: Fixing build problems on Linux & FreeBSD.

	* include/machine/types.h: Added [empty to keep OpenBSD stack happy].

2002-03-27  Jonathan Larmour  <jlarmour@redhat.com>

	* doc/tcpip.sgml: Place TCP/IP manpages here.

2002-03-25  Gary Thomas  <gthomas@redhat.com>

	* tests/nc_test_master.c:  Fix problem with buffer size (static
	buffer was only 8192 bytes, but the code tried to use 10240!)

	* tests/nc6_test_slave.c: Print memory statistics on failures and
	at the end of each test.

	* tests/nc6_test_master.c: Fix problem with buffer size (static
	buffer was only 8192 bytes, but the code tried to use 10240!)
	Lots of improvements, including command line processing to suppress
	certain classes of tests.

	* src/inet_addr.c: Add cast to isascii() macro to avoid warnings.

2002-03-21  Gary Thomas  <gthomas@redhat.com>

	* tests/nc6_test_slave.c: Minor cleanups - allow building without IPv6.

2002-03-20  Gary Thomas  <gthomas@redhat.com>

	* tests/tcp_source.c: 
	* tests/tcp_sink.c: Fix build problems on Linux (no sin_len).

	* tests/make.linux: 
	* tests/nc6_test_slave.c: 
	* tests/nc6_test_master.c: New tests using getaddrinfo() which
	can test both IPv4 and IPv6 environments.

2002-03-19  Gary Thomas  <gthomas@redhat.com>

	* tests/addr_test.c: New test of getaddrinfo() functionality.

	* src/inet_ntop.c (_inet_port): 
	* src/getaddrinfo.c (_getaddr): Fix some byte-order problems.

	* src/network_support.c: Fix build when PCMCIA defined.

	* src/bootp_support.c (do_bootp): 
	* include/network.h: route_reinit renamed cyg_route_reinit.

	* include/bootp.h: Clean up warnings (add prototypes, etc).

2002-03-12  Hugo Tyson  <hmt@redhat.com>

	* tests/dhcp_test2.c (cyg_user_start): Change priority of test
	thread to CYGPKG_NET_DHCP_THREAD_PRIORITY, so that it is lower
	than the network service thread.  Otherwise down-up cycling the
	state of some types of driver leaks MBUFs because of tx-done
	events being lost.

2002-03-11  Hugo Tyson  <hmt@redhat.com>

	* cdl/net.cdl: Add dhcp_test2 to the list.

	* tests/dhcp_test2.c: New testcase: repeatedly cycle interface(s)
	up and down using DHCP to test for storeleaks.  The test cannot
	tell unless you run it forever, of course, but that it completes
	without timeout is a fair test in itself.

2002-03-08  Gary Thomas  <gthomas@redhat.com>

	* tests/tcp_lo_test.c (server): Need to set 'len', otherwise
	the source socket address is undefined.

2002-03-07  Gary Thomas  <gthomas@redhat.com>

	* src/dhcp_prot.c: Some [internal] function names have changed.
	In particular, route_reinit() and arc4random().

2002-03-06  Gary Thomas  <gthomas@redhat.com>

	* tests/ga_server_test.c: New test - used to exercise getaddrinfo().

	* src/inet_pton.c: Minor source code cleanups.

	* src/inet_ntop.c (_inet_ntop): Add [non-standard] functions 
	which make it easier for code to be generic in the handling
	of network addresses (struct sockaddr).

	* include/net/netdb.h: 
	* include/network.h: Reorg - network address functions are now
	all in <net/netdb.h>

	* cdl/net.cdl: Add getaddrinfo support.
	* src/getaddrinfo.c: New file.

	* include/arpa/nameser.h: Fix some warnings.

2002-02-26  Hugo Tyson  <hmt@redhat.com>

	* src/dhcp_prot.c (do_dhcp): Two things: a) not all ACK packets
	contain all the information that we in the OFFER packet, so do not
	overwrite the offer with any ACKs we receive.  b) REQUEST packets
	when in the RENEWING or REBINDING states "MUST NOT" contain REQ_IP
	nor SERVER_ID tags.  So remove 'em.  Hence:
	(unset_tag): New routine.

2002-02-22  Hugo Tyson  <hmt@redhat.com>

	* doc/tcpip.sgml: New file.  Separated generic documentation
	of network support from the specific stack docs.  Also much
	tidying and improvement.

2002-02-19  Gary Thomas  <gthomas@redhat.com>

	* tests/ipv6_server_test.c: New file.  Test TCP/IPv6 sockets.

	* src/bootp_support.c:
	* src/inet_pton.c: Remove some warnings.

	* src/inet_ntop.c: New file().
	* cdl/net.cdl:
	* include/network.h: Add prototypes for inet_ntop() and
	inet_pton() - generic [numeric] address support.

2002-02-18  Gary Thomas  <gthomas@redhat.com>

	* cdl/net.cdl: 
	Add new interface CYGINT_IO_ETH_MULTICAST which is used to
	insure that drivers support multicast addresses if IPv6 is used.

2002-02-18  Gary Thomas  <gthomas@redhat.com>

	* src/bootp_support.c (init_net_IPv6): Fix problem with static address
	prefix mask(length).  This kept the stack from accepting neighborhood
	routing for that same prefix.

2002-02-16  Gary Thomas  <gthomas@redhat.com>

	* src/inet_pton.c: 
	New file - parse from presentation (ASCII) to network.  
	Useful for handling IPv6 addresses.

2002-02-15  Gary Thomas  <gthomas@redhat.com>

	* src/network_support.c (init_all_network_interfaces): Set IPv6
	static addresses if configured.

	* src/bootp_support.c (init_net_IPv6): New function used to set
	static IPv6 addresses.

	* cdl/net.cdl: Improve layering to better support multiple
	stacks.  Move IPv4/IPv6 control to this level.

2002-02-01  Hugo Tyson  <hmt@redhat.com>

	* tests/nc_test_slave.c (do_tcp_test): Make it build.  There is no
	test_chan here, only test_chan_slave and test_chan_master.

2002-02-01  Gary Thomas  <gthomas@redhat.com>

	* tests/udp_lo_test.c (server): 
	* tests/tcp_source.c (source_test): 
	* tests/tcp_sink.c (sink_test): 
	* tests/tcp_lo_test.c (server): 
	* tests/tcp_lo_select.c (server): 
	* tests/ping_test.c (ping_test): 
	* tests/ping_lo_test.c (ping_test_loopback): 
	* tests/nc_test_slave.c (do_udp_test): 
	* tests/multi_lo_select.c (dummy): 
	* tests/ftp_test.c (ftp_test): 
	* tests/flood.c (net_test): 
	* tests/dhcp_test.c (ping_test): 
	* src/tftp_server.c (tftpd_write_file): 
	* src/tftp_client.c (tftp_get): 
	* src/network_support.c (init_loopback_interface): 
	* src/dhcp_prot.c (bring_half_up): Need valid value for sin_len.

2002-01-31  Hugo Tyson  <hmt@redhat.com>

	* src/dhcp_prot.c (do_dhcp): Also check the ESA in any received
	answer matches, in case of an XID clash anyway.

2002-01-31  Hugo Tyson  <hmt@redhat.com>

	* src/dhcp_prot.c (do_dhcp): Generate a new XID (transaction ID)
	every time this routine is entered.  Use the ESA and a random
	source to avoid clashes with other net presences.  (The ESA was
	used uninitialized before this change.)  Also use new macro
	NEW_XID to increment the XID when we move to a new phase of the
	protocol - one XID covers a question (identically transmitted
	several times if necessary) and its answer.  A new question => a
	new XID.

	Also fixed a gedankenbug about the timeouts.  Old version tried
	RENEWING the lease when T1 timed out as it should; but if that
	failed (after the normal retries), it went straight into REBINDING
	whether or not T2 had already timed out.  Likewise if REBINDING
	failed, it terminated the lease, whether or not the EX time had
	timed out.  This is wrong - it meant that a lease of 600 seconds
	would actually shutdown the interface after about 340 (T1 + some)
	if the server was gone.

	The fix is to return to state BOUND from either RENEWING or
	REBINDING (without resetting the lease timeouts) even if the
	attempt failed; the rest of the lease machinery will take care of
	things as and when the right time ticks by.  It's still the case
	that if a timeout occurs whilst trying on part or another, the
	machine will be forced to the next state - all that is in order as
	it always was.

2002-01-29  Gary Thomas  <gthomas@redhat.com>

	* tests/server_test.c (server_test): Add message for timeout.

2002-01-28  Gary Thomas  <gthomas@redhat.com>

	* tests/udp_lo_test.c: 
	* tests/tftp_server_test.c: 
	* tests/tftp_client_test.c: 
	* tests/tcp_source.c: 
	* tests/tcp_sink.c: 
	* tests/tcp_lo_test.c: 
	* tests/tcp_lo_select.c: 
	* tests/tcp_echo.c: 
	* tests/socket_test.c: 
	* tests/set_mac_address.c: 
	* tests/server_test.c: 
	* tests/ping_test.c: 
	* tests/ping_lo_test.c: 
	* tests/nc_test_slave.c: 
	* tests/nc_test_master.c: 
	* tests/nc_test_framework.h: 
	* tests/multi_lo_select.c: 
	* tests/mbuf_test.c: 
	* tests/make.linux: 
	* tests/linux_echo.c: 
	* tests/ftp_test.c: 
	* tests/flood.c: 
	* tests/dhcp_test.c: 
	* tests/bridge.c: 

	* src/tftp_server.c: 
	* src/tftp_dummy_file.c: 
	* src/tftp_client.c: 
	* src/network_support.c: 
	* src/inet_ntoa.c: 
	* src/inet_addr.c: 
	* src/getserv.c: 
	* src/getproto.c: 
	* src/dhcp_support.c: 
	* src/dhcp_prot.c: 
	* src/bootp_support.c: 

	* include/net/netdb.h: 
	* include/machine/endian.h: 
	* include/machine/ansi.h: 
	* include/arpa/tftp.h: 
	* include/arpa/telnet.h: 
	* include/arpa/nameser.h: 
	* include/arpa/inet.h: 
	* include/arpa/ftp.h: 
	* include/tftp_support.h: 
	* include/network.h: 
	* include/dhcp.h: 
	* include/bootp.h: 

	* cdl/net.cdl: New [common] networking package.  Actual stacks
	are implementations provided alongside this package.

# ####GPLCOPYRIGHTBEGIN####                                       
# -------------------------------------------                     
# This file is part of eCos, the Embedded Configurable Operating System.
# Copyright (C) 2004, 2005, 2007 eCosCentric Limited              
# Copyright (C) 2002, 2009 Free Software Foundation, Inc.               
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 or (at your option) any
# later version.                                                  
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of      
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.                        
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the                   
# Free Software Foundation, Inc., 51 Franklin Street,             
# Fifth Floor, Boston, MA  02110-1301, USA.                       
# -------------------------------------------                     
# ####GPLCOPYRIGHTEND####                                         
