TianoCore EDK2 master
|
#include "TcpMain.h"
Go to the source code of this file.
Functions | |
INTN | TcpSeqAcceptable (IN TCP_CB *Tcb, IN TCP_SEG *Seg) |
VOID | TcpFastRecover (IN OUT TCP_CB *Tcb, IN TCP_SEG *Seg) |
VOID | TcpFastLossRecover (IN OUT TCP_CB *Tcb, IN TCP_SEG *Seg) |
VOID | TcpComputeRtt (IN OUT TCP_CB *Tcb, IN UINT32 Measure) |
INTN | TcpTrimSegment (IN NET_BUF *Nbuf, IN TCP_SEQNO Left, IN TCP_SEQNO Right) |
INTN | TcpTrimInWnd (IN TCP_CB *Tcb, IN NET_BUF *Nbuf) |
INTN | TcpDeliverData (IN OUT TCP_CB *Tcb) |
INTN | TcpQueueData (IN OUT TCP_CB *Tcb, IN NET_BUF *Nbuf) |
INTN | TcpAdjustSndQue (IN TCP_CB *Tcb, IN TCP_SEQNO Ack) |
INTN | TcpInput (IN NET_BUF *Nbuf, IN EFI_IP_ADDRESS *Src, IN EFI_IP_ADDRESS *Dst, IN UINT8 Version) |
VOID | TcpIcmpInput (IN NET_BUF *Nbuf, IN UINT8 IcmpErr, IN EFI_IP_ADDRESS *Src, IN EFI_IP_ADDRESS *Dst, IN UINT8 Version) |
TCP input process routines.
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file TcpInput.c.
Adjust the send queue or the retransmit queue.
[in] | Tcb | Pointer to the TCP_CB of this TCP instance. |
[in] | Ack | The acknowledge sequence number of the received segment. |
0 | An error condition occurred. |
1 | No error occurred. |
Definition at line 656 of file TcpInput.c.
Compute the RTT as specified in RFC2988.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
[in] | Measure | Currently measured RTT in heartbeats. |
Definition at line 203 of file TcpInput.c.
Process the data and FIN flag, and check whether to deliver data to the socket layer.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
0 | No error occurred to deliver data. |
-1 | An error condition occurred. The proper response is to reset the connection. |
Definition at line 370 of file TcpInput.c.
NewReno fast loss recovery defined in RFC3792.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
[in] | Seg | Segment that triggers the fast loss recovery. |
Definition at line 156 of file TcpInput.c.
NewReno fast recovery defined in RFC3782.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
[in] | Seg | Segment that triggers the fast recovery. |
Definition at line 40 of file TcpInput.c.
VOID TcpIcmpInput | ( | IN NET_BUF * | Nbuf, |
IN UINT8 | IcmpErr, | ||
IN EFI_IP_ADDRESS * | Src, | ||
IN EFI_IP_ADDRESS * | Dst, | ||
IN UINT8 | Version | ||
) |
Process the received ICMP error messages for TCP.
[in] | Nbuf | The buffer that contains part of the TCP segment without an IP header truncated from the ICMP error packet. |
[in] | IcmpErr | The ICMP error code interpreted from an ICMP error packet. |
[in] | Src | Source address of the ICMP error message. |
[in] | Dst | Destination address of the ICMP error message. |
[in] | Version | IP_VERSION_4 indicates IP4 stack. IP_VERSION_6 indicates IP6 stack. |
Definition at line 1569 of file TcpInput.c.
INTN TcpInput | ( | IN NET_BUF * | Nbuf, |
IN EFI_IP_ADDRESS * | Src, | ||
IN EFI_IP_ADDRESS * | Dst, | ||
IN UINT8 | Version | ||
) |
Process the received TCP segments.
[in] | Nbuf | Buffer that contains received a TCP segment without an IP header. |
[in] | Src | Source address of the segment, or the peer's IP address. |
[in] | Dst | Destination address of the segment, or the local end's IP address. |
[in] | Version | IP_VERSION_4 indicates IP4 stack. IP_VERSION_6 indicates IP6 stack. |
0 | Segment processed successfully. It is either accepted or discarded. However, no connection is reset by the segment. |
-1 | A connection is reset by the segment. |
Definition at line 710 of file TcpInput.c.
Store the data into the reassemble queue.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
[in] | Nbuf | Pointer to the buffer containing the data to be queued. |
0 | An error condition occurred. |
1 | No error occurred to queue data. |
Definition at line 548 of file TcpInput.c.
Check whether the sequence number of the incoming segment is acceptable.
[in] | Tcb | Pointer to the TCP_CB of this TCP instance. |
[in] | Seg | Pointer to the incoming segment. |
1 | The sequence number is acceptable. |
0 | The sequence number is not acceptable. |
Definition at line 23 of file TcpInput.c.
Trim off the data outside the tcb's receive window.
[in] | Tcb | Pointer to the TCP_CB of this TCP instance. |
[in] | Nbuf | Pointer to the NET_BUF containing the received tcp segment. |
0 | The segment is broken. |
1 | The segment is in good shape. |
Definition at line 350 of file TcpInput.c.
Trim the data; SYN and FIN to fit into the window defined by Left and Right.
[in] | Nbuf | The buffer that contains a received TCP segment without an IP header. |
[in] | Left | The sequence number of the window's left edge. |
[in] | Right | The sequence number of the window's right edge. |
0 | The segment is broken. |
1 | The segment is in good shape. |
Definition at line 265 of file TcpInput.c.