Re: [edk2] reg: HTTP Request Failure over Internet

2018-08-13 Thread Sivaraman Nainar
Hello Jiaxin,

With the recommended workaround #1 we can able to make HTTP Requests.

Thanks
Siva
-Original Message-
From: Wu, Jiaxin [mailto:jiaxin...@intel.com] 
Sent: Friday, August 10, 2018 7:03 AM
To: Sivaraman Nainar; Ye, Ting; Laszlo Ersek; edk2-devel@lists.01.org
Subject: RE: [edk2] reg: HTTP Request Failure over Internet

Hi Siva,

Since the gateway and Remote IP is accessible from shell, it means the platform 
already has the valid gateway, then according the IP policy, it should be ready 
for the upper layer to access the Internet, UEFI HttpBootDxe driver has 
verified that by registering one valid gateway. So, the problem is quite 
possibly in your Http application. My suggestion is that you can check the 
source code and compare with the logic in the HttpBootDxe driver or you need 
share the source code to me if possible.

Thanks,
Jiaxin  


> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of 
> Sivaraman Nainar
> Sent: Thursday, August 9, 2018 7:09 PM
> To: Wu, Jiaxin ; Ye, Ting ; 
> Laszlo Ersek ; edk2-devel@lists.01.org
> Subject: Re: [edk2] reg: HTTP Request Failure over Internet
> 
> Hello Jiaxin,
> 
> There is no firewall blocking this. The gateway and Remote IP is 
> accessible from shell.
> 
> Thanks
> Siva
> -Original Message-
> From: Wu, Jiaxin [mailto:jiaxin...@intel.com]
> Sent: Monday, August 6, 2018 1:35 PM
> To: Sivaraman Nainar; Ye, Ting; Laszlo Ersek; edk2-devel@lists.01.org
> Subject: RE: [edk2] reg: HTTP Request Failure over Internet
> 
> Is there any proxy or firewall block the connection? Once you set the 
> static Ip4Gateway via ifconfig shell command, please try to ping the 
> gateway/remote address to check the connection.
> 
> Thanks,
> Jiaxin
> 
> 
> > -Original Message-
> > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf 
> > Of Sivaraman Nainar
> > Sent: Saturday, August 4, 2018 5:46 PM
> > To: Wu, Jiaxin ; Ye, Ting ; 
> > Laszlo Ersek ; edk2-devel@lists.01.org
> > Subject: Re: [edk2] reg: HTTP Request Failure over Internet
> >
> > Hello Jiaxin,
> >
> > We have tried both the methods and both failed. Do you have any 
> > other recommendation?
> >
> > -Siva
> > -Original Message-
> > From: Wu, Jiaxin [mailto:jiaxin...@intel.com]
> > Sent: Tuesday, July 31, 2018 7:14 AM
> > To: Sivaraman Nainar; Ye, Ting; Laszlo Ersek; 
> > edk2-devel@lists.01.org
> > Subject: RE: [edk2] reg: HTTP Request Failure over Internet
> >
> > 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,
> > > +>RemoteAddr,
> > > +>SubnetMask,
> > > +>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-boun...@lists.01.org] On 
> > > Behalf Of Sivaraman Nainar
> > > Sent: Wednesday, July 25, 2018 5:29 PM
> > > To: Ye, Ting ; Laszlo Ersek 
> > > ;
> > > edk2- de...@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

Re: [edk2] reg: HTTP Request Failure over Internet

2018-08-09 Thread Wu, Jiaxin
Hi Siva,

Since the gateway and Remote IP is accessible from shell, it means the platform 
already has the valid gateway, then according the IP policy, it should be ready 
for the upper layer to access the Internet, UEFI HttpBootDxe driver has 
verified that by registering one valid gateway. So, the problem is quite 
possibly in your Http application. My suggestion is that you can check the 
source code and compare with the logic in the HttpBootDxe driver or you need 
share the source code to me if possible.

Thanks,
Jiaxin  


> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
> Sivaraman Nainar
> Sent: Thursday, August 9, 2018 7:09 PM
> To: Wu, Jiaxin ; Ye, Ting ; Laszlo
> Ersek ; edk2-devel@lists.01.org
> Subject: Re: [edk2] reg: HTTP Request Failure over Internet
> 
> Hello Jiaxin,
> 
> There is no firewall blocking this. The gateway and Remote IP is accessible
> from shell.
> 
> Thanks
> Siva
> -Original Message-
> From: Wu, Jiaxin [mailto:jiaxin...@intel.com]
> Sent: Monday, August 6, 2018 1:35 PM
> To: Sivaraman Nainar; Ye, Ting; Laszlo Ersek; edk2-devel@lists.01.org
> Subject: RE: [edk2] reg: HTTP Request Failure over Internet
> 
> Is there any proxy or firewall block the connection? Once you set the static
> Ip4Gateway via ifconfig shell command, please try to ping the
> gateway/remote address to check the connection.
> 
> Thanks,
> Jiaxin
> 
> 
> > -Original Message-
> > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
> > Sivaraman Nainar
> > Sent: Saturday, August 4, 2018 5:46 PM
> > To: Wu, Jiaxin ; Ye, Ting ;
> > Laszlo Ersek ; edk2-devel@lists.01.org
> > Subject: Re: [edk2] reg: HTTP Request Failure over Internet
> >
> > Hello Jiaxin,
> >
> > We have tried both the methods and both failed. Do you have any other
> > recommendation?
> >
> > -Siva
> > -Original Message-
> > From: Wu, Jiaxin [mailto:jiaxin...@intel.com]
> > Sent: Tuesday, July 31, 2018 7:14 AM
> > To: Sivaraman Nainar; Ye, Ting; Laszlo Ersek; edk2-devel@lists.01.org
> > Subject: RE: [edk2] reg: HTTP Request Failure over Internet
> >
> > 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,
> > > +>RemoteAddr,
> > > +>SubnetMask,
> > > +>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-boun...@lists.01.org] On Behalf
> > > Of Sivaraman Nainar
> > > Sent: Wednesday, July 25, 2018 5:29 PM
> > > To: Ye, Ting ; Laszlo Ersek ;
> > > edk2- de...@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-&

Re: [edk2] reg: HTTP Request Failure over Internet

2018-08-09 Thread Sivaraman Nainar
Hello Jiaxin,

There is no firewall blocking this. The gateway and Remote IP is accessible 
from shell.

Thanks
Siva
-Original Message-
From: Wu, Jiaxin [mailto:jiaxin...@intel.com] 
Sent: Monday, August 6, 2018 1:35 PM
To: Sivaraman Nainar; Ye, Ting; Laszlo Ersek; edk2-devel@lists.01.org
Subject: RE: [edk2] reg: HTTP Request Failure over Internet

Is there any proxy or firewall block the connection? Once you set the static 
Ip4Gateway via ifconfig shell command, please try to ping the gateway/remote 
address to check the connection.

Thanks,
Jiaxin


> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of 
> Sivaraman Nainar
> Sent: Saturday, August 4, 2018 5:46 PM
> To: Wu, Jiaxin ; Ye, Ting ; 
> Laszlo Ersek ; edk2-devel@lists.01.org
> Subject: Re: [edk2] reg: HTTP Request Failure over Internet
> 
> Hello Jiaxin,
> 
> We have tried both the methods and both failed. Do you have any other 
> recommendation?
> 
> -Siva
> -Original Message-
> From: Wu, Jiaxin [mailto:jiaxin...@intel.com]
> Sent: Tuesday, July 31, 2018 7:14 AM
> To: Sivaraman Nainar; Ye, Ting; Laszlo Ersek; edk2-devel@lists.01.org
> Subject: RE: [edk2] reg: HTTP Request Failure over Internet
> 
> 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,
> > +>RemoteAddr,
> > +>SubnetMask,
> > +>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-boun...@lists.01.org] On Behalf 
> > Of Sivaraman Nainar
> > Sent: Wednesday, July 25, 2018 5:29 PM
> > To: Ye, Ting ; Laszlo Ersek ;
> > edk2- de...@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,
> > +>RemoteAddr,
> > +>SubnetMask,
> > +        >RouterAddr
> > +        );
> > +
> >Status = HttpCreateTcp4ConnCloseEvent (HttpInstance);
> >if (EFI_ERROR (Status)) {
> >  return Status;
> >}
> >
> >Status = HttpCreateTcp4TxEvent (Wrap);
> >
> > -Siva
> > -Original Message-
> > From: Ye, Ting [mailto:ting...@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-boun...@lists.01.org] On Behalf 
> > Of Laszlo Ersek
> > Sent: Tuesday, July 24, 2018 8:43 PM
> > To: Sivaraman Nainar ; 
> > edk2-devel@lists.01.org
> > Subject: Re: [edk2] reg: HTTP Request Failure over Internet
> >
> > On 07/24/18 14:05, Siva

Re: [edk2] reg: HTTP Request Failure over Internet

2018-08-06 Thread Wu, Jiaxin
Is there any proxy or firewall block the connection? Once you set the static 
Ip4Gateway via ifconfig shell command, please try to ping the gateway/remote 
address to check the connection.

Thanks,
Jiaxin


> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
> Sivaraman Nainar
> Sent: Saturday, August 4, 2018 5:46 PM
> To: Wu, Jiaxin ; Ye, Ting ; Laszlo
> Ersek ; edk2-devel@lists.01.org
> Subject: Re: [edk2] reg: HTTP Request Failure over Internet
> 
> Hello Jiaxin,
> 
> We have tried both the methods and both failed. Do you have any other
> recommendation?
> 
> -Siva
> -Original Message-
> From: Wu, Jiaxin [mailto:jiaxin...@intel.com]
> Sent: Tuesday, July 31, 2018 7:14 AM
> To: Sivaraman Nainar; Ye, Ting; Laszlo Ersek; edk2-devel@lists.01.org
> Subject: RE: [edk2] reg: HTTP Request Failure over Internet
> 
> 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,
> > +>RemoteAddr,
> > +>SubnetMask,
> > +>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-boun...@lists.01.org] On Behalf Of
> > Sivaraman Nainar
> > Sent: Wednesday, July 25, 2018 5:29 PM
> > To: Ye, Ting ; Laszlo Ersek ;
> > edk2- de...@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,
> > +>RemoteAddr,
> > +>SubnetMask,
> > +        >RouterAddr
> > +    );
> > +
> >Status = HttpCreateTcp4ConnCloseEvent (HttpInstance);
> >if (EFI_ERROR (Status)) {
> >  return Status;
> >}
> >
> >Status = HttpCreateTcp4TxEvent (Wrap);
> >
> > -Siva
> > -Original Message-
> > From: Ye, Ting [mailto:ting...@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-boun...@lists.01.org] On Behalf Of
> > Laszlo Ersek
> > Sent: Tuesday, July 24, 2018 8:43 PM
> > To: Sivaraman Nainar ;
> > 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 serve

Re: [edk2] reg: HTTP Request Failure over Internet

2018-08-04 Thread Sivaraman Nainar
Hello Jiaxin,

We have tried both the methods and both failed. Do you have any other 
recommendation?

-Siva
-Original Message-
From: Wu, Jiaxin [mailto:jiaxin...@intel.com] 
Sent: Tuesday, July 31, 2018 7:14 AM
To: Sivaraman Nainar; Ye, Ting; Laszlo Ersek; edk2-devel@lists.01.org
Subject: RE: [edk2] reg: HTTP Request Failure over Internet

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,
> +>RemoteAddr,
> +>SubnetMask,
> +>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-boun...@lists.01.org] On Behalf Of 
> Sivaraman Nainar
> Sent: Wednesday, July 25, 2018 5:29 PM
> To: Ye, Ting ; Laszlo Ersek ; 
> edk2- de...@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,
> +>RemoteAddr,
> +>SubnetMask,
> +>RouterAddr
> +);
> +
>Status = HttpCreateTcp4ConnCloseEvent (HttpInstance);
>if (EFI_ERROR (Status)) {
>  return Status;
>}
> 
>Status = HttpCreateTcp4TxEvent (Wrap);
> 
> -Siva
> -Original Message-
> From: Ye, Ting [mailto:ting...@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-boun...@lists.01.org] On Behalf Of 
> Laszlo Ersek
> Sent: Tuesday, July 24, 2018 8:43 PM
> To: Sivaraman Nainar ; 
> 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 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-Developme
> nt-
> 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
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] reg: HTTP Request Failure over Internet

2018-07-30 Thread Wu, Jiaxin
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,
> +>RemoteAddr,
> +>SubnetMask,
> +>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-boun...@lists.01.org] On Behalf Of
> Sivaraman Nainar
> Sent: Wednesday, July 25, 2018 5:29 PM
> To: Ye, Ting ; Laszlo Ersek ; edk2-
> de...@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,
> +>RemoteAddr,
> +>SubnetMask,
> +>RouterAddr
> +);
> +
>Status = HttpCreateTcp4ConnCloseEvent (HttpInstance);
>if (EFI_ERROR (Status)) {
>  return Status;
>}
> 
>Status = HttpCreateTcp4TxEvent (Wrap);
> 
> -Siva
> -Original Message-
> From: Ye, Ting [mailto:ting...@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-boun...@lists.01.org] On Behalf Of
> Laszlo Ersek
> Sent: Tuesday, July 24, 2018 8:43 PM
> To: Sivaraman Nainar ; 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 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
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] reg: HTTP Request Failure over Internet

2018-07-25 Thread Sivaraman Nainar
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,
+>RemoteAddr,
+>SubnetMask,
+>RouterAddr
+);
+
   Status = HttpCreateTcp4ConnCloseEvent (HttpInstance);
   if (EFI_ERROR (Status)) {
 return Status;
   }
 
   Status = HttpCreateTcp4TxEvent (Wrap);

-Siva
-Original Message-
From: Ye, Ting [mailto:ting...@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-boun...@lists.01.org] On Behalf Of Laszlo 
Ersek
Sent: Tuesday, July 24, 2018 8:43 PM
To: Sivaraman Nainar ; 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 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


Re: [edk2] reg: HTTP Request Failure over Internet

2018-07-25 Thread Ye, Ting
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-boun...@lists.01.org] On Behalf Of Laszlo 
Ersek
Sent: Tuesday, July 24, 2018 8:43 PM
To: Sivaraman Nainar ; 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 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


Re: [edk2] reg: HTTP Request Failure over Internet

2018-07-24 Thread Laszlo Ersek
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 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