📄 relnotes.txt
字号:
. The search of the socket_list in NU_Socket has been optimized.
. Changes were made to various files to make the close processing, which
occurs when a TCP connection is closed, more robust.
The following files have been updated for this release:
All files changed for this release.
The following files have been created for this release:
No new files were created.
The following files have been deleted and are no longer used:
SCKPROTO.H
*******************************************************************************
Version 2.2a September 26, 1996
*******************************************************************************
The following items were changed or corrected by this release
. This release fixes two bugs, both of which were the result of
uninitialized global variables. Two global variables Task_Head and
Task_Tail, which are declared in TCPVARS.C were not being initialized.
So for compilers that did not clear the BSS these pointers were undefined
at run time. The initialization of each was added to PROTINIT.C.
. The second uninitialized global variable was odh_list, also declared in
TCPVARS.C. This is a structure that contains a head and a tail pointer.
This structure is now initialized in the function ODH_Init, which was
created with this release for this purpose.
The following files have been updated for this release:
ODH.C PROTINIT.C EXTERNS.H
The following files have been created for this release:
No new files were created.
The following files have been deleted and are no longer used:
No files were deleted.
*******************************************************************************
Version 2.3 February 25, 1997
*******************************************************************************
CHANGES TO THIS VERSION OF NET INCLUDE
-----------------------------------------------------------------------
1. A bug was fixed in state SSYNS. Whenever an ACK is received that does
not acknowledge the SYN that was sent. A reset should be sent. Then a
new SYN should be sent. The reset was not being sent. Please see
CSR 262 and SPR 144 for details of the problem and solution.
2. In NU_Init_Net the network tasks are now created after the other network
resources. In the past if NU_Init_Net was called from a low priority
task the network tasks would begin executing as soon as they were
created, even though resources required by the tasks had yet to be
created.
3. A valid_entry field was added to the arp cache struture. It was possible
to use an ARP cache entry for a gateway before the HW address had been
resolved. The valid_entry field is used to mark those entries that do
not contain valid HW addresses.
4. The logic for assigning a network mask was changed. This affected the
function ipinit(). Macroes were added to TCP.H for determining the class
of an IP address. The havemask field was removed from the config
structure.
5. Changes were made to the Window Probe code in USER.C. In the case where
a RESET was received while NET was doing a window probe, the lists of
buffers would get corrupted. This has been fixed.
6. There was a problem where if a RESET was received while in the SSYNS
state, then the connection would not be cleaned up properly. As a result
a SYN packet would be transmitted several more times. This has been
fixed.
7. Whenver an ARP request is sent we continue to retransmit that ARP for
CONNWAITTIME amount of time. In the code CONNWAITTIME was being
multiplied by TICKSPERSECOND where it was defined in CONFIG.H. It was
again being multiplied by TICKSPERSECOND in the C source code. This
resulted in ARPs being sent for several hours. The later multiplication
has been removed.
8. Also, in dlayerinit there is a NU_Relinquish call. This should have been
a NU_Sleep to give lower priority processes a chance to execute.
NU_Sleep is now used.
9. The NU_Send call was changed. Now the task will do an unconditional
suspned (NU_Suspend), rather than a queue suspend. If there are no
buffers to copy the data into, the error is returned to the application
layer as NU_NO_BUFFERS. In the past the TCP layer would attempt to
handle that problem. The only event that will now cause suspension in
the transmit logic is if the remote host's window is full.
10. A problem was fixed in netwrite. Whenever a window probe occured the
first byte of data in the buffer would be sent twice and the last byte of
data would not be sent. This has been fixed.
11. In function suspend_task of file SOCKETS.C it was possible for the task
attempting to suspend itself to be preempted before it could suspend.
This would occur if a higher priority task was waiting on the semaphore.
The task must be able to suspend before being pre-empted. So now
pre-emption is disabled for immediately before releasing the semaphore
and is enabled immediatly after obtaining the semaphore.
12. Fixed a problem with ARP. If ARP failed the port that was created would
remain in the SSYN state. This has been fixed. Functions netxopen and
NU_Connect also have more descriptive return values now.
13. The NU_Accept Service can now be used in a non-blocking as well as
blocking mode. Blocking is the default to maintain compatibility with
exeisting Nucleus NET applications. Non-blocking can be enabled through
the use of the NU_fcntl service.
14. All comparisons of both sequence numbers and clock ticks are now done
using the macro INT32_CMP. This macro accounts for the potential
wrapping of these 32 bit numbers when the comparison is made.
**** The 14 changes above are refered to 10 SPRs:
108, 144, 151, 155, 215, 222, 229, 232, 235, 249.
15. A problem was found in the release testing. The FSM (Fine State Machine) of
NET does not correctly handle a coming packet with ACK/FIN and with the ack
value increased by more than 1. The problem is fixed in a temporary way,
the FSM needs more job. (see spr0249.txt)
16. Fixed the bug in get_unique_port_num() (also see spr0249.txt).
*******************************************************************************
Version 3.0 Maiqi Qian April 18, 1997
*******************************************************************************
This release #14 of Nucleus NET contains the modification since release #13 and
the database and initialization routines of SNMP, which is the interface to
XACT SNMP.
CHANGES TO THIS VERSION OF NET INCLUDE
-----------------------------------------------------------------------
1 . The NU_Abort service has been added to sockets.c
2 . If a packet has a sequence number that is too large but within the window
then we need to add it to the out of order list. The check that
determined that a packet should be added to the out of order list would
exclude a packet that included the last byte of data that would fit in
the window. This has been fixed.
3 . ACK packets, those with no data, were being added to the out of order
list. Now only data packets are added to the out of order list.
4 . In estab1986 a call to tcp_sendack was changed to a call to tcp_ackit.
5 . The problem briefly stated is: When a server is listening and a client
connects a Task_Etry structure is created for the connection to maintain
info. until the connection is accepted by the server. In the event that
the client disconnects before the server does a NU_Accept the task entry
structure is not cleaned up. When an accept is finally done it appears
that the conection still exists when in fact it does not. This problem
has been fixed the solution is described in SPR 277.
6 . Fixed a problem in NU_Send_To that prevented a socket from being used to
communicate with multiple foreign devices. SPR 280.
7 . Inplemented the SNMP interface to XACT SNMP.
In ordr to make Nucleus NET work with XACT SNMP, it is necessary to
declare the global varible of SNMP and initialize it, the following new
files are added:
SNMP.c SNMP.H SNMP_XTR.H.
For the purpose of a demo and a template to show the users how to
implement the SNMP Agent in their application, a SNMP Agent demo program,
SNMPSERV.c, is created.
Because these files are needed only if the user buy the SNMP product,
they are parts of SNMP and in the SNMP product directory, not in NET
generic files directory.
To maintain SNMP statistics database, a great number of MACRO lines are
added in the following files:
IP.C, NET.C, SOCKETS.C, TCP.C, UDP.C and USER.C.
Considering that the Nucleus NET can be still sold withouth SNMP agent,
in config.h, there is a new line:
#define SNMP_INCLUDED 0 ( 1 turn on SNMP, 0 turn off SNMP)
The value of SNMP_INCLUDED determines if the NET contains the SNMP
interface or not. If not, the Nucleus NET product should not contain the
above three SNMP files and the MACROs in the above MACRO lines are defined
as empty symbolic bodies in config.h under the control of the compiler
directive of SNMP_INCLUDED.
Usaully, it is turn off. If the user buy the SNMP Agent, the user should
set the value to be 1, which will be addressed in SNMP manual.
##########################################################################
*******************************************************************************
Version 3.1 July 7, 1997
*******************************************************************************
The following items were changed or corrected by this release
. DNS Support was added.
. The RARP was upgraded.
. The NU_Select service was updated. It is now possible for a TCP server
to select on multiple sockets for acceptable connections.
. Fixed SPRs 122, 296, 243, 275, 250, 286, 300, 303, 304
The following files have been created for this release:
DNS.C DNS.H
The following files have been deleted and are no longer used:
DOMAIN.C DOMAIN.H SCKOEM.C
SCKOEM.H
*******************************************************************************
Version 3.2 August 22, 1997
*******************************************************************************
The following items were changed or corrected by this release:
. When using NU_Select to check TCP server ports for acceptable connections
the readfs rather then exceptfs parameter is now used.
. The stdcs.c file has now been removed. The tool suites standard C
library is used instead. Note that individual platforms may still have a
stdcs.c and stdcs.h file. For example the C library of the GNU tools for
Mips 4640 does not include stricmp or itoa. So that port includes an
stdcs.c file with implementations for those two functions.
. The support for SNMP has been upgraded.
. This release fixes SPRs 329, 319, 324, 328, 331, 330.
The following files have been created for this release:
The following files have been deleted and are no longer used:
STDCS.C STDCS.H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -