[PATCH 0/3] fix ipv6 support

2015-08-05 Thread Josef Bacik
These patches are on top of Michael Chang's bootp6 code (which we also really need so it would be great if those could go in as well). At Facebook we have ipv6 only clusters that we need to be able to provision over the network. The current grub2 support for ipv6 is broken in a few ways. The rou

[PATCH 3/3] net: fix ipv6 routing

2015-08-05 Thread Josef Bacik
Currently we cannot talk to ipv6 addresses outside of our local link area because we don't setup our routes properly nor do we talk to the router properly. Currently net_ipv6_autoconf adds routes for the local link prefix and ties it to the global link device. This isn't helpful at all, we comple

[PATCH 1/3] efinet: handle get_status() properly

2015-08-05 Thread Josef Bacik
The EFI SNP documentation isn't super clear on the value that is returned in txbuf when calling into GetStatus. The documentation says its the pointer to the recycle buffer, but the documentation for Transmit() says that it should be the pointer to the buffer that we transmitted. On the boxes I'm

[PATCH 2/3] net: add local route when creating link local ipv6 interface

2015-08-05 Thread Josef Bacik
In order to talk to link local ipv6 addresses we need to have a route out of the link local interface for this to work. Thanks, Signed-off-by: Josef Bacik --- grub-core/net/net.c | 14 +- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/grub-core/net/net.c b/grub-core/n

[PATCH 2/3] net: add local route when creating link local ipv6 interface

2015-08-05 Thread Josef Bacik
In order to talk to link local ipv6 addresses we need to have a route out of the link local interface for this to work. Thanks, Signed-off-by: Josef Bacik --- grub-core/net/net.c | 14 +- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/grub-core/net/net.c b/grub-core/n

[PATCH 1/3] efinet: handle get_status() properly

2015-08-05 Thread Josef Bacik
The EFI SNP documentation isn't super clear on the value that is returned in txbuf when calling into GetStatus. The documentation says its the pointer to the recycle buffer, but the documentation for Transmit() says that it should be the pointer to the buffer that we transmitted. On the boxes I'm

[PATCH 3/3] net: fix ipv6 routing

2015-08-05 Thread Josef Bacik
Currently we cannot talk to ipv6 addresses outside of our local link area because we don't setup our routes properly nor do we talk to the router properly. Currently net_ipv6_autoconf adds routes for the local link prefix and ties it to the global link device. This isn't helpful at all, we comple

Re: [PATCH 1/3] efinet: handle get_status() properly

2015-08-05 Thread Andrei Borzenkov
В Wed, 5 Aug 2015 14:36:37 -0400 Josef Bacik пишет: > The EFI SNP documentation isn't super clear on the value that is returned in > txbuf when calling into GetStatus. The documentation says its the pointer to > the recycle buffer, but the documentation for Transmit() says that it should > be >

Re: [PATCH 1/3] efinet: handle get_status() properly

2015-08-05 Thread Josef Bacik
On 08/05/2015 04:04 PM, Andrei Borzenkov wrote: В Wed, 5 Aug 2015 14:36:37 -0400 Josef Bacik пишет: The EFI SNP documentation isn't super clear on the value that is returned in txbuf when calling into GetStatus. The documentation says its the pointer to the recycle buffer, but the documentati

Re: [PATCH 1/3] efinet: handle get_status() properly

2015-08-05 Thread Vladimir 'phcoder' Serbinenko
This patch improperly assumes that GRUB is the only thing in EFI that transmits. Your patch surely fixed your machine but likely breaks some other machines. Could you instead make an explicit check for (void *)1 and add a comment on which machine it's necessary? Le 5 août 2015 10:28 PM, "Josef Baci

Re: [PATCH 1/3] efinet: handle get_status() properly

2015-08-05 Thread Josef Bacik
On 08/05/2015 04:32 PM, Vladimir 'phcoder' Serbinenko wrote: This patch improperly assumes that GRUB is the only thing in EFI that transmits. Your patch surely fixed your machine but likely breaks some other machines. Could you instead make an explicit check for (void *)1 and add a comment on whi

Re: [PATCH 1/3] efinet: handle get_status() properly

2015-08-05 Thread Josef Bacik
On 08/05/2015 04:39 PM, Josef Bacik wrote: On 08/05/2015 04:32 PM, Vladimir 'phcoder' Serbinenko wrote: This patch improperly assumes that GRUB is the only thing in EFI that transmits. Your patch surely fixed your machine but likely breaks some other machines. Could you instead make an explicit

Re: [PATCH 1/3] efinet: handle get_status() properly

2015-08-05 Thread Vladimir 'phcoder' Serbinenko
Making user aware of such deeply technical stuff is almost always bad thing. Moreover it's not always easy to set this variable early enough Le 5 août 2015 10:50 PM, "Josef Bacik" a écrit : > On 08/05/2015 04:39 PM, Josef Bacik wrote: > >> On 08/05/2015 04:32 PM, Vladimir 'phcoder' Serbinenko wro

Re: [PATCH 1/3] efinet: handle get_status() properly

2015-08-05 Thread Seth Goldberg
Anyway that's not important, what is important is that the current code doesn't work with hardware that exists in the wild. If it's a firmware bug then fine, what do users do if they have buggy firmware that isn't being updated anymore? I think making grub more tolerant to crappy firmware is a g

Re: [PATCH 1/3] efinet: handle get_status() properly

2015-08-05 Thread Andrei Borzenkov
В Wed, 5 Aug 2015 22:32:13 +0200 "Vladimir 'phcoder' Serbinenko" пишет: > This patch improperly assumes that GRUB is the only thing in EFI that > transmits. Actually since recently we try to ensure that grub *is* the only user of network interface. > Your patch surely fixed your mach

Re: [PATCH 0/3] fix ipv6 support

2015-08-05 Thread Michael Chang
On Wed, Aug 05, 2015 at 10:50:37AM -0700, Josef Bacik wrote: > These patches are on top of Michael Chang's bootp6 code (which we also really > need so it would be great if those could go in as well). At Facebook we have > ipv6 only clusters that we need to be able to provision over the network. T