&Policy\r
);\r
if (EFI_ERROR (Status)) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_ERR_AD), gShellNetwork1HiiHandle, L"ifconfig");\r
ShellStatus = SHELL_ACCESS_DENIED;\r
break;\r
}\r
&TimeOutEvt\r
);\r
if (EFI_ERROR (Status)) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_ERR_AD), gShellNetwork1HiiHandle, L"ifconfig");\r
ShellStatus = SHELL_ACCESS_DENIED;\r
goto ON_EXIT;\r
}\r
&MappedEvt\r
);\r
if (EFI_ERROR (Status)) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_ERR_AD), gShellNetwork1HiiHandle, L"ifconfig");\r
ShellStatus = SHELL_ACCESS_DENIED;\r
goto ON_EXIT;\r
}\r
if (IfCb->Policy == Ip4Config2PolicyDhcp) {\r
Status = IfConfigStartIp4 (IfCb->NicHandle, gImageHandle);\r
if (EFI_ERROR(Status)) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_ERR_AD), gShellNetwork1HiiHandle, L"ifconfig");\r
ShellStatus = SHELL_ACCESS_DENIED;\r
goto ON_EXIT;\r
}\r
&Policy\r
);\r
if (EFI_ERROR(Status)) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_ERR_AD), gShellNetwork1HiiHandle, L"ifconfig");\r
ShellStatus = SHELL_ACCESS_DENIED;\r
goto ON_EXIT;\r
}\r
VarArg= VarArg->Next; \r
\r
} else if (StrCmp (VarArg->Arg, L"static") == 0) {\r
- //\r
- // Set manual config policy.\r
- //\r
- Policy = Ip4Config2PolicyStatic;\r
- Status = IfCb->IfCfg->SetData (\r
- IfCb->IfCfg,\r
- Ip4Config2DataTypePolicy,\r
- sizeof (EFI_IP4_CONFIG2_POLICY),\r
- &Policy\r
- );\r
- if (EFI_ERROR(Status)) {\r
- ShellStatus = SHELL_ACCESS_DENIED;\r
+ VarArg= VarArg->Next;\r
+ if (VarArg == NULL) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG_LACK_COMMAND), gShellNetwork1HiiHandle);\r
+ ShellStatus = SHELL_INVALID_PARAMETER;\r
goto ON_EXIT;\r
}\r
\r
- VarArg= VarArg->Next; \r
-\r
ZeroMem (&ManualAddress, sizeof (ManualAddress));\r
\r
//\r
//\r
Status = NetLibStrToIp4 (VarArg->Arg, &ManualAddress.Address);\r
if (EFI_ERROR(Status)) {\r
+ ShellPrintHiiEx(-1, -1, NULL,STRING_TOKEN (STR_IFCONFIG_INVALID_IPADDRESS), gShellNetwork1HiiHandle, VarArg->Arg);\r
ShellStatus = SHELL_INVALID_PARAMETER;\r
goto ON_EXIT;\r
}\r
// Get subnetmask.\r
// \r
VarArg = VarArg->Next;\r
+ if (VarArg == NULL) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG_LACK_COMMAND), gShellNetwork1HiiHandle);\r
+ ShellStatus = SHELL_INVALID_PARAMETER;\r
+ goto ON_EXIT;\r
+ }\r
+ \r
Status = NetLibStrToIp4 (VarArg->Arg, &ManualAddress.SubnetMask);\r
if (EFI_ERROR(Status)) {\r
+ ShellPrintHiiEx(-1, -1, NULL,STRING_TOKEN (STR_IFCONFIG_INVALID_IPADDRESS), gShellNetwork1HiiHandle, VarArg->Arg);\r
ShellStatus = SHELL_INVALID_PARAMETER;\r
goto ON_EXIT;\r
}\r
// Get gateway.\r
//\r
VarArg = VarArg->Next;\r
+ if (VarArg == NULL) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG_LACK_COMMAND), gShellNetwork1HiiHandle);\r
+ ShellStatus = SHELL_INVALID_PARAMETER;\r
+ goto ON_EXIT;\r
+ }\r
+ \r
Status = NetLibStrToIp4 (VarArg->Arg, &Gateway);\r
if (EFI_ERROR(Status)) {\r
+ ShellPrintHiiEx(-1, -1, NULL,STRING_TOKEN (STR_IFCONFIG_INVALID_IPADDRESS), gShellNetwork1HiiHandle, VarArg->Arg);\r
ShellStatus = SHELL_INVALID_PARAMETER;\r
goto ON_EXIT;\r
}\r
+\r
+ //\r
+ // Set manual config policy.\r
+ //\r
+ Policy = Ip4Config2PolicyStatic;\r
+ Status = IfCb->IfCfg->SetData (\r
+ IfCb->IfCfg,\r
+ Ip4Config2DataTypePolicy,\r
+ sizeof (EFI_IP4_CONFIG2_POLICY),\r
+ &Policy\r
+ );\r
+ if (EFI_ERROR(Status)) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_ERR_AD), gShellNetwork1HiiHandle, L"ifconfig");\r
+ ShellStatus = SHELL_ACCESS_DENIED;\r
+ goto ON_EXIT;\r
+ }\r
\r
+ //\r
+ // Set Manual Address.\r
+ //\r
IsAddressOk = FALSE;\r
\r
Status = IfCb->IfCfg->RegisterDataNotify (\r
MappedEvt\r
);\r
if (EFI_ERROR (Status)) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG_SET_ADDR_FAILED), gShellNetwork1HiiHandle, Status);\r
ShellStatus = SHELL_ACCESS_DENIED;\r
goto ON_EXIT;\r
}\r
&Gateway\r
);\r
if (EFI_ERROR (Status)) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG_SET_ADDR_FAILED), gShellNetwork1HiiHandle, Status);\r
ShellStatus = SHELL_ACCESS_DENIED;\r
goto ON_EXIT;\r
}\r
while (Tmp != NULL) {\r
Status = NetLibStrToIp4 (Tmp->Arg, Dns + Index);\r
if (EFI_ERROR(Status)) {\r
+ ShellPrintHiiEx(-1, -1, NULL,STRING_TOKEN (STR_IFCONFIG_INVALID_IPADDRESS), gShellNetwork1HiiHandle, Tmp->Arg);\r
ShellStatus = SHELL_INVALID_PARAMETER;\r
goto ON_EXIT;\r
}\r
Dns\r
);\r
if (EFI_ERROR (Status)) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_ERR_AD), gShellNetwork1HiiHandle, L"ifconfig");\r
ShellStatus = SHELL_ACCESS_DENIED;\r
goto ON_EXIT;\r
}\r
#string STR_IFCONFIG_LACK_INTERFACE #language en-US "Lack interface name.\n"\r
#string STR_IFCONFIG_LACK_COMMAND #language en-US "Lack interface config option.\n"\r
#string STR_IFCONFIG_INVALID_INTERFACE #language en-US "Invalid interface name.\n"\r
+#string STR_IFCONFIG_INVALID_IPADDRESS #language en-US "Invalid ipv4 address: '%H%s%N'\n"\r
#string STR_IFCONFIG_DUPLICATE_COMMAND #language en-US "Duplicate commands. Bad command %H%s%N is skipped.\n"\r
#string STR_IFCONFIG_CONFLICT_COMMAND #language en-US "Conflict commands. Bad command %H%s%N is skipped.\n"\r
#string STR_IFCONFIG_UNKNOWN_COMMAND #language en-US "Unknown commands. Bad command %H%s%N is skipped.\n"\r
-#string STR_IFCONFIG_SET_ADDR_FAILED #language en-US "It failed to set .\n"\r
+#string STR_IFCONFIG_SET_ADDR_FAILED #language en-US "Failed to set address.\n"\r
#string STR_IFCONFIG_ROUTES_SIZE #language en-US "\n%H Routes (%d entries):\n"\r
#string STR_IFCONFIG_ROUTES_ENTRY_INDEX #language en-US "%H Entry[%d]\n"\r
#string STR_IFCONFIG_SHOW_IP_ADDR #language en-US "%12s: %N%d.%d.%d.%d\n"\r
" 3. Use '-l' to list the DNS and other address related settings for all\r\n"\r
" interfaces or the specified interface.\r\n"\r
" 4. Use '-s <Name> static <IP> <SubnetMask> <GatewayMask>' with \r\n"\r
-" static IP4 address configuration for all or specified interface.\r\n"\r
+" static IP4 address configuration for specified interface.\r\n"\r
" 5. Use '-s <Name> dhcp' for DHCP4 to request the IP4 address\r\n"\r
-" configuration dynamically for all interface or specified interface.\r\n"\r
+" configuration dynamically for specified interface.\r\n"\r
" 6. Use '-s <Name> dns <IP>' must under manual policy.\r\n"\r
".SH EXAMPLES\r\n"\r
" \r\n"\r