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

Subversion Repositories mlite

[/] [mlite/] [trunk/] [kernel/] [tcpip.c] - Diff between revs 247 and 257

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 247 Rev 257
Line 804... Line 804...
      if(IPVerbose)
      if(IPVerbose)
         printf("length error\n");
         printf("length error\n");
      return 0;
      return 0;
   }
   }
 
 
 
   //Check if RST flag set
 
   if(packet[TCP_FLAGS] & TCP_FLAGS_RST)
 
   {
 
      if(socket->state == IP_FIN_SERVER)
 
         IPClose2(socket);
 
      else if(socket->state == IP_TCP)
 
         socket->state = IP_FIN_CLIENT;
 
   }
   //Copy packet into socket
   //Copy packet into socket
   if(socket->ack == seq && bytes > 0)
   else if(socket->ack == seq && bytes > 0)
   {
   {
      //Insert packet into socket linked list
      //Insert packet into socket linked list
      if(socket->timeout)
      if(socket->timeout)
         socket->timeout = socket->timeoutReset;
         socket->timeout = socket->timeoutReset;
      if(IPVerbose)
      if(IPVerbose)
Line 863... Line 871...
         IPClose2(socket);
         IPClose2(socket);
      else if(socket->state == IP_TCP)
      else if(socket->state == IP_TCP)
         socket->state = IP_FIN_CLIENT;
         socket->state = IP_FIN_CLIENT;
   }
   }
 
 
   //Check if RST flag set
 
   if(packet[TCP_FLAGS] & TCP_FLAGS_RST)
 
   {
 
      if(socket->state == IP_FIN_SERVER)
 
         IPClose2(socket);
 
      else if(socket->state == IP_TCP)
 
         socket->state = IP_FIN_CLIENT;
 
   }
 
 
 
   //Notify application
   //Notify application
   if(socket->funcPtr)
   if(socket->funcPtr)
      OS_Job(socket->funcPtr, socket, 0, 0);
      OS_Job(socket->funcPtr, socket, 0, 0);
   return rc;
   return rc;
}
}
Line 1513... Line 1512...
      socket2 = socket;
      socket2 = socket;
      socket = socket->next;
      socket = socket->next;
      if(socket2->timeout && --socket2->timeout == 0)
      if(socket2->timeout && --socket2->timeout == 0)
      {
      {
         socket2->timeout = 10;
         socket2->timeout = 10;
         if(IPVerbose && socket2->state != IP_CLOSED)
         if(IPVerbose && socket2->state != IP_CLOSED &&
 
                         socket2->state != IP_FIN_SERVER)
            printf("t(%d,%d)", socket2->state, FrameFreeCount);
            printf("t(%d,%d)", socket2->state, FrameFreeCount);
         if(socket2->state == IP_TCP)
         if(socket2->state == IP_TCP)
            IPClose(socket2);
            IPClose(socket2);
         else if(socket2->state == IP_FIN_CLIENT)
         else if(socket2->state == IP_FIN_CLIENT)
            IPClose(socket2);
            IPClose(socket2);

powered by: WebSVN 2.1.0

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