mirror of https://github.com/acidanthera/audk.git
NetworkPkg: Do not use hard coded TTL/ToS in PXE driver.
EFI_PXE_BASE_CODE_PROTOCOL has interface to set the TTL and ToS value, but not used by the UdpWrite() interface. The code always use a hard coded 16 for the TTL and 0 for ToS. This patch update the UpdWrite() to use the TTL and ToS which have been set by the SetParameters(). Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-By: Wu Jiaxin <jiaxin.wu@intel.com> Reviewed-By: Samer El-Haj-Mahmoud <elhaj@hpe.com>
This commit is contained in:
parent
a2cc5fea44
commit
6f2f4116eb
|
@ -1,7 +1,7 @@
|
||||||
/** @file
|
/** @file
|
||||||
This implementation of EFI_PXE_BASE_CODE_PROTOCOL and EFI_LOAD_FILE_PROTOCOL.
|
This implementation of EFI_PXE_BASE_CODE_PROTOCOL and EFI_LOAD_FILE_PROTOCOL.
|
||||||
|
|
||||||
Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||||
|
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
@ -1125,7 +1125,9 @@ EfiPxeBcUdpWrite (
|
||||||
&Private->SubnetMask.v4,
|
&Private->SubnetMask.v4,
|
||||||
&Private->GatewayIp.v4,
|
&Private->GatewayIp.v4,
|
||||||
&Private->CurSrcPort,
|
&Private->CurSrcPort,
|
||||||
DoNotFragment
|
DoNotFragment,
|
||||||
|
Private->Mode.TTL,
|
||||||
|
Private->Mode.ToS
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/** @file
|
/** @file
|
||||||
Support functions implementation for UefiPxeBc Driver.
|
Support functions implementation for UefiPxeBc Driver.
|
||||||
|
|
||||||
Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||||
|
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
@ -489,6 +489,8 @@ PxeBcIcmp6ErrorUpdate (
|
||||||
@param[in, out] SrcPort The pointer to the source port.
|
@param[in, out] SrcPort The pointer to the source port.
|
||||||
@param[in] DoNotFragment If TRUE, fragment is not enabled.
|
@param[in] DoNotFragment If TRUE, fragment is not enabled.
|
||||||
Otherwise, fragment is enabled.
|
Otherwise, fragment is enabled.
|
||||||
|
@param[in] TTL The time to live field of the IP header.
|
||||||
|
@param[in] ToS The type of service field of the IP header.
|
||||||
|
|
||||||
@retval EFI_SUCCESS Successfully configured this instance.
|
@retval EFI_SUCCESS Successfully configured this instance.
|
||||||
@retval Others Failed to configure this instance.
|
@retval Others Failed to configure this instance.
|
||||||
|
@ -501,7 +503,9 @@ PxeBcConfigUdp4Write (
|
||||||
IN EFI_IPv4_ADDRESS *SubnetMask,
|
IN EFI_IPv4_ADDRESS *SubnetMask,
|
||||||
IN EFI_IPv4_ADDRESS *Gateway,
|
IN EFI_IPv4_ADDRESS *Gateway,
|
||||||
IN OUT UINT16 *SrcPort,
|
IN OUT UINT16 *SrcPort,
|
||||||
IN BOOLEAN DoNotFragment
|
IN BOOLEAN DoNotFragment,
|
||||||
|
IN UINT8 TTL,
|
||||||
|
IN UINT8 ToS
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
EFI_UDP4_CONFIG_DATA Udp4CfgData;
|
EFI_UDP4_CONFIG_DATA Udp4CfgData;
|
||||||
|
@ -511,8 +515,8 @@ PxeBcConfigUdp4Write (
|
||||||
|
|
||||||
Udp4CfgData.TransmitTimeout = PXEBC_DEFAULT_LIFETIME;
|
Udp4CfgData.TransmitTimeout = PXEBC_DEFAULT_LIFETIME;
|
||||||
Udp4CfgData.ReceiveTimeout = PXEBC_DEFAULT_LIFETIME;
|
Udp4CfgData.ReceiveTimeout = PXEBC_DEFAULT_LIFETIME;
|
||||||
Udp4CfgData.TypeOfService = DEFAULT_ToS;
|
Udp4CfgData.TypeOfService = ToS;
|
||||||
Udp4CfgData.TimeToLive = DEFAULT_TTL;
|
Udp4CfgData.TimeToLive = TTL;
|
||||||
Udp4CfgData.AllowDuplicatePort = TRUE;
|
Udp4CfgData.AllowDuplicatePort = TRUE;
|
||||||
Udp4CfgData.DoNotFragment = DoNotFragment;
|
Udp4CfgData.DoNotFragment = DoNotFragment;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/** @file
|
/** @file
|
||||||
Support functions declaration for UefiPxeBc Driver.
|
Support functions declaration for UefiPxeBc Driver.
|
||||||
|
|
||||||
Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||||
|
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
@ -128,13 +128,15 @@ PxeBcIcmp6ErrorUpdate (
|
||||||
/**
|
/**
|
||||||
This function is to configure a UDPv4 instance for UdpWrite.
|
This function is to configure a UDPv4 instance for UdpWrite.
|
||||||
|
|
||||||
@param[in] Udp4 Pointer to EFI_UDP4_PROTOCOL.
|
@param[in] Udp4 The pointer to EFI_UDP4_PROTOCOL.
|
||||||
@param[in] StationIp Pointer to the station address.
|
@param[in] StationIp The pointer to the station address.
|
||||||
@param[in] SubnetMask Pointer to the subnet mask.
|
@param[in] SubnetMask The pointer to the subnet mask.
|
||||||
@param[in] Gateway Pointer to the gateway address.
|
@param[in] Gateway The pointer to the gateway address.
|
||||||
@param[in, out] SrcPort Pointer to the source port.
|
@param[in, out] SrcPort The pointer to the source port.
|
||||||
@param[in] DoNotFragment The flag of DoNotFragment bit in the IPv4
|
@param[in] DoNotFragment If TRUE, fragment is not enabled.
|
||||||
packet.
|
Otherwise, fragment is enabled.
|
||||||
|
@param[in] TTL The time to live field of the IP header.
|
||||||
|
@param[in] ToS The type of service field of the IP header.
|
||||||
|
|
||||||
@retval EFI_SUCCESS Successfully configured this instance.
|
@retval EFI_SUCCESS Successfully configured this instance.
|
||||||
@retval Others Failed to configure this instance.
|
@retval Others Failed to configure this instance.
|
||||||
|
@ -147,7 +149,9 @@ PxeBcConfigUdp4Write (
|
||||||
IN EFI_IPv4_ADDRESS *SubnetMask,
|
IN EFI_IPv4_ADDRESS *SubnetMask,
|
||||||
IN EFI_IPv4_ADDRESS *Gateway,
|
IN EFI_IPv4_ADDRESS *Gateway,
|
||||||
IN OUT UINT16 *SrcPort,
|
IN OUT UINT16 *SrcPort,
|
||||||
IN BOOLEAN DoNotFragment
|
IN BOOLEAN DoNotFragment,
|
||||||
|
IN UINT8 TTL,
|
||||||
|
IN UINT8 ToS
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue