32 IN VOID *Context OPTIONAL
36 TcpInput (Pkt, &NetSession->Source, &NetSession->Dest, NetSession->IpVersion);
81 if (IpSender ==
NULL) {
82 DEBUG ((DEBUG_WARN,
"TcpSendIpPacket: No appropriate IpSender.\n"));
86 if (Version == IP_VERSION_6) {
99 IpIo = TcpProto->TcpService->IpIo;
100 IpSender = Tcb->IpInfo;
102 if (Version == IP_VERSION_6) {
107 if (!Tcb->RemoteIpZero) {
113 ASSERT (Version == IpIo->IpVersion);
115 if (Version == IP_VERSION_4) {
116 Override.Ip4OverrideData.TypeOfService = 0;
117 Override.Ip4OverrideData.TimeToLive = 255;
118 Override.Ip4OverrideData.DoNotFragment =
FALSE;
119 Override.Ip4OverrideData.Protocol = EFI_IP_PROTO_TCP;
123 Override.Ip6OverrideData.
Protocol = EFI_IP_PROTO_TCP;
124 Override.Ip6OverrideData.
HopLimit = 255;
130 if (EFI_ERROR (Status)) {
131 DEBUG ((DEBUG_ERROR,
"TcpSendIpPacket: return %r error\n", Status));
172 DEBUG ((DEBUG_WARN,
"Tcp6AddNeighbor: No appropriate IpIo.\n"));
173 return EFI_NOT_STARTED;
178 IpIo = TcpProto->TcpService->IpIo;
VOID *EFIAPI CopyMem(OUT VOID *DestinationBuffer, IN CONST VOID *SourceBuffer, IN UINTN Length)
VOID *EFIAPI ZeroMem(OUT VOID *Buffer, IN UINTN Length)
EFI_STATUS EFIAPI IpIoRefreshNeighbor(IN IP_IO *IpIo, IN EFI_IP_ADDRESS *Neighbor, IN UINT32 Timeout)
EFI_STATUS EFIAPI IpIoSend(IN OUT IP_IO *IpIo, IN OUT NET_BUF *Pkt, IN IP_IO_IP_INFO *Sender OPTIONAL, IN VOID *Context OPTIONAL, IN VOID *NotifyData OPTIONAL, IN EFI_IP_ADDRESS *Dest OPTIONAL, IN IP_IO_OVERRIDE *OverrideData OPTIONAL)
IP_IO_IP_INFO *EFIAPI IpIoFindSender(IN OUT IP_IO **IpIo, IN UINT8 IpVersion, IN EFI_IP_ADDRESS *Src)
#define DEBUG(Expression)
VOID TcpIcmpInput(IN NET_BUF *Nbuf, IN UINT8 IcmpErr, IN EFI_IP_ADDRESS *Src, IN EFI_IP_ADDRESS *Dst, IN UINT8 Version)
INTN TcpInput(IN NET_BUF *Nbuf, IN EFI_IP_ADDRESS *Src, IN EFI_IP_ADDRESS *Dst, IN UINT8 Version)
EFI_STATUS Tcp6RefreshNeighbor(IN TCP_CB *Tcb, IN EFI_IP_ADDRESS *Neighbor, IN UINT32 Timeout)
INTN TcpSendIpPacket(IN TCP_CB *Tcb, IN NET_BUF *Nbuf, IN EFI_IP_ADDRESS *Src, IN EFI_IP_ADDRESS *Dest, IN UINT8 Version)
VOID EFIAPI TcpRxCallback(IN EFI_STATUS Status, IN UINT8 IcmpErr, IN EFI_NET_SESSION_DATA *NetSession, IN NET_BUF *Pkt, IN VOID *Context OPTIONAL)
UINT8 HopLimit
Hop-Limit override.
UINT32 FlowLabel
Flow-Label override.
UINT8 Protocol
Protocol type override.
UINT8 ProtoReserved[PROTO_RESERVED_LEN]
Data fields reserved for protocol.