NetworkPkg: Apply uncrustify changes
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the NetworkPkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Maciej Rabeda <maciej.rabeda@linux.intel.com>
This commit is contained in:
committed by
mergify[bot]
parent
2f88bd3a12
commit
d1050b9dff
@@ -33,7 +33,7 @@ UINT8 mTcpOutFlag[] = {
|
||||
**/
|
||||
UINT32
|
||||
TcpRcvWinOld (
|
||||
IN TCP_CB *Tcb
|
||||
IN TCP_CB *Tcb
|
||||
)
|
||||
{
|
||||
UINT32 OldWin;
|
||||
@@ -41,11 +41,10 @@ TcpRcvWinOld (
|
||||
OldWin = 0;
|
||||
|
||||
if (TCP_SEQ_GT (Tcb->RcvWl2 + Tcb->RcvWnd, Tcb->RcvNxt)) {
|
||||
|
||||
OldWin = TCP_SUB_SEQ (
|
||||
Tcb->RcvWl2 + Tcb->RcvWnd,
|
||||
Tcb->RcvNxt
|
||||
);
|
||||
Tcb->RcvWl2 + Tcb->RcvWnd,
|
||||
Tcb->RcvNxt
|
||||
);
|
||||
}
|
||||
|
||||
return OldWin;
|
||||
@@ -61,7 +60,7 @@ TcpRcvWinOld (
|
||||
**/
|
||||
UINT32
|
||||
TcpRcvWinNow (
|
||||
IN TCP_CB *Tcb
|
||||
IN TCP_CB *Tcb
|
||||
)
|
||||
{
|
||||
SOCKET *Sk;
|
||||
@@ -72,11 +71,11 @@ TcpRcvWinNow (
|
||||
Sk = Tcb->Sk;
|
||||
ASSERT (Sk != NULL);
|
||||
|
||||
OldWin = TcpRcvWinOld (Tcb);
|
||||
OldWin = TcpRcvWinOld (Tcb);
|
||||
|
||||
Win = SockGetFreeSpace (Sk, SOCK_RCV_BUF);
|
||||
Win = SockGetFreeSpace (Sk, SOCK_RCV_BUF);
|
||||
|
||||
Increase = 0;
|
||||
Increase = 0;
|
||||
if (Win > OldWin) {
|
||||
Increase = Win - OldWin;
|
||||
}
|
||||
@@ -87,7 +86,6 @@ TcpRcvWinNow (
|
||||
// half of the receive buffer.
|
||||
//
|
||||
if ((Increase > Tcb->SndMss) || (2 * Increase >= GET_RCV_BUFFSIZE (Sk))) {
|
||||
|
||||
return Win;
|
||||
}
|
||||
|
||||
@@ -106,8 +104,8 @@ TcpRcvWinNow (
|
||||
**/
|
||||
UINT16
|
||||
TcpComputeWnd (
|
||||
IN OUT TCP_CB *Tcb,
|
||||
IN BOOLEAN Syn
|
||||
IN OUT TCP_CB *Tcb,
|
||||
IN BOOLEAN Syn
|
||||
)
|
||||
{
|
||||
UINT32 Wnd;
|
||||
@@ -116,17 +114,15 @@ TcpComputeWnd (
|
||||
// RFC requires that initial window not be scaled
|
||||
//
|
||||
if (Syn) {
|
||||
|
||||
Wnd = GET_RCV_BUFFSIZE (Tcb->Sk);
|
||||
} else {
|
||||
|
||||
Wnd = TcpRcvWinNow (Tcb);
|
||||
Wnd = TcpRcvWinNow (Tcb);
|
||||
|
||||
Tcb->RcvWnd = Wnd;
|
||||
}
|
||||
|
||||
Wnd = MIN (Wnd >> Tcb->RcvWndScale, 0xffff);
|
||||
return NTOHS ((UINT16) Wnd);
|
||||
return NTOHS ((UINT16)Wnd);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -139,11 +135,11 @@ TcpComputeWnd (
|
||||
**/
|
||||
TCP_SEQNO
|
||||
TcpGetMaxSndNxt (
|
||||
IN TCP_CB *Tcb
|
||||
IN TCP_CB *Tcb
|
||||
)
|
||||
{
|
||||
LIST_ENTRY *Entry;
|
||||
NET_BUF *Nbuf;
|
||||
LIST_ENTRY *Entry;
|
||||
NET_BUF *Nbuf;
|
||||
|
||||
if (IsListEmpty (&Tcb->SndQue)) {
|
||||
return Tcb->SndNxt;
|
||||
@@ -168,8 +164,8 @@ TcpGetMaxSndNxt (
|
||||
**/
|
||||
UINT32
|
||||
TcpDataToSend (
|
||||
IN TCP_CB *Tcb,
|
||||
IN INTN Force
|
||||
IN TCP_CB *Tcb,
|
||||
IN INTN Force
|
||||
)
|
||||
{
|
||||
SOCKET *Sk;
|
||||
@@ -192,7 +188,6 @@ TcpDataToSend (
|
||||
Limit = Tcb->SndWl2 + Tcb->SndWnd;
|
||||
|
||||
if (TCP_SEQ_GT (Limit, Tcb->SndUna + Tcb->CWnd)) {
|
||||
|
||||
Limit = Tcb->SndUna + Tcb->CWnd;
|
||||
}
|
||||
|
||||
@@ -206,19 +201,19 @@ TcpDataToSend (
|
||||
// buffer. The later can be non-zero if the peer shrinks
|
||||
// its advertised window.
|
||||
//
|
||||
Left = GET_SND_DATASIZE (Sk) + TCP_SUB_SEQ (TcpGetMaxSndNxt (Tcb), Tcb->SndNxt);
|
||||
Left = GET_SND_DATASIZE (Sk) + TCP_SUB_SEQ (TcpGetMaxSndNxt (Tcb), Tcb->SndNxt);
|
||||
|
||||
Len = MIN (Win, Left);
|
||||
Len = MIN (Win, Left);
|
||||
|
||||
if (Len > Tcb->SndMss) {
|
||||
Len = Tcb->SndMss;
|
||||
}
|
||||
|
||||
if ((Force != 0)|| (Len == 0 && Left == 0)) {
|
||||
if ((Force != 0) || ((Len == 0) && (Left == 0))) {
|
||||
return Len;
|
||||
}
|
||||
|
||||
if (Len == 0 && Left != 0) {
|
||||
if ((Len == 0) && (Left != 0)) {
|
||||
goto SetPersistTimer;
|
||||
}
|
||||
|
||||
@@ -231,14 +226,13 @@ TcpDataToSend (
|
||||
// expecting an ACK, or the Nagle algorithm is disabled.
|
||||
//
|
||||
if ((Len == Tcb->SndMss) || (2 * Len >= Tcb->SndWndMax)) {
|
||||
|
||||
return Len;
|
||||
}
|
||||
|
||||
if ((Len == Left) &&
|
||||
((Tcb->SndNxt == Tcb->SndUna) || TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_NO_NAGLE))
|
||||
) {
|
||||
|
||||
)
|
||||
{
|
||||
return Len;
|
||||
}
|
||||
|
||||
@@ -248,11 +242,10 @@ TcpDataToSend (
|
||||
//
|
||||
SetPersistTimer:
|
||||
if (!TCP_TIMER_ON (Tcb->EnabledTimer, TCP_TIMER_REXMIT)) {
|
||||
|
||||
DEBUG (
|
||||
(DEBUG_WARN,
|
||||
"TcpDataToSend: enter persistent state for TCB %p\n",
|
||||
Tcb)
|
||||
"TcpDataToSend: enter persistent state for TCB %p\n",
|
||||
Tcb)
|
||||
);
|
||||
|
||||
if (!Tcb->ProbeTimerOn) {
|
||||
@@ -276,8 +269,8 @@ SetPersistTimer:
|
||||
**/
|
||||
INTN
|
||||
TcpTransmitSegment (
|
||||
IN OUT TCP_CB *Tcb,
|
||||
IN NET_BUF *Nbuf
|
||||
IN OUT TCP_CB *Tcb,
|
||||
IN NET_BUF *Nbuf
|
||||
)
|
||||
{
|
||||
UINT16 Len;
|
||||
@@ -294,14 +287,12 @@ TcpTransmitSegment (
|
||||
|
||||
DataLen = Nbuf->TotalSize;
|
||||
|
||||
Seg = TCPSEG_NETBUF (Nbuf);
|
||||
Syn = TCP_FLG_ON (Seg->Flag, TCP_FLG_SYN);
|
||||
Seg = TCPSEG_NETBUF (Nbuf);
|
||||
Syn = TCP_FLG_ON (Seg->Flag, TCP_FLG_SYN);
|
||||
|
||||
if (Syn) {
|
||||
|
||||
Len = TcpSynBuildOption (Tcb, Nbuf);
|
||||
} else {
|
||||
|
||||
Len = TcpBuildOption (Tcb, Nbuf);
|
||||
}
|
||||
|
||||
@@ -309,24 +300,24 @@ TcpTransmitSegment (
|
||||
|
||||
Len += sizeof (TCP_HEAD);
|
||||
|
||||
Head = (TCP_HEAD *) NetbufAllocSpace (
|
||||
Nbuf,
|
||||
sizeof (TCP_HEAD),
|
||||
NET_BUF_HEAD
|
||||
);
|
||||
Head = (TCP_HEAD *)NetbufAllocSpace (
|
||||
Nbuf,
|
||||
sizeof (TCP_HEAD),
|
||||
NET_BUF_HEAD
|
||||
);
|
||||
|
||||
ASSERT (Head != NULL);
|
||||
|
||||
Nbuf->Tcp = Head;
|
||||
Nbuf->Tcp = Head;
|
||||
|
||||
Head->SrcPort = Tcb->LocalEnd.Port;
|
||||
Head->DstPort = Tcb->RemoteEnd.Port;
|
||||
Head->Seq = NTOHL (Seg->Seq);
|
||||
Head->Ack = NTOHL (Tcb->RcvNxt);
|
||||
Head->HeadLen = (UINT8) (Len >> 2);
|
||||
Head->Res = 0;
|
||||
Head->Wnd = TcpComputeWnd (Tcb, Syn);
|
||||
Head->Checksum = 0;
|
||||
Head->SrcPort = Tcb->LocalEnd.Port;
|
||||
Head->DstPort = Tcb->RemoteEnd.Port;
|
||||
Head->Seq = NTOHL (Seg->Seq);
|
||||
Head->Ack = NTOHL (Tcb->RcvNxt);
|
||||
Head->HeadLen = (UINT8)(Len >> 2);
|
||||
Head->Res = 0;
|
||||
Head->Wnd = TcpComputeWnd (Tcb, Syn);
|
||||
Head->Checksum = 0;
|
||||
|
||||
//
|
||||
// Check whether to set the PSH flag.
|
||||
@@ -336,13 +327,11 @@ TcpTransmitSegment (
|
||||
if (DataLen != 0) {
|
||||
if (TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_SND_PSH) &&
|
||||
TCP_SEQ_BETWEEN (Seg->Seq, Tcb->SndPsh, Seg->End)
|
||||
) {
|
||||
|
||||
)
|
||||
{
|
||||
TCP_SET_FLG (Seg->Flag, TCP_FLG_PSH);
|
||||
TCP_CLEAR_FLG (Tcb->CtrlFlag, TCP_CTRL_SND_PSH);
|
||||
|
||||
} else if ((Seg->End == Tcb->SndNxt) && (GET_SND_DATASIZE (Tcb->Sk) == 0)) {
|
||||
|
||||
TCP_SET_FLG (Seg->Flag, TCP_FLG_PSH);
|
||||
}
|
||||
}
|
||||
@@ -353,25 +342,24 @@ TcpTransmitSegment (
|
||||
TCP_CLEAR_FLG (Seg->Flag, TCP_FLG_URG);
|
||||
|
||||
if (TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_SND_URG) && TCP_SEQ_LEQ (Seg->Seq, Tcb->SndUp)) {
|
||||
|
||||
TCP_SET_FLG (Seg->Flag, TCP_FLG_URG);
|
||||
|
||||
if (TCP_SEQ_LT (Tcb->SndUp, Seg->End)) {
|
||||
|
||||
Seg->Urg = (UINT16) TCP_SUB_SEQ (Tcb->SndUp, Seg->Seq);
|
||||
Seg->Urg = (UINT16)TCP_SUB_SEQ (Tcb->SndUp, Seg->Seq);
|
||||
} else {
|
||||
|
||||
Seg->Urg = (UINT16) MIN (
|
||||
TCP_SUB_SEQ (Tcb->SndUp,
|
||||
Seg->Seq),
|
||||
0xffff
|
||||
);
|
||||
Seg->Urg = (UINT16)MIN (
|
||||
TCP_SUB_SEQ (
|
||||
Tcb->SndUp,
|
||||
Seg->Seq
|
||||
),
|
||||
0xffff
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Head->Flag = Seg->Flag;
|
||||
Head->Urg = NTOHS (Seg->Urg);
|
||||
Head->Checksum = TcpChecksum (Nbuf, Tcb->HeadSum);
|
||||
Head->Flag = Seg->Flag;
|
||||
Head->Urg = NTOHS (Seg->Urg);
|
||||
Head->Checksum = TcpChecksum (Nbuf, Tcb->HeadSum);
|
||||
|
||||
//
|
||||
// Update the TCP session's control information.
|
||||
@@ -401,38 +389,37 @@ TcpTransmitSegment (
|
||||
**/
|
||||
NET_BUF *
|
||||
TcpGetSegmentSndQue (
|
||||
IN TCP_CB *Tcb,
|
||||
IN TCP_SEQNO Seq,
|
||||
IN UINT32 Len
|
||||
IN TCP_CB *Tcb,
|
||||
IN TCP_SEQNO Seq,
|
||||
IN UINT32 Len
|
||||
)
|
||||
{
|
||||
LIST_ENTRY *Head;
|
||||
LIST_ENTRY *Cur;
|
||||
NET_BUF *Node;
|
||||
TCP_SEG *Seg;
|
||||
NET_BUF *Nbuf;
|
||||
TCP_SEQNO End;
|
||||
UINT8 *Data;
|
||||
UINT8 Flag;
|
||||
INT32 Offset;
|
||||
INT32 CopyLen;
|
||||
LIST_ENTRY *Head;
|
||||
LIST_ENTRY *Cur;
|
||||
NET_BUF *Node;
|
||||
TCP_SEG *Seg;
|
||||
NET_BUF *Nbuf;
|
||||
TCP_SEQNO End;
|
||||
UINT8 *Data;
|
||||
UINT8 Flag;
|
||||
INT32 Offset;
|
||||
INT32 CopyLen;
|
||||
|
||||
ASSERT ((Tcb != NULL) && TCP_SEQ_LEQ (Seq, Tcb->SndNxt) && (Len > 0));
|
||||
|
||||
//
|
||||
// Find the segment that contains the Seq.
|
||||
//
|
||||
Head = &Tcb->SndQue;
|
||||
Head = &Tcb->SndQue;
|
||||
|
||||
Node = NULL;
|
||||
Seg = NULL;
|
||||
Node = NULL;
|
||||
Seg = NULL;
|
||||
|
||||
NET_LIST_FOR_EACH (Cur, Head) {
|
||||
Node = NET_LIST_USER_STRUCT (Cur, NET_BUF, List);
|
||||
Seg = TCPSEG_NETBUF (Node);
|
||||
Node = NET_LIST_USER_STRUCT (Cur, NET_BUF, List);
|
||||
Seg = TCPSEG_NETBUF (Node);
|
||||
|
||||
if (TCP_SEQ_LT (Seq, Seg->End) && TCP_SEQ_LEQ (Seg->Seq, Seq)) {
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -448,8 +435,8 @@ TcpGetSegmentSndQue (
|
||||
if ((Seg->Seq == Seq) &&
|
||||
TCP_SEQ_LEQ (Seg->End, Seg->Seq + Len) &&
|
||||
!NET_BUF_SHARED (Node)
|
||||
) {
|
||||
|
||||
)
|
||||
{
|
||||
NET_GET_REF (Node);
|
||||
return Node;
|
||||
}
|
||||
@@ -465,8 +452,8 @@ TcpGetSegmentSndQue (
|
||||
|
||||
NetbufReserve (Nbuf, TCP_MAX_HEAD);
|
||||
|
||||
Flag = Seg->Flag;
|
||||
End = Seg->End;
|
||||
Flag = Seg->Flag;
|
||||
End = Seg->End;
|
||||
|
||||
if (TCP_SEQ_LT (Seq + Len, Seg->End)) {
|
||||
End = Seq + Len;
|
||||
@@ -482,13 +469,10 @@ TcpGetSegmentSndQue (
|
||||
// one byte less.
|
||||
//
|
||||
if (TCP_FLG_ON (Seg->Flag, TCP_FLG_SYN)) {
|
||||
|
||||
if (TCP_SEQ_LT (Seg->Seq, Seq)) {
|
||||
|
||||
TCP_CLEAR_FLG (Flag, TCP_FLG_SYN);
|
||||
Offset--;
|
||||
} else {
|
||||
|
||||
CopyLen--;
|
||||
}
|
||||
}
|
||||
@@ -498,12 +482,9 @@ TcpGetSegmentSndQue (
|
||||
// and if it is out of the range, clear the flag.
|
||||
//
|
||||
if (TCP_FLG_ON (Seg->Flag, TCP_FLG_FIN)) {
|
||||
|
||||
if (Seg->End == End) {
|
||||
|
||||
CopyLen--;
|
||||
} else {
|
||||
|
||||
TCP_CLEAR_FLG (Flag, TCP_FLG_FIN);
|
||||
}
|
||||
}
|
||||
@@ -517,16 +498,16 @@ TcpGetSegmentSndQue (
|
||||
Data = NetbufAllocSpace (Nbuf, CopyLen, NET_BUF_TAIL);
|
||||
ASSERT (Data != NULL);
|
||||
|
||||
if ((INT32) NetbufCopy (Node, Offset, CopyLen, Data) != CopyLen) {
|
||||
if ((INT32)NetbufCopy (Node, Offset, CopyLen, Data) != CopyLen) {
|
||||
goto OnError;
|
||||
}
|
||||
}
|
||||
|
||||
CopyMem (TCPSEG_NETBUF (Nbuf), Seg, sizeof (TCP_SEG));
|
||||
|
||||
TCPSEG_NETBUF (Nbuf)->Seq = Seq;
|
||||
TCPSEG_NETBUF (Nbuf)->End = End;
|
||||
TCPSEG_NETBUF (Nbuf)->Flag = Flag;
|
||||
TCPSEG_NETBUF (Nbuf)->Seq = Seq;
|
||||
TCPSEG_NETBUF (Nbuf)->End = End;
|
||||
TCPSEG_NETBUF (Nbuf)->Flag = Flag;
|
||||
|
||||
return Nbuf;
|
||||
|
||||
@@ -547,14 +528,14 @@ OnError:
|
||||
**/
|
||||
NET_BUF *
|
||||
TcpGetSegmentSock (
|
||||
IN TCP_CB *Tcb,
|
||||
IN TCP_SEQNO Seq,
|
||||
IN UINT32 Len
|
||||
IN TCP_CB *Tcb,
|
||||
IN TCP_SEQNO Seq,
|
||||
IN UINT32 Len
|
||||
)
|
||||
{
|
||||
NET_BUF *Nbuf;
|
||||
UINT8 *Data;
|
||||
UINT32 DataGet;
|
||||
NET_BUF *Nbuf;
|
||||
UINT8 *Data;
|
||||
UINT32 DataGet;
|
||||
|
||||
ASSERT ((Tcb != NULL) && (Tcb->Sk != NULL));
|
||||
|
||||
@@ -563,8 +544,8 @@ TcpGetSegmentSock (
|
||||
if (Nbuf == NULL) {
|
||||
DEBUG (
|
||||
(DEBUG_ERROR,
|
||||
"TcpGetSegmentSock: failed to allocate a netbuf for TCB %p\n",
|
||||
Tcb)
|
||||
"TcpGetSegmentSock: failed to allocate a netbuf for TCB %p\n",
|
||||
Tcb)
|
||||
);
|
||||
|
||||
return NULL;
|
||||
@@ -592,7 +573,6 @@ TcpGetSegmentSock (
|
||||
InsertTailList (&(Tcb->SndQue), &(Nbuf->List));
|
||||
|
||||
if (DataGet != 0) {
|
||||
|
||||
SockDataSent (Tcb->Sk, DataGet);
|
||||
}
|
||||
|
||||
@@ -612,12 +592,12 @@ TcpGetSegmentSock (
|
||||
**/
|
||||
NET_BUF *
|
||||
TcpGetSegment (
|
||||
IN TCP_CB *Tcb,
|
||||
IN TCP_SEQNO Seq,
|
||||
IN UINT32 Len
|
||||
IN TCP_CB *Tcb,
|
||||
IN TCP_SEQNO Seq,
|
||||
IN UINT32 Len
|
||||
)
|
||||
{
|
||||
NET_BUF *Nbuf;
|
||||
NET_BUF *Nbuf;
|
||||
|
||||
ASSERT (Tcb != NULL);
|
||||
|
||||
@@ -625,10 +605,8 @@ TcpGetSegment (
|
||||
// Compare the SndNxt with the max sequence number sent.
|
||||
//
|
||||
if ((Len != 0) && TCP_SEQ_LT (Seq, TcpGetMaxSndNxt (Tcb))) {
|
||||
|
||||
Nbuf = TcpGetSegmentSndQue (Tcb, Seq, Len);
|
||||
} else {
|
||||
|
||||
Nbuf = TcpGetSegmentSock (Tcb, Seq, Len);
|
||||
}
|
||||
|
||||
@@ -652,12 +630,12 @@ TcpGetSegment (
|
||||
**/
|
||||
INTN
|
||||
TcpRetransmit (
|
||||
IN TCP_CB *Tcb,
|
||||
IN TCP_SEQNO Seq
|
||||
IN TCP_CB *Tcb,
|
||||
IN TCP_SEQNO Seq
|
||||
)
|
||||
{
|
||||
NET_BUF *Nbuf;
|
||||
UINT32 Len;
|
||||
NET_BUF *Nbuf;
|
||||
UINT32 Len;
|
||||
|
||||
//
|
||||
// Compute the maximum length of retransmission. It is
|
||||
@@ -675,22 +653,21 @@ TcpRetransmit (
|
||||
// as the original segment was in window when it was sent.
|
||||
//
|
||||
if ((Tcb->SndWndScale != 0) &&
|
||||
(TCP_SEQ_GT (Seq, Tcb->RetxmitSeqMax) || TCP_SEQ_BETWEEN (Tcb->SndWl2 + Tcb->SndWnd, Seq, Tcb->SndWl2 + Tcb->SndWnd + (1 << Tcb->SndWndScale)))) {
|
||||
(TCP_SEQ_GT (Seq, Tcb->RetxmitSeqMax) || TCP_SEQ_BETWEEN (Tcb->SndWl2 + Tcb->SndWnd, Seq, Tcb->SndWl2 + Tcb->SndWnd + (1 << Tcb->SndWndScale))))
|
||||
{
|
||||
Len = TCP_SUB_SEQ (Tcb->SndNxt, Seq);
|
||||
DEBUG (
|
||||
(DEBUG_WARN,
|
||||
"TcpRetransmit: retransmission without regard to the receiver window for TCB %p\n",
|
||||
Tcb)
|
||||
"TcpRetransmit: retransmission without regard to the receiver window for TCB %p\n",
|
||||
Tcb)
|
||||
);
|
||||
|
||||
} else if (TCP_SEQ_GEQ (Tcb->SndWl2 + Tcb->SndWnd, Seq)) {
|
||||
Len = TCP_SUB_SEQ (Tcb->SndWl2 + Tcb->SndWnd, Seq);
|
||||
|
||||
} else {
|
||||
DEBUG (
|
||||
(DEBUG_WARN,
|
||||
"TcpRetransmit: retransmission cancelled because send window too small for TCB %p\n",
|
||||
Tcb)
|
||||
"TcpRetransmit: retransmission cancelled because send window too small for TCB %p\n",
|
||||
Tcb)
|
||||
);
|
||||
|
||||
return 0;
|
||||
@@ -746,16 +723,17 @@ OnError:
|
||||
**/
|
||||
INTN
|
||||
TcpCheckSndQue (
|
||||
IN LIST_ENTRY *Head
|
||||
IN LIST_ENTRY *Head
|
||||
)
|
||||
{
|
||||
LIST_ENTRY *Entry;
|
||||
NET_BUF *Nbuf;
|
||||
TCP_SEQNO Seq;
|
||||
LIST_ENTRY *Entry;
|
||||
NET_BUF *Nbuf;
|
||||
TCP_SEQNO Seq;
|
||||
|
||||
if (IsListEmpty (Head)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
//
|
||||
// Initialize the Seq.
|
||||
//
|
||||
@@ -796,24 +774,23 @@ TcpCheckSndQue (
|
||||
**/
|
||||
INTN
|
||||
TcpToSendData (
|
||||
IN OUT TCP_CB *Tcb,
|
||||
IN INTN Force
|
||||
IN OUT TCP_CB *Tcb,
|
||||
IN INTN Force
|
||||
)
|
||||
{
|
||||
UINT32 Len;
|
||||
INTN Sent;
|
||||
UINT8 Flag;
|
||||
NET_BUF *Nbuf;
|
||||
TCP_SEG *Seg;
|
||||
TCP_SEQNO Seq;
|
||||
TCP_SEQNO End;
|
||||
UINT32 Len;
|
||||
INTN Sent;
|
||||
UINT8 Flag;
|
||||
NET_BUF *Nbuf;
|
||||
TCP_SEG *Seg;
|
||||
TCP_SEQNO Seq;
|
||||
TCP_SEQNO End;
|
||||
|
||||
ASSERT ((Tcb != NULL) && (Tcb->Sk != NULL) && (Tcb->State != TCP_LISTEN));
|
||||
|
||||
Sent = 0;
|
||||
|
||||
if ((Tcb->State == TCP_CLOSED) || TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_FIN_SENT)) {
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -821,14 +798,13 @@ TcpToSendData (
|
||||
//
|
||||
// Compute how much data can be sent
|
||||
//
|
||||
Len = TcpDataToSend (Tcb, Force);
|
||||
Seq = Tcb->SndNxt;
|
||||
Len = TcpDataToSend (Tcb, Force);
|
||||
Seq = Tcb->SndNxt;
|
||||
|
||||
ASSERT ((Tcb->State) < (ARRAY_SIZE (mTcpOutFlag)));
|
||||
Flag = mTcpOutFlag[Tcb->State];
|
||||
Flag = mTcpOutFlag[Tcb->State];
|
||||
|
||||
if ((Flag & TCP_FLG_SYN) != 0) {
|
||||
|
||||
Seq = Tcb->Iss;
|
||||
Len = 0;
|
||||
}
|
||||
@@ -846,8 +822,8 @@ TcpToSendData (
|
||||
if (Nbuf == NULL) {
|
||||
DEBUG (
|
||||
(DEBUG_ERROR,
|
||||
"TcpToSendData: failed to get a segment for TCB %p\n",
|
||||
Tcb)
|
||||
"TcpToSendData: failed to get a segment for TCB %p\n",
|
||||
Tcb)
|
||||
);
|
||||
|
||||
goto OnError;
|
||||
@@ -872,12 +848,13 @@ TcpToSendData (
|
||||
if ((TcpGetMaxSndNxt (Tcb) == Tcb->SndNxt) &&
|
||||
(GET_SND_DATASIZE (Tcb->Sk) == 0) &&
|
||||
TCP_SEQ_LT (End + 1, Tcb->SndWnd + Tcb->SndWl2)
|
||||
) {
|
||||
)
|
||||
{
|
||||
DEBUG (
|
||||
(DEBUG_NET,
|
||||
"TcpToSendData: send FIN to peer for TCB %p in state %s\n",
|
||||
Tcb,
|
||||
mTcpStateName[Tcb->State])
|
||||
"TcpToSendData: send FIN to peer for TCB %p in state %s\n",
|
||||
Tcb,
|
||||
mTcpStateName[Tcb->State])
|
||||
);
|
||||
|
||||
End++;
|
||||
@@ -890,11 +867,11 @@ TcpToSendData (
|
||||
Seg->End = End;
|
||||
Seg->Flag = Flag;
|
||||
|
||||
if (TcpVerifySegment (Nbuf) == 0 || TcpCheckSndQue (&Tcb->SndQue) == 0) {
|
||||
if ((TcpVerifySegment (Nbuf) == 0) || (TcpCheckSndQue (&Tcb->SndQue) == 0)) {
|
||||
DEBUG (
|
||||
(DEBUG_ERROR,
|
||||
"TcpToSendData: discard a broken segment for TCB %p\n",
|
||||
Tcb)
|
||||
"TcpToSendData: discard a broken segment for TCB %p\n",
|
||||
Tcb)
|
||||
);
|
||||
goto OnError;
|
||||
}
|
||||
@@ -905,8 +882,8 @@ TcpToSendData (
|
||||
if (Seg->End == Seg->Seq) {
|
||||
DEBUG (
|
||||
(DEBUG_WARN,
|
||||
"TcpToSendData: created a empty segment for TCB %p, free it now\n",
|
||||
Tcb)
|
||||
"TcpToSendData: created a empty segment for TCB %p, free it now\n",
|
||||
Tcb)
|
||||
);
|
||||
|
||||
goto OnError;
|
||||
@@ -916,7 +893,7 @@ TcpToSendData (
|
||||
NetbufTrim (Nbuf, (Nbuf->Tcp->HeadLen << 2), NET_BUF_HEAD);
|
||||
Nbuf->Tcp = NULL;
|
||||
|
||||
if ((Flag & TCP_FLG_FIN) != 0) {
|
||||
if ((Flag & TCP_FLG_FIN) != 0) {
|
||||
TCP_SET_FLG (Tcb->CtrlFlag, TCP_CTRL_FIN_SENT);
|
||||
}
|
||||
|
||||
@@ -957,19 +934,17 @@ TcpToSendData (
|
||||
// Karn's algorithm requires not to update RTT when in loss.
|
||||
//
|
||||
if ((Tcb->CongestState == TCP_CONGEST_OPEN) && !TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_RTT_ON)) {
|
||||
|
||||
DEBUG (
|
||||
(DEBUG_NET,
|
||||
"TcpToSendData: set RTT measure sequence %d for TCB %p\n",
|
||||
Seq,
|
||||
Tcb)
|
||||
"TcpToSendData: set RTT measure sequence %d for TCB %p\n",
|
||||
Seq,
|
||||
Tcb)
|
||||
);
|
||||
|
||||
TCP_SET_FLG (Tcb->CtrlFlag, TCP_CTRL_RTT_ON);
|
||||
Tcb->RttSeq = Seq;
|
||||
Tcb->RttMeasure = 0;
|
||||
}
|
||||
|
||||
} while (Len == Tcb->SndMss);
|
||||
|
||||
return Sent;
|
||||
@@ -990,11 +965,11 @@ OnError:
|
||||
**/
|
||||
VOID
|
||||
TcpSendAck (
|
||||
IN OUT TCP_CB *Tcb
|
||||
IN OUT TCP_CB *Tcb
|
||||
)
|
||||
{
|
||||
NET_BUF *Nbuf;
|
||||
TCP_SEG *Seg;
|
||||
NET_BUF *Nbuf;
|
||||
TCP_SEG *Seg;
|
||||
|
||||
Nbuf = NetbufAlloc (TCP_MAX_HEAD);
|
||||
|
||||
@@ -1028,11 +1003,11 @@ TcpSendAck (
|
||||
**/
|
||||
INTN
|
||||
TcpSendZeroProbe (
|
||||
IN OUT TCP_CB *Tcb
|
||||
IN OUT TCP_CB *Tcb
|
||||
)
|
||||
{
|
||||
NET_BUF *Nbuf;
|
||||
TCP_SEG *Seg;
|
||||
NET_BUF *Nbuf;
|
||||
TCP_SEG *Seg;
|
||||
INTN Result;
|
||||
|
||||
Nbuf = NetbufAlloc (TCP_MAX_HEAD);
|
||||
@@ -1052,7 +1027,7 @@ TcpSendZeroProbe (
|
||||
Seg->End = Tcb->SndNxt - 1;
|
||||
Seg->Flag = TCP_FLG_ACK;
|
||||
|
||||
Result = TcpTransmitSegment (Tcb, Nbuf);
|
||||
Result = TcpTransmitSegment (Tcb, Nbuf);
|
||||
NetbufFree (Nbuf);
|
||||
|
||||
return Result;
|
||||
@@ -1066,10 +1041,10 @@ TcpSendZeroProbe (
|
||||
**/
|
||||
VOID
|
||||
TcpToSendAck (
|
||||
IN OUT TCP_CB *Tcb
|
||||
IN OUT TCP_CB *Tcb
|
||||
)
|
||||
{
|
||||
UINT32 TcpNow;
|
||||
UINT32 TcpNow;
|
||||
|
||||
//
|
||||
// Generally, TCP should send a delayed ACK unless:
|
||||
@@ -1091,8 +1066,8 @@ TcpToSendAck (
|
||||
|
||||
DEBUG (
|
||||
(DEBUG_NET,
|
||||
"TcpToSendAck: scheduled a delayed ACK for TCB %p\n",
|
||||
Tcb)
|
||||
"TcpToSendAck: scheduled a delayed ACK for TCB %p\n",
|
||||
Tcb)
|
||||
);
|
||||
|
||||
//
|
||||
@@ -1143,7 +1118,7 @@ TcpSendReset (
|
||||
return -1;
|
||||
}
|
||||
|
||||
Nhead = (TCP_HEAD *) NetbufAllocSpace (
|
||||
Nhead = (TCP_HEAD *)NetbufAllocSpace (
|
||||
Nbuf,
|
||||
sizeof (TCP_HEAD),
|
||||
NET_BUF_TAIL
|
||||
@@ -1159,25 +1134,23 @@ TcpSendReset (
|
||||
// is associated with it, otherwise derive from the Tcb.
|
||||
//
|
||||
if (Tcb == NULL) {
|
||||
|
||||
if (TCP_FLG_ON (Head->Flag, TCP_FLG_ACK)) {
|
||||
Nhead->Seq = Head->Ack;
|
||||
Nhead->Ack = 0;
|
||||
Nhead->Seq = Head->Ack;
|
||||
Nhead->Ack = 0;
|
||||
} else {
|
||||
Nhead->Seq = 0;
|
||||
TCP_SET_FLG (Nhead->Flag, TCP_FLG_ACK);
|
||||
Nhead->Ack = HTONL (NTOHL (Head->Seq) + Len);
|
||||
}
|
||||
} else {
|
||||
|
||||
Nhead->Seq = HTONL (Tcb->SndNxt);
|
||||
Nhead->Ack = HTONL (Tcb->RcvNxt);
|
||||
Nhead->Seq = HTONL (Tcb->SndNxt);
|
||||
Nhead->Ack = HTONL (Tcb->RcvNxt);
|
||||
TCP_SET_FLG (Nhead->Flag, TCP_FLG_ACK);
|
||||
}
|
||||
|
||||
Nhead->SrcPort = Head->DstPort;
|
||||
Nhead->DstPort = Head->SrcPort;
|
||||
Nhead->HeadLen = (UINT8) (sizeof (TCP_HEAD) >> 2);
|
||||
Nhead->HeadLen = (UINT8)(sizeof (TCP_HEAD) >> 2);
|
||||
Nhead->Res = 0;
|
||||
Nhead->Wnd = HTONS (0xFFFF);
|
||||
Nhead->Checksum = 0;
|
||||
@@ -1209,7 +1182,7 @@ TcpSendReset (
|
||||
**/
|
||||
INTN
|
||||
TcpVerifySegment (
|
||||
IN NET_BUF *Nbuf
|
||||
IN NET_BUF *Nbuf
|
||||
)
|
||||
{
|
||||
TCP_HEAD *Head;
|
||||
@@ -1222,9 +1195,9 @@ TcpVerifySegment (
|
||||
|
||||
NET_CHECK_SIGNATURE (Nbuf, NET_BUF_SIGNATURE);
|
||||
|
||||
Seg = TCPSEG_NETBUF (Nbuf);
|
||||
Len = Nbuf->TotalSize;
|
||||
Head = Nbuf->Tcp;
|
||||
Seg = TCPSEG_NETBUF (Nbuf);
|
||||
Len = Nbuf->TotalSize;
|
||||
Head = Nbuf->Tcp;
|
||||
|
||||
if (Head != NULL) {
|
||||
if (Head->Flag != Seg->Flag) {
|
||||
|
Reference in New Issue
Block a user