]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/Mtftp6Dxe/Mtftp6Support.c
NetworkPkg/Mtftp6Dxe: Support windowsize in read request operation.
[mirror_edk2.git] / NetworkPkg / Mtftp6Dxe / Mtftp6Support.c
index 282a9c8e4942e54dc385bc5e5038556c38b8ba62..275272b89e949e8aeb1f0788178c5e0dd63afdf6 100644 (file)
@@ -979,6 +979,10 @@ Mtftp6OperationClean (
   Instance->ServerDataPort = 0;\r
   Instance->McastPort      = 0;\r
   Instance->BlkSize        = 0;\r
+  Instance->Operation      = 0;\r
+  Instance->WindowSize     = 1;\r
+  Instance->TotalBlock     = 0;\r
+  Instance->AckedBlock     = 0;\r
   Instance->LastBlk        = 0;\r
   Instance->PacketToLive   = 0;\r
   Instance->MaxRetry       = 0;\r
@@ -1051,6 +1055,8 @@ Mtftp6OperationStart (
   Status           = EFI_SUCCESS;\r
   Instance->OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
 \r
+  Instance->Operation = OpCode;\r
+\r
   //\r
   // Parse the extension options in the request packet.\r
   //\r
@@ -1060,6 +1066,7 @@ Mtftp6OperationStart (
                Token->OptionList,\r
                Token->OptionCount,\r
                TRUE,\r
+               Instance->Operation,\r
                &Instance->ExtInfo\r
                );\r
 \r
@@ -1105,6 +1112,9 @@ Mtftp6OperationStart (
   if (Instance->BlkSize == 0) {\r
     Instance->BlkSize = MTFTP6_DEFAULT_BLK_SIZE;\r
   }\r
+  if (Instance->WindowSize == 0) {\r
+    Instance->WindowSize = MTFTP6_DEFAULT_WINDOWSIZE;\r
+  }\r
   if (Instance->MaxRetry == 0) {\r
     Instance->MaxRetry = MTFTP6_DEFAULT_MAX_RETRY;\r
   }\r