public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Wu, Jiaxin" <jiaxin.wu@intel.com>
To: Sivaraman Nainar <sivaramann@amiindia.co.in>,
	"Ye, Ting" <ting.ye@intel.com>, Laszlo Ersek <lersek@redhat.com>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: reg: HTTP Request Failure over Internet
Date: Tue, 31 Jul 2018 01:43:49 +0000	[thread overview]
Message-ID: <895558F6EA4E3B41AC93A00D163B727416479D8A@SHSMSX103.ccr.corp.intel.com> (raw)
In-Reply-To: <B4DE137BDB63634BAC03BD9DE765F19702167541C5@VENUS1.in.megatrends.com>

Hi Siva,

Thanks the report. 

>From the code review, it does the problem for HTTP protocol to route the package over Internet. 

But I'm confused with your patch that how can you get the RouterAddr since there is no interface for HTTP protocol to get the RouterAddr? 

> +  HttpInstance->Tcp4->Routes (
> +            HttpInstance->Tcp4,
> +            FALSE,
> +            &HttpInstance->RemoteAddr,
> +            &Tcp4AP->SubnetMask,
> +            &HttpInstance->RouterAddr
> +            );
> +

So, I prefer it's the UEFI Spec limitation that HTTP protocol doesn't provide us the interface to set the router info instead of setting it during HTTP configuration. To mitigate the issue,  below two solution/workaround can be tried:
1) Ip4Config2 protocol can be leveraged by your HTTP application to register one valid Ip4Gateway into the default route table (just like HttpBootDxe -- HttpBootRegisterIp4Gateway()). The IP policy will route the packet by using the instance's route table first, if not found, the default route table will be tried. 
2) Set the static Ip4Gateway via ifconfig shell command. The Ip4Gateway address also will be set to default route table.

Thanks,
Jiaxin



> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> Sivaraman Nainar
> Sent: Wednesday, July 25, 2018 5:29 PM
> To: Ye, Ting <ting.ye@intel.com>; Laszlo Ersek <lersek@redhat.com>; edk2-
> devel@lists.01.org
> Subject: Re: [edk2] reg: HTTP Request Failure over Internet
> 
> Ting:
> 
> Please find the patch  for reference.
> 
> Index: HttpProto.c
> ==========================================================
> =========
> --- HttpProto.c
> +++ HttpProto.c
> @@ -622,12 +622,20 @@
>    Status = HttpInstance->Tcp4->Configure (HttpInstance->Tcp4, Tcp4CfgData);
>    if (EFI_ERROR (Status)) {
>      DEBUG ((EFI_D_ERROR, "HttpConfigureTcp4 - %r\n", Status));
>      return Status;
>    }
> 
> +  HttpInstance->Tcp4->Routes (
> +            HttpInstance->Tcp4,
> +            FALSE,
> +            &HttpInstance->RemoteAddr,
> +            &Tcp4AP->SubnetMask,
> +            &HttpInstance->RouterAddr
> +            );
> +
>    Status = HttpCreateTcp4ConnCloseEvent (HttpInstance);
>    if (EFI_ERROR (Status)) {
>      return Status;
>    }
> 
>    Status = HttpCreateTcp4TxEvent (Wrap);
> 
> -Siva
> -----Original Message-----
> From: Ye, Ting [mailto:ting.ye@intel.com]
> Sent: Wednesday, July 25, 2018 1:36 PM
> To: Laszlo Ersek; Sivaraman Nainar; edk2-devel@lists.01.org
> Subject: RE: [edk2] reg: HTTP Request Failure over Internet
> 
> Hi Siva,
> 
> I didn't receive your patch either. Thanks for reporting the issue, we will try
> to reproduce it firstly.
> 
> Thanks,
> Ting
> 
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> Laszlo Ersek
> Sent: Tuesday, July 24, 2018 8:43 PM
> To: Sivaraman Nainar <sivaramann@amiindia.co.in>; edk2-devel@lists.01.org
> Subject: Re: [edk2] reg: HTTP Request Failure over Internet
> 
> On 07/24/18 14:05, Sivaraman Nainar wrote:
> > Hello all,
> >
> > When an application tried to download the remote file over internet with
> the HTTP Get Request it getting failed. If we try via the Intranet then
> application downloads the target file.
> >
> > The remote file is available in the Apache server. With the attached patch
> the download works fine in Internet and Intranet.
> >
> > Could you review the solution and feedback?
> 
> The edk2-devel list software does not reflect attachments to subscribers.
> 
> While I disagree with that practice in general -- it breaks conversations where
> people justifiedly post small attachments, such as PNG screenshots,
> compressed log files and such --, for posting patches specifically, please use
> git-format-patch and git-send-email. The patch should be in the body of the
> email (please do not copy&paste the patch though; that is guaranteed not to
> work -- please use the git tools).
> 
> Official guidelines:
> 
> https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Development-
> Process
> 
> Personal ones from yours truly:
> 
> https://github.com/tianocore/tianocore.github.io/wiki/Laszlo's-unkempt-git-
> guide-for-edk2-contributors-and-maintainers
> 
> Thanks,
> Laszlo
> _______________________________________________
> 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	other threads:[~2018-07-31  1:43 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-24 12:05 reg: HTTP Request Failure over Internet Sivaraman Nainar
2018-07-24 12:43 ` Laszlo Ersek
2018-07-25  8:06   ` Ye, Ting
2018-07-25  9:28     ` Sivaraman Nainar
2018-07-31  1:43       ` Wu, Jiaxin [this message]
2018-08-04  9:45         ` Sivaraman Nainar
2018-08-06  8:05           ` Wu, Jiaxin
2018-08-09 11:09             ` Sivaraman Nainar
2018-08-10  1:32               ` Wu, Jiaxin
2018-08-13  9:03                 ` Sivaraman Nainar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=895558F6EA4E3B41AC93A00D163B727416479D8A@SHSMSX103.ccr.corp.intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox