_TCP_CONTROL_BLOCK Struct Reference


Data Fields

LIST_ENTRY List
 Back and forward link entry.
TCP_CBParent
 The parent TCP_CB structure.
SOCKETSk
 The socket it controled.
TCP_PEER LocalEnd
 Local endpoint.
TCP_PEER RemoteEnd
 Remote endpoint.
LIST_ENTRY SndQue
 Retxmission queue.
LIST_ENTRY RcvQue
 Reassemble queue.
UINT32 CtrlFlag
 Control flags, such as NO_NAGLE.
INT32 Error
 Soft error status, such as TCP_CONNECT_RESET.
UINT8 State
 TCP state, such as SYN_SENT, LISTEN.
UINT8 DelayedAck
 Number of delayed ACKs.
UINT16 HeadSum
TCP_SEQNO Iss
 Initial Sending Sequence.
TCP_SEQNO SndUna
 First unacknowledged data.
TCP_SEQNO SndNxt
 Next data sequence to send.
TCP_SEQNO SndPsh
 Send PUSH point.
TCP_SEQNO SndUp
 Send urgent point.
UINT32 SndWnd
 Window advertised by the remote peer.
UINT32 SndWndMax
 Max send window advertised by the peer.
TCP_SEQNO SndWl1
 Seq number used for last window update.
TCP_SEQNO SndWl2
 Ack no of last window update.
UINT16 SndMss
 Max send segment size.
TCP_SEQNO RcvNxt
 Next sequence no to receive.
UINT32 RcvWnd
 Window advertised by the local peer.
TCP_SEQNO RcvWl2
TCP_SEQNO RcvUp
 Urgent point;.
TCP_SEQNO Irs
 Initial Receiving Sequence.
UINT16 RcvMss
 Max receive segment size.
UINT16 EnabledTimer
 Which timer is currently enabled.
UINT32 Timer [TCP_TIMER_NUMBER]
 When the timer will expire.
INT32 NextExpire
 Countdown offset for the nearest timer.
UINT32 Idle
 How long the connection is in idle.
UINT32 ProbeTime
 The time out value for current window prober.
BOOLEAN ProbeTimerOn
 If TRUE, the probe time is on.
UINT8 SndWndScale
 Wndscale received from the peer.
UINT8 RcvWndScale
 Wndscale used to scale local buffer.
UINT32 TsRecent
 TsRecent to echo to the remote peer.
UINT32 TsRecentAge
 When this TsRecent is updated.
TCP_SEQNO RttSeq
 The seq of measured segment now.
UINT32 RttMeasure
 Currently measured RTT in heartbeats.
UINT32 SRtt
 Smoothed RTT, scaled by 8.
UINT32 RttVar
 RTT variance, scaled by 8.
UINT32 Rto
 Current RTO, not scaled.
UINT32 CWnd
 Sender's congestion window.
UINT32 Ssthresh
 Slow start threshold.
TCP_SEQNO Recover
 Recover point for NewReno.
UINT16 DupAck
 Number of duplicate ACKs.
UINT8 CongestState
 The current congestion state(RFC3782).
UINT8 LossTimes
 Number of retxmit timeouts in a row.
TCP_SEQNO LossRecover
 Recover point for retxmit.
UINT32 KeepAliveIdle
 Idle time before sending first probe.
UINT32 KeepAlivePeriod
 Interval for subsequent keep alive probe.
UINT8 MaxKeepAlive
 Maxium keep alive probe times.
UINT8 KeepAliveProbes
 The number of keep alive probe.
UINT16 MaxRexmit
 The maxium number of retxmit before abort.
UINT32 FinWait2Timeout
 The FIN_WAIT_2 timeout.
UINT32 TimeWaitTimeout
 The TIME_WAIT timeout.
UINT32 ConnectTimeout
 The connect establishment timeout.
BOOLEAN UseDefaultAddr
UINT8 Tos
UINT8 Ttl
EFI_IPv4_ADDRESS SubnetMask
BOOLEAN RemoteIpZero
 RemoteEnd.Ip is ZERO when configured.
IP_IO_IP_INFO * IpInfo
 Pointer reference to Ip used to send pkt.
UINT32 Tick
 1 tick = 200ms

Detailed Description

TCP control block: it includes various states.

Field Documentation

The current congestion state(RFC3782).

Referenced by TcpConfigurePcb(), and TcpInput().

The connect establishment timeout.

Referenced by TcpConfigurePcb(), and TcpInput().

Control flags, such as NO_NAGLE.

Referenced by TcpConfigurePcb(), TcpDispatcher(), TcpInput(), and TcpTickingDpc().

Sender's congestion window.

Referenced by TcpConfigurePcb(), and TcpInput().

Number of delayed ACKs.

Referenced by TcpTickingDpc().

Number of duplicate ACKs.

Referenced by TcpInput().

Which timer is currently enabled.

Referenced by TcpTickingDpc().

Soft error status, such as TCP_CONNECT_RESET.

The FIN_WAIT_2 timeout.

Referenced by TcpConfigurePcb(), and TcpInput().

Checksum of the fixed parts of pesudo header: Src IP, Dst IP, 0, Protocol, do not include the TCP length.

How long the connection is in idle.

Referenced by TcpInput(), and TcpTickingDpc().

Pointer reference to Ip used to send pkt.

Referenced by TcpAttachPcb(), TcpConfigurePcb(), TcpDetachPcb(), TcpInput(), and TcpTickingDpc().

Initial Receiving Sequence.

Initial Sending Sequence.

Referenced by TcpInput().

Idle time before sending first probe.

Referenced by TcpConfigurePcb().

Interval for subsequent keep alive probe.

Referenced by TcpConfigurePcb().

The number of keep alive probe.

Back and forward link entry.

Referenced by TcpAttachPcb(), TcpCloneTcb(), and TcpLocateTcb().

Recover point for retxmit.

Referenced by TcpInput().

Number of retxmit timeouts in a row.

Maxium keep alive probe times.

Referenced by TcpConfigurePcb().

The maxium number of retxmit before abort.

Referenced by TcpConfigurePcb().

Countdown offset for the nearest timer.

Referenced by TcpTickingDpc().

The parent TCP_CB structure.

Referenced by TcpInput().

The time out value for current window prober.

If TRUE, the probe time is on.

Referenced by TcpInput().

Max receive segment size.

Referenced by TcpConfigurePcb().

Next sequence no to receive.

Reassemble queue.

Referenced by TcpAttachPcb(), TcpCloneTcb(), TcpConfigurePcb(), and TcpInput().

Urgent point;.

Referenced by TcpInput().

The RcvNxt (or ACK) of last window update. It is necessary because of delayed ACK.

Referenced by TcpInput().

Window advertised by the local peer.

Wndscale used to scale local buffer.

Recover point for NewReno.

Referenced by TcpInput().

RemoteEnd.Ip is ZERO when configured.

Referenced by TcpConfigurePcb().

Current RTO, not scaled.

Referenced by TcpConfigurePcb(), and TcpInput().

Currently measured RTT in heartbeats.

Referenced by TcpInput(), and TcpTickingDpc().

The seq of measured segment now.

RTT variance, scaled by 8.

Max send segment size.

Referenced by TcpConfigurePcb(), and TcpInput().

Next data sequence to send.

Referenced by TcpIcmpInput(), and TcpInput().

Send PUSH point.

Referenced by TcpDispatcher().

Retxmission queue.

Referenced by TcpAttachPcb(), TcpCloneTcb(), and TcpConfigurePcb().

First unacknowledged data.

Referenced by TcpIcmpInput(), and TcpInput().

Send urgent point.

Referenced by TcpDispatcher(), and TcpInput().

Seq number used for last window update.

Referenced by TcpInput().

Ack no of last window update.

Referenced by TcpInput().

Window advertised by the remote peer.

Referenced by TcpInput().

Max send window advertised by the peer.

Referenced by TcpInput().

Wndscale received from the peer.

Referenced by TcpInput().

Smoothed RTT, scaled by 8.

Referenced by TcpConfigurePcb().

Slow start threshold.

Referenced by TcpConfigurePcb(), and TcpInput().

TCP state, such as SYN_SENT, LISTEN.

Referenced by TcpAttachPcb(), TcpConfigurePcb(), TcpIcmpInput(), TcpInput(), and TcpTickingDpc().

1 tick = 200ms

Referenced by TcpConfigurePcb(), TcpInput(), and TcpTickingDpc().

UINT32 _TCP_CONTROL_BLOCK::Timer[TCP_TIMER_NUMBER]

When the timer will expire.

Referenced by TcpTickingDpc().

The TIME_WAIT timeout.

Referenced by TcpConfigurePcb(), and TcpInput().

Referenced by TcpConfigurePcb().

TsRecent to echo to the remote peer.

Referenced by TcpInput().

When this TsRecent is updated.

Referenced by TcpInput().

Referenced by TcpConfigurePcb().


Generated on Mon Sep 28 08:49:07 2015 for NetworkPkg[ALL] by  doxygen 1.5.7.1