mirror of https://github.com/acidanthera/audk.git
MdeModulePkg: 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
6f2f4116eb
commit
60de3c19a7
|
@ -1,7 +1,7 @@
|
||||||
/** @file
|
/** @file
|
||||||
Interface routines for PxeBc.
|
Interface routines for PxeBc.
|
||||||
|
|
||||||
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
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
@ -1435,7 +1435,9 @@ EfiPxeBcUdpWrite (
|
||||||
&Private->StationIp.v4,
|
&Private->StationIp.v4,
|
||||||
&Private->SubnetMask.v4,
|
&Private->SubnetMask.v4,
|
||||||
&Private->GatewayIp.v4,
|
&Private->GatewayIp.v4,
|
||||||
&Private->CurrentUdpSrcPort
|
&Private->CurrentUdpSrcPort,
|
||||||
|
Private->Mode.TTL,
|
||||||
|
Private->Mode.ToS
|
||||||
);
|
);
|
||||||
if (EFI_ERROR (Status)) {
|
if (EFI_ERROR (Status)) {
|
||||||
Private->CurrentUdpSrcPort = 0;
|
Private->CurrentUdpSrcPort = 0;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/** @file
|
/** @file
|
||||||
Support routines for PxeBc.
|
Support routines for PxeBc.
|
||||||
|
|
||||||
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
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
@ -42,6 +42,8 @@ PxeBcCommonNotify (
|
||||||
@param SubnetMask Pointer to the subnetmask of the station ip address.
|
@param SubnetMask Pointer to the subnetmask of the station ip address.
|
||||||
@param Gateway Pointer to the gateway ip address.
|
@param Gateway Pointer to the gateway ip address.
|
||||||
@param SrcPort Pointer to the srouce port of the station.
|
@param SrcPort Pointer to the srouce port of the station.
|
||||||
|
@param TTL The time to live field of the IP header.
|
||||||
|
@param ToS The type of service field of the IP header.
|
||||||
|
|
||||||
@retval EFI_SUCCESS The configuration settings were set, changed, or reset successfully.
|
@retval EFI_SUCCESS The configuration settings were set, changed, or reset successfully.
|
||||||
@retval EFI_NO_MAPPING When using a default address, configuration (DHCP, BOOTP,
|
@retval EFI_NO_MAPPING When using a default address, configuration (DHCP, BOOTP,
|
||||||
|
@ -65,7 +67,9 @@ PxeBcConfigureUdpWriteInstance (
|
||||||
IN EFI_IPv4_ADDRESS *StationIp,
|
IN EFI_IPv4_ADDRESS *StationIp,
|
||||||
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 UINT8 TTL,
|
||||||
|
IN UINT8 ToS
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
EFI_UDP4_CONFIG_DATA Udp4CfgData;
|
EFI_UDP4_CONFIG_DATA Udp4CfgData;
|
||||||
|
@ -74,8 +78,8 @@ PxeBcConfigureUdpWriteInstance (
|
||||||
ZeroMem (&Udp4CfgData, sizeof (Udp4CfgData));
|
ZeroMem (&Udp4CfgData, sizeof (Udp4CfgData));
|
||||||
|
|
||||||
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;
|
||||||
|
|
||||||
CopyMem (&Udp4CfgData.StationAddress, StationIp, sizeof (*StationIp));
|
CopyMem (&Udp4CfgData.StationAddress, StationIp, sizeof (*StationIp));
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/** @file
|
/** @file
|
||||||
Support routines for PxeBc.
|
Support routines for PxeBc.
|
||||||
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
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
@ -38,6 +38,8 @@ PxeBcCommonNotify (
|
||||||
@param SubnetMask Pointer to the subnetmask of the station ip address.
|
@param SubnetMask Pointer to the subnetmask of the station ip address.
|
||||||
@param Gateway Pointer to the gateway ip address.
|
@param Gateway Pointer to the gateway ip address.
|
||||||
@param SrcPort Pointer to the srouce port of the station.
|
@param SrcPort Pointer to the srouce port of the station.
|
||||||
|
@param TTL The time to live field of the IP header.
|
||||||
|
@param ToS The type of service field of the IP header.
|
||||||
|
|
||||||
@retval EFI_SUCCESS The configuration settings were set, changed, or reset successfully.
|
@retval EFI_SUCCESS The configuration settings were set, changed, or reset successfully.
|
||||||
@retval EFI_NO_MAPPING When using a default address, configuration (DHCP, BOOTP,
|
@retval EFI_NO_MAPPING When using a default address, configuration (DHCP, BOOTP,
|
||||||
|
@ -61,7 +63,9 @@ PxeBcConfigureUdpWriteInstance (
|
||||||
IN EFI_IPv4_ADDRESS *StationIp,
|
IN EFI_IPv4_ADDRESS *StationIp,
|
||||||
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 UINT8 TTL,
|
||||||
|
IN UINT8 ToS
|
||||||
);
|
);
|
||||||
/**
|
/**
|
||||||
Convert number to ASCII value.
|
Convert number to ASCII value.
|
||||||
|
|
Loading…
Reference in New Issue