On 2 March 2016 at 09:02, Laszlo Ersek <ler...@redhat.com> wrote:
> On 03/02/16 09:03, Jiaxin Wu wrote:
>> This patch is used to update ifconfig –r implementation
>
> The dash character in the above "-r" option is not the ASCII
> hyphen/minus character (0x2D), but the U+2013 unicode code point ("EN
> DASH").
>
> I think you may have copied & pasted it from a PDF, or a rendered HTML,
> or a similar document. Please try to avoid this; we should keep the
> source and the commit messages ASCII-clean.
>

Well spotted!  I've noticed Outlook causing this.


> Can be fixed up when you commit the patch.
>
> Thanks
> Laszlo
>
>> to sync with UEFI Shell 2.2.
>>
>> option -r means to reconfigure all or specified interface,
>> and set DHCP policy. If specified interface is already set
>> to DHCP, then refresh the IPv4 configuration.
>>
>> If the interface name is specified
>> with '-r', DHCP DORA process will be triggered by the policy
>> transition (static -> dhcp).
>>
>> Cc: Ye Ting <ting...@intel.com>
>> Cc: Fu Siyuan <siyuan...@intel.com>
>> Cc: Carsey Jaben <jaben.car...@intel.com>
>> Cc: El-Haj-Mahmoud Samer <samer.el-haj-mahm...@hpe.com>
>> Cc: Subramanian Sriram <srira...@hpe.com>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Jiaxin Wu <jiaxin...@intel.com>
>> ---
>>  .../UefiShellNetwork1CommandsLib/Ifconfig.c        | 31 
>> ++++++++++++++++++----
>>  1 file changed, 26 insertions(+), 5 deletions(-)
>>
>> diff --git a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c 
>> b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c
>> index 0c4a3b0..92108a1 100644
>> --- a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c
>> +++ b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c
>> @@ -1,10 +1,10 @@
>>  /** @file
>>    The implementation for Shell command ifconfig based on IP4Config2 
>> protocol.
>>
>>    (C) Copyright 2013-2015 Hewlett-Packard Development Company, L.P.<BR>
>> -  Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
>> +  Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
>>
>>    This program and the accompanying materials
>>    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
>>    http://opensource.org/licenses/bsd-license.php.
>> @@ -708,40 +708,61 @@ IfConfigShowInterfaceInfo (
>>
>>  /**
>>    The clean process of the ifconfig command to clear interface info.
>>
>>    @param[in]   IfList    The pointer of IfList(interface list).
>> +  @param[in]   IfName    The pointer of interface name.
>>
>>    @retval SHELL_SUCCESS  The ifconfig command clean processed successfully.
>>    @retval others         The ifconfig command clean process failed.
>>
>>  **/
>>  SHELL_STATUS
>>  IfConfigClearInterfaceInfo (
>> -  IN LIST_ENTRY    *IfList
>> +  IN LIST_ENTRY    *IfList,
>> +  IN CHAR16        *IfName
>>    )
>>  {
>>    EFI_STATUS                Status;
>>    SHELL_STATUS              ShellStatus;
>>    LIST_ENTRY                *Entry;
>>    LIST_ENTRY                *Next;
>>    IFCONFIG_INTERFACE_CB     *IfCb;
>>    EFI_IP4_CONFIG2_POLICY    Policy;
>> -
>> -  Policy = Ip4Config2PolicyDhcp;
>> +
>>    Status = EFI_SUCCESS;
>>    ShellStatus = SHELL_SUCCESS;
>>
>>    if (IsListEmpty (IfList)) {
>>      ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN 
>> (STR_IFCONFIG_INVALID_INTERFACE), gShellNetwork1HiiHandle);
>>    }
>>
>>    //
>>    // Go through the interface list.
>> +  // If the interface name is specified, DHCP DORA process will be
>> +  // triggered by the policy transition (static -> dhcp).
>>    //
>>    NET_LIST_FOR_EACH_SAFE (Entry, Next, IfList) {
>>      IfCb = NET_LIST_USER_STRUCT (Entry, IFCONFIG_INTERFACE_CB, Link);
>> +
>> +    if ((IfName != NULL) && (StrCmp (IfName, IfCb->IfInfo->Name) == 0)) {
>> +      Policy = Ip4Config2PolicyStatic;
>> +
>> +      Status = IfCb->IfCfg->SetData (
>> +                              IfCb->IfCfg,
>> +                              Ip4Config2DataTypePolicy,
>> +                              sizeof (EFI_IP4_CONFIG2_POLICY),
>> +                              &Policy
>> +                              );
>> +      if (EFI_ERROR (Status)) {
>> +        ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_ERR_AD), 
>> gShellNetwork1HiiHandle, L"ifconfig");
>> +        ShellStatus = SHELL_ACCESS_DENIED;
>> +        break;
>> +      }
>> +    }
>> +
>> +    Policy = Ip4Config2PolicyDhcp;
>>
>>      Status = IfCb->IfCfg->SetData (
>>                              IfCb->IfCfg,
>>                              Ip4Config2DataTypePolicy,
>>                              sizeof (EFI_IP4_CONFIG2_POLICY),
>> @@ -1141,11 +1162,11 @@ IfConfig (
>>    case IfConfigOpList:
>>      ShellStatus = IfConfigShowInterfaceInfo (&Private->IfList);
>>      break;
>>
>>    case IfConfigOpClear:
>> -    ShellStatus = IfConfigClearInterfaceInfo (&Private->IfList);
>> +    ShellStatus = IfConfigClearInterfaceInfo (&Private->IfList, 
>> Private->IfName);
>>      break;
>>
>>    case IfConfigOpSet:
>>      ShellStatus = IfConfigSetInterfaceInfo (&Private->IfList, 
>> Private->VarArg);
>>      break;
>>
>
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to