grub/grub-core
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
..
boot mips: Make the assembly-code N32-compatible. 2015-10-11 13:20:26 +02:00
bus Improve EHCI logging 2016-02-22 20:07:10 +01:00
commands search: actually skip floppy with --no-floppy 2016-02-23 23:17:24 +03:00
disk ahci, ehci: Fix typos 2016-01-16 20:37:15 +00:00
efiemu efiemu: Fix compilation failure 2016-01-22 14:10:30 +01:00
font Document intentional fallthroughs. 2015-01-27 17:17:58 +01:00
fs Fix warnings when compiling with -O3 2016-02-17 17:56:41 +01:00
gdb With Apple assembly in .macro environvemnt you have to use $$ instead 2013-11-24 07:08:18 +01:00
gettext * grub-core/gettext/gettext.c (main_context), (secondary_context): 2013-11-07 01:01:47 +01:00
gfxmenu gfxmenu: fix memory leak 2016-01-12 21:52:50 +03:00
gnulib update gnulib/argp-help.c to fix garbage in grub-mknetdir --help output 2015-03-05 20:19:47 +03:00
hello * grub-core/commands/gptsync.c: Fix typographic quoting. 2012-03-03 13:05:08 +01:00
hook * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic 2011-11-11 21:03:49 +01:00
io gzio: Optimize by removing division. 2015-02-26 22:10:09 +01:00
kern ieee1275: fix signed comparison 2016-02-24 18:37:22 +01:00
lib relocator: Fix integer underflow. 2016-02-12 16:07:57 +01:00
loader multiboot2: zero reserved field in memory map 2016-02-23 09:12:14 +03:00
mmap Translate UEFI persistent memory type 2015-12-15 10:25:34 +03:00
net net: fix ipv6 routing 2016-02-25 22:38:52 +03:00
normal menu_entry: Disable cursor during update_screen() 2016-02-22 09:59:27 +03:00
osdep devmapper: check for valid device abstraction in get_grub_dev 2015-12-26 21:45:22 +03:00
partmap disk/ldm, partmap/msdos.c: fix spelling error 2015-08-22 21:22:41 +02:00
parttool * grub-core/net/http.c: Add TRANSLATORS comments. 2012-03-05 16:42:26 +01:00
script yylex: use grub_fatal for exit. 2016-02-12 12:34:54 +01:00
term usb_keyboard: Remove useless include 2016-02-22 20:05:54 +01:00
tests arm: Ignore qemu clock bug 2016-01-22 10:12:43 +01:00
video jpeg: Optimise by replacing division with shifts. 2015-02-26 21:27:32 +01:00
gdb_grub.in * grub-core/gdb_grub.in: Fix overflow and wrong field. 2013-10-14 03:40:20 +02:00
genemuinit.sh use MODULE_FILES for genemuinit* instead of MOD_FILES 2014-01-18 23:15:40 +04:00
genemuinitheader.sh use MODULE_FILES for genemuinit* instead of MOD_FILES 2014-01-18 23:15:40 +04:00
genmod.sh.in Add missing BUILD_EXEEXT 2016-01-01 12:06:40 +03:00
genmoddep.awk genmoddep.awk: Add a test that we have no circular dependencies 2015-11-08 20:00:27 +01:00
gensyminfo.sh.in * grub-core/gensyminfo.sh.in: Handle the case of portable output 2013-11-11 23:05:53 +01:00
gensymlist.sh Make 'make check' work on emu. 2013-04-27 02:00:16 +02:00
gentrigtables.c * grub-core/gentrigtables.c: Make tables const. 2013-03-01 11:15:09 +01:00
gmodule.pl.in * grub-core/gmodule.pl.in: Accept newer binutils which output 2014-09-21 18:23:23 +02:00
gnulib-fix-null-deref.diff Import new gnulib. 2013-04-11 21:12:46 +02:00
gnulib-fix-width.diff Import new gnulib. 2013-04-11 21:12:46 +02:00
gnulib-no-abort.diff Import new gnulib. 2013-04-11 21:12:46 +02:00
gnulib-no-gets.diff Import new gnulib. 2013-04-11 21:12:46 +02:00
Makefile.am Split pmtimer wait and tsc measurement from pmtimer tsc calibration. 2016-02-12 11:40:51 +01:00
Makefile.core.def arm64: Use cpu timer for timekeeping. 2016-02-12 12:43:02 +01:00
modinfo.sh.in modinfo.sh.in: Add missing config variables. 2015-03-27 12:18:25 +01:00