UDP4_INSTANCE_DATA *Instance;\r
EFI_TPL OldTpl;\r
NET_BUF *Packet;\r
- EFI_UDP4_HEADER *Udp4Header;\r
+ EFI_UDP_HEADER *Udp4Header;\r
EFI_UDP4_CONFIG_DATA *ConfigData;\r
IP4_ADDR Source;\r
IP4_ADDR Destination;\r
UDP4_SERVICE_DATA *Udp4Service;\r
IP_IO_OVERRIDE Override;\r
UINT16 HeadSum;\r
+ EFI_IP_ADDRESS IpDestAddr;\r
\r
if ((This == NULL) || (Token == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
Udp4Service = Instance->Udp4Service;\r
*((UINTN *) &Packet->ProtoData[0]) = (UINTN) (Udp4Service->IpIo);\r
\r
- Udp4Header = (EFI_UDP4_HEADER *) NetbufAllocSpace (Packet, UDP4_HEADER_SIZE, TRUE);\r
+ Udp4Header = (EFI_UDP_HEADER *) NetbufAllocSpace (Packet, UDP4_HEADER_SIZE, TRUE);\r
ASSERT (Udp4Header != NULL);\r
\r
ConfigData = &Instance->ConfigData;\r
Udp4Header->Checksum = 0;\r
\r
UdpSessionData = TxData->UdpSessionData;\r
- Override.SourceAddress = ConfigData->StationAddress;\r
+ Override.Ip4OverrideData.SourceAddress = ConfigData->StationAddress;\r
\r
if (UdpSessionData != NULL) {\r
//\r
// UdpSessionData.\r
//\r
if (!EFI_IP4_EQUAL (&UdpSessionData->SourceAddress, &mZeroIp4Addr)) {\r
- CopyMem (&Override.SourceAddress, &UdpSessionData->SourceAddress, sizeof (EFI_IPv4_ADDRESS));\r
+ CopyMem (&Override.Ip4OverrideData.SourceAddress, &UdpSessionData->SourceAddress, sizeof (EFI_IPv4_ADDRESS));\r
}\r
\r
if (UdpSessionData->SourcePort != 0) {\r
Udp4Header->DstPort = HTONS (UdpSessionData->DestinationPort);\r
}\r
\r
- CopyMem (&Source, &Override.SourceAddress, sizeof (IP4_ADDR));\r
+ CopyMem (&Source, &Override.Ip4OverrideData.SourceAddress, sizeof (IP4_ADDR));\r
CopyMem (&Destination, &UdpSessionData->DestinationAddress, sizeof (IP4_ADDR));\r
\r
//\r
// Fill the IpIo Override data.\r
//\r
if (TxData->GatewayAddress != NULL) {\r
- CopyMem (&Override.GatewayAddress, TxData->GatewayAddress, sizeof (EFI_IPv4_ADDRESS));\r
+ CopyMem (&Override.Ip4OverrideData.GatewayAddress, TxData->GatewayAddress, sizeof (EFI_IPv4_ADDRESS));\r
} else {\r
- ZeroMem (&Override.GatewayAddress, sizeof (EFI_IPv4_ADDRESS));\r
+ ZeroMem (&Override.Ip4OverrideData.GatewayAddress, sizeof (EFI_IPv4_ADDRESS));\r
}\r
\r
- Override.Protocol = EFI_IP_PROTO_UDP;\r
- Override.TypeOfService = ConfigData->TypeOfService;\r
- Override.TimeToLive = ConfigData->TimeToLive;\r
- Override.DoNotFragment = ConfigData->DoNotFragment;\r
+ Override.Ip4OverrideData.Protocol = EFI_IP_PROTO_UDP;\r
+ Override.Ip4OverrideData.TypeOfService = ConfigData->TypeOfService;\r
+ Override.Ip4OverrideData.TimeToLive = ConfigData->TimeToLive;\r
+ Override.Ip4OverrideData.DoNotFragment = ConfigData->DoNotFragment;\r
\r
//\r
// Save the token into the TxToken map.\r
//\r
// Send out this datagram through IpIo.\r
//\r
+ IpDestAddr.Addr[0] = Destination;\r
Status = IpIoSend (\r
Udp4Service->IpIo,\r
Packet,\r
Instance->IpInfo,\r
Instance,\r
Token,\r
- Destination,\r
+ &IpDestAddr,\r
&Override\r
);\r
if (EFI_ERROR (Status)) {\r