Go to file
Josef Bacik eb9f401fc1 net: fix ipv6 routing
ipv6 routing in grub2 is broken, we cannot talk to anything outside our local
network or anything that doesn't route in our global namespace.  This patch
fixes this by doing a couple of things

1) Read the router information off of the router advertisement.  If we have a
router lifetime we need to take the source address and create a route from it.

2) Changes the routing stuff slightly to allow you to specify a gateway _and_ an
interface.  Since the router advertisements come in on the link local address we
need to associate it with the global address on the card.  So when we are
processing the router advertisement, either use the SLAAC interface we create
and add the route to that interface, or loop through the global addresses we
currently have on our interface and associate it with one of those addresses.
We need to have a special case here for the default route so that it gets used,
we do this by setting the masksize to 0 to mean it encompasses all networks.
The routing code will automatically select the best route so if there is a
closer match we will use that.

With this patch I can now talk to ipv6 addresses outside of my local network.
Thanks,

Signed-off-by: Josef Bacik <jbacik@fb.com>
2016-02-25 22:38:52 +03:00
asm-tests asm-tests/i386-pc: Check that near jumps are 2 bytes. 2015-11-11 18:14:25 +00:00
build-aux Autogenerate ChangeLog from git changelog. 2015-01-24 17:29:50 +01:00
conf Remove -Wno-maybe-uninitialized as it may not be present. 2016-02-17 17:58:05 +01:00
docs Add Thinkpad T410s button cmos address. 2016-02-12 19:19:11 +01:00
grub-core net: fix ipv6 routing 2016-02-25 22:38:52 +03:00
include net: fix ipv6 routing 2016-02-25 22:38:52 +03:00
m4 update m4/extern-inline.m4 to upstream version to fix compilation on FreeBSD 2015-03-05 19:25:56 +03:00
po Remove reliance C.UTF-8 2015-11-08 20:23:15 +01:00
tests grub-shell: Update 32-bit OVMF binary name. 2016-02-12 16:08:04 +01:00
themes/starfield Starfield theme. 2012-02-23 17:21:38 +01:00
unicode * unicode: Import Unicode 6.0 data. 2011-12-25 16:17:25 +01:00
util Change -v to -V for version of shell utils. 2016-02-12 15:46:05 +01:00
.gitignore .gitignore: add missing files and .exe variants. 2014-01-29 13:27:37 -02:00
ABOUT-NLS automake commit without merge history 2010-05-06 11:34:04 +05:30
AUTHORS 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org> 2005-09-03 16:54:27 +00:00
BUGS * BUGS: New file. 2011-01-11 00:06:01 +01:00
COPYING 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org> 2007-07-21 23:32:33 +00:00
ChangeLog-2015 Autogenerate ChangeLog from git changelog. 2015-01-24 17:29:50 +01:00
INSTALL autogen.sh: Allow overriding the python to be used by setting $PYTHON. 2015-03-06 00:34:18 +01:00
Makefile.am default_payload.elf: Always rebuild and remove before build. 2016-02-17 18:19:18 +01:00
Makefile.util.def Switch procfs to use archelp. 2015-07-27 12:44:19 +02:00
NEWS NEWS: more additions 2015-12-15 10:43:12 +03:00
README README: Remove dead link to the wiki 2015-11-06 04:31:23 +01:00
THANKS 2009-12-11 Robert Millan <rmh.grub@aybabtu.com> 2009-12-11 22:44:47 +00:00
TODO TODO: Remove obsolete link 2016-02-12 17:51:52 +01:00
acinclude.m4 use TARGET_LDFLAGS in grub_PROG_OBJCOPY_ABSOLUTE 2015-07-05 08:21:38 +03:00
autogen.sh autogen: Use cp instead of ln -s. 2015-11-08 18:45:57 +01:00
config.h.in Remove libgcc dependency. 2015-03-03 20:50:37 +01:00
configure.ac configure.ac: Reorder efiemu check to after link format check. 2015-12-31 22:36:23 +01:00
coreboot.cfg * coreboot.cfg: Add missing file. 2013-11-20 00:52:23 +01:00
geninit.sh automake commit without merge history 2010-05-06 11:34:04 +05:30
gentpl.py remove temporary .bin files (kernel and modules) 2015-12-31 23:00:25 +03:00
linguas.sh linguas.sh: fix error when removing non-existing autogenerated files 2015-08-09 16:28:12 +03:00

README

This is GRUB 2, the second version of the GRand Unified Bootloader.
GRUB 2 is rewritten from scratch to make GNU GRUB cleaner, safer, more
robust, more powerful, and more portable.

See the file NEWS for a description of recent changes to GRUB 2.

See the file INSTALL for instructions on how to build and install the
GRUB 2 data and program files.

Please visit the official web page of GRUB 2, for more information.
The URL is <http://www.gnu.org/software/grub/grub.html>.

More extensive documentation is available in the Info manual,
accessible using 'info grub' after building and installing GRUB 2.

There are a number of important user-visible differences from the
first version of GRUB, now known as GRUB Legacy. For a summary, please
see:

  info grub Introduction 'Changes from GRUB Legacy'