if (TxData->GatewayAddress != NULL) {\r
CopyMem (&GatewayAddress, TxData->GatewayAddress, sizeof (IP4_ADDR));\r
\r
- if (!NetIp4IsUnicast (NTOHL (GatewayAddress), 0)) {\r
+ if (!Instance->ConfigData.UseDefaultAddress &&\r
+ (EFI_NTOHL(Instance->ConfigData.SubnetMask) != 0) &&\r
+ !NetIp4IsUnicast (NTOHL (GatewayAddress), EFI_NTOHL(Instance->ConfigData.SubnetMask))) {\r
//\r
// The specified GatewayAddress is not a unicast IPv4 address while it's not 0.\r
//\r
\r
CopyMem (&SourceAddress, &UdpSessionData->SourceAddress, sizeof (IP4_ADDR));\r
\r
- if ((SourceAddress != 0) && !NetIp4IsUnicast (HTONL (SourceAddress), 0)) {\r
+ if ((SourceAddress != 0) && \r
+ !Instance->ConfigData.UseDefaultAddress &&\r
+ (EFI_NTOHL(Instance->ConfigData.SubnetMask) != 0) &&\r
+ !NetIp4IsUnicast (HTONL (SourceAddress), EFI_NTOHL(Instance->ConfigData.SubnetMask))) {\r
//\r
// Check whether SourceAddress is a valid IPv4 address in case it's not zero.\r
// The configured station address is used if SourceAddress is zero.\r