OpenCores
URL https://opencores.org/ocsvn/plasma/plasma/trunk

Subversion Repositories plasma

[/] [plasma/] [trunk/] [kernel/] [tcpip.c] - Diff between revs 430 and 431

Show entire file | Details | Blame | View Log

Rev 430 Rev 431
Line 953... Line 953...
         TCPSendPacket(socket, frameOut, TCP_DATA);
         TCPSendPacket(socket, frameOut, TCP_DATA);
      }
      }
   }
   }
 
 
   //Check if FIN flag set
   //Check if FIN flag set
   if((packet[TCP_FLAGS] & TCP_FLAGS_FIN) && socket->ack >= seq)
   if((packet[TCP_FLAGS] & TCP_FLAGS_FIN) && socket->ack >= seq &&
 
      socket->state < IP_CLOSED)
   {
   {
      notify = 1;
      notify = 1;
      socket->timeout = SOCKET_TIMEOUT;
      socket->timeout = SOCKET_TIMEOUT;
      if(IPVerbose)
      if(IPVerbose)
         printf("F");
         printf("F");
Line 967... Line 968...
      packetOut = frameOut->packet;
      packetOut = frameOut->packet;
      packetOut[TCP_FLAGS] = TCP_FLAGS_ACK;
      packetOut[TCP_FLAGS] = TCP_FLAGS_ACK;
      ++socket->ack;
      ++socket->ack;
      TCPSendPacket(socket, frameOut, TCP_DATA);
      TCPSendPacket(socket, frameOut, TCP_DATA);
      if(socket->state == IP_FIN_SERVER)
      if(socket->state == IP_FIN_SERVER)
         socket->timeout = SOCKET_TIMEOUT;
         IPClose2(socket);
      else if(socket->state == IP_TCP)
      else if(socket->state == IP_TCP)
         socket->state = IP_FIN_CLIENT;
         socket->state = IP_FIN_CLIENT;
   }
   }
 
 
   //Notify application
   //Notify application

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.