⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 relnotes.txt

📁 mcf5307实验源代码
💻 TXT
📖 第 1 页 / 共 3 页
字号:
  .  The ability to handle out of order TCP Packets is now supported.  If a
     packet arrives that is not the next one expected but is within the
     current window, that packet will now be buffered until all previous
     packets have arrived.  Then all buffered packets can be acknowledged at
     once.  To facilitate this two routines were added to the file TCP.C.
     They are 'tcp_ooo_packet' and 'check_ooo_list'. (ooo = out of order).

  .  The capability to do window probes has been added.  In the past if the
     foreign host advertised a windowsize of 0, then we would wait for the
     foreign host to open up his window again.  However, if the foreign host
     misbehaved or the packet that updated the windowsize was lost then the
     task could suspend forever.  Now we send a window probe periodically to
     make sure that the foreign host is still alive.  The function
     'windowprobe' was added to the file USER.C.

  .  The Nagle Algorithm has been implemented.  The purpose of the Nagle
     Algorithm is to avoid the SWS on the sender's side by coalescing short
     TCP segments.  Changes to 'netwrite' in USER.C were required.

  .  The macro SWAPPING is now used to specify whether byte swapping should
     be performed.  SWAPPING, if needed, is defined in COMPILER.H.

  .  In the config structure the defdom is now defined to be an array of 32
     bytes instead of a "char *".

The following files have been updated for this release:

        ARP.C           BOOTP.C         CONFILE.C       DLL.C
        EQUEUE.C        IP.C            NET.C           NEW_IP.C
        PROTINIT.C      SOCKETS.C       TCP.C           TCPVARS.C
        TCP_ERRS.C      TIMER.C         TOOLS.C         UDP.C
        USER.C          UTIL.C          CONFIG.H        DATA.H
        EXTERNS.H       HOSTFORM.H      NETEVENT.H      PROTOCOL.H
        SOCKDEFS.H      SOCKETD.H       TCP.H           TCPDEFS.H


The following files have been created for this release:

        HOSTS.C

The following files have been deleted and are no longer used:

        No files were deleted.


*******************************************************************************
Version 2.0.G2.b                                         JULY 26, 1995
*******************************************************************************

The following items were changed or corrected by this release

  .  In hostform.h the structure machinfo is defined.  The fields sname and
     hname were changed from char pointers to an array of 32 chars.  Also the
     field hw was removed from the definition of the config structure.

  .  Added code to IP.C to process fragmented packets.  Note that this code
     has not yet been tested.

  .  Changed the way a packet destined for a listening TCP port is processed.
     Made changes to both tcpinterpret and tcpdo.  This was to fix a bug that
     caused ports to be lost when a non-SYN packet arrived for a listening
     port.  Also the function checkListeners was added at this time.

  .  Removed the function netpush from USER.C

  .  Changed netclose in USER.C.  If the state of the connection was
     SCWAIT and there was data in the in window the task would suspend
     forever.  Now the data is deallocated, and the connection closed
     immediately.

  .  Changed the definition of CONNWAITTIME config.h from
     #define   CONNWAITTIME    20   to
     #define CONNWAITTIME    (20 * TICKSPERSEC)
     This change was made because the wait time was meant to be in seconds
     not in timer ticks.

  .  Changed the function NU_Recv_From in sockets.c so that the UDP
     port is checked for data before suspension occurs.  In the past the
     calling task would be suspended regardless of whether or not there was
     data waiting.

  .  Changed the function netwrite() so that upon returning from the call
     to windowprobe() the correct number of bytes left to send is calculated.
     Before the number of bytes sent by the window probe was used.  This
     value was usually 1 or 0.

  .  Changed the function netsend so that ODH can be used to send packets
     of less than max size.

  .  Added logic that checks for a task suspended in the NU_Accept service
     call when a new connection is established.  If there is a task
     waiting for this new connection to be established then that task is
     resumed.  Before an attempt to resume a task was always made, which
     could cause problems if the task was suspended somewhere other than
     the NU_Accept service call.


The following files have been updated for this release:

        ARP.C           BOOTP.C         BOOTP.H         CONFILE.C
        DOMAIN          EQUEUE.C        IP.C            NET.C
        PROTINIT.C      SOCKETS.C       STDCS.C         TCP.C
        TCPVARS.C       TOOLS.C         UDP.C           USER.C
        UTIL.C          BOOTP.H         CONFIG.H        DATA.H
        DOMAIN.H        EXTERNS.H       HOSTFORM.H      PROTOCOL.H
        SOCKETD.H       TCP_ERRS.H


The following files have been created for this release:

        IP.H            TARGET.H

The following files have been deleted and are no longer used:

        COMPILER.H      PCDEFS.H


*******************************************************************************
Version 2.1                                            JANUARY 25, 1996
*******************************************************************************

With this version begins a more conventional version numbering system.  The
extension of Gx.x has been dropped.

The following items were changed or corrected by this release

  .  The function NET_Send was added to NET.C.  This was done to eliminate
     duplicate code that appeared in the files TCP.C, UDP.C, and ARP.C.
     Obviously the duplicate code was removed from those three files.  The
     function arp_send_pkt in arp.c was eliminated completely.  The affected
     function in UDP.C was netusend().  The affected functions in TCP.C are
     tcpresetfin(), tcp_sendack(), and tcpsend().

  .  The function arpinit() was renamed ARP_Init() and moved from the file
     PROTINIT.C to the file ARP.C.  This is part of the effort to bring
     Nucleus NET into line with the standards used to code the kernels.

  .  tcpinterpret has been renamed TCP_Interpret.

  .  In BOOTP.C the variable next was made a static local variable rather than
     a static global variable.  It is now declared in the function rand().

  .  Added a timeout to the TCP close procesing.  It was possible to get
     suspended forever while trying to close a connection if the foreign host
     crashed during the close or simply didn't handle the close properly.  Now
     a timeout feature has been added so that the local host will only wait so
     long before giving up and aborting the connection.  This required changes
     to EQUEUE.C and netclose() in USER.C.

  .  Modified NU_Listen().  Combined 3 calls to NU_Allocate_Memory into 1.
     Then the allocated block of memory is broken up into three chunks.

  .  Added code to tcp_retransmit to abort a TCP connection after a defined
     number of retransmits occur.  In config.h is where the number of
     retransmits are defined.  When the maximum number of retransmits is
     reached a RST is sent to the foreign host.

  .  Added code to cleanup the various packet queues when a RST is received.
     Otherwise buffers could get lost.

  .  netclose in USER.C was modified to clear all ACK events when the
     connection closes.  Otherwise an ACK event could be processed after a
     connection has completely closed.  This resulted in an ACK packet being
     sent after a connection had closed.

  .  The NU_Accept service call has been changed so that the third parameter
     is now of type "struct addr_struct *" rather than of type
     "struct addr_struct **".  As a result the application is now responsible
     for allocating memory for the address structure.  This was done because
     when the memory was allocated within the service call it was never being
     deallocated.  So after repeated connections memory could become
     exhausted.

  .  Function makeport() in PROTINIT.C has been changed.  In the past memory
     was allocated for a port entry before the check was made to see if an
     entry was available.  If an entry was not available the memory was never
     deallocated.  Now the check is made before the memory allocation.

  .  The function cacheupdate in ARP.C was modified.  Before if the entry that
     was being searched for was not the first in the list then the oldest
     entry was used for the update, even if the entry being searched for
     existed somewhere after the first.  This problem has been fixed.

  .  It was possible for a connection to be accepted before it was completely
     established.  Changes were made to NU_SearchTaskList and to
     NU_UpdateTaskTable to fix this problem.

  .  Padding was added to some structures and the ordering of fields within
     structures was changed to prevent "unaligned access" errors on processors
     that require word alignment.

  .  The code to select on multiple sockets was removed form sockets.c and
     placed in a new file called SELECT.C.  Also, the ability to select on
     UDP sockets was added.  In the past, selecting only on TCP sockets was
     supported.

  .  The ability to retransmit TCP packets containing SYN and FIN flags was
     added.  Packets conatining those flags are treated as data packets.

  .  A TCP connection will now be aborted after a number of retransmits.  In
     the past a Nucleus NET host would retransmit a packet forever.

  .  The function checkfin no longer gives up the semaphore.

  .  UTIL.C was cleaned up.  Some legacy code was removed.

  .  A bug in the function NU_Get_Host_ID was fixed.  There was an
     un-initialized pointer that caused 4 bytes of memory to be overwritten.

The following files have been updated for this release:

        ARP.C       BOOTP.C         CONFIG.H        CONFILE.C
        DLL.C       EQUEUE.C        EXTERNS.H       HOSTFORM.H
        IP.C        IP.H            NET.C           NETEVENT.H
        NEW_IP.C    PROTINIT.C      PROTOCOL.H      SCKPROTO.H
        SOCKDEFS.H  SOCKETD.H       SOCKETS.C       TCP.C
        TCPVARS.C   TCP_ERRS.C      TCP_ERRS.H      TIMER.C
        TOOLS.C     UDP.C           USER.C          UTIL.C

The following files have been created for this release:

        ODH.C       SELECT.C

The following files have been deleted and are no longer used:

        PRAGMA.H


*******************************************************************************
Version 2.2                                            May 10, 1996
*******************************************************************************

The following items were changed or corrected by this release

  .  The way an ODH packet is deallocated was modified.  On machines that
     require word alignment, the old method would fail.

  .  The IP fragmentation code has been removed by bracketing it with macroes.

  .  When a RST was received while in the SYNR state the port_entry and
     stat_entry fields for that TaskEntry were not cleared.  So that TaskEntry
     was never deallocated.  That has been fixed.

  .  In ipinterpret the check for a broadcast address was fixed.

  .  In udpinterpret the check to see if the destination port # in the packet
     matches a port on the local host was modified.  Now a check is made to
     insure the current entry is not a NULL pointer before a check for the
     actual port number is made.

  .  The verification of the UDP checksum was moved to the top of
     udpinterpret, ahead of the other checks.

  .  A memory leak in the NU_Listen service has been fixed.  Whenever
     NU_Listen is called memory is allocated for a Task_Entry structure.  This
     memory was never being freed when the socket was closed.  This has been
     fixed.  See SPR0094 for details.

  .  The ability to broadcast packets from the application level was added.
     As part of these modifications two new service calls NU_Setsockopt and
     NU_Getsockopt were added.

  .  A bug in the transmission of a ICMP ping response was fixed.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -