grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 02/14] UEFI IPv6 PXE support


From: Josef Bacik
Subject: [PATCH 02/14] UEFI IPv6 PXE support
Date: Wed, 10 Feb 2016 13:20:56 -0800

From: Michael Chang <address@hidden>

When system is booted from UEFI IPv6 PXE, the network interface can be
configured directly by cached DHCPv6 packet in firmware without doing it all
over again by contacting DHCP server.
---
 grub-core/net/drivers/efi/efinet.c | 24 +++++++++++++++++++-----
 1 file changed, 19 insertions(+), 5 deletions(-)

diff --git a/grub-core/net/drivers/efi/efinet.c 
b/grub-core/net/drivers/efi/efinet.c
index 5388f95..2b9a0e7 100644
--- a/grub-core/net/drivers/efi/efinet.c
+++ b/grub-core/net/drivers/efi/efinet.c
@@ -378,11 +378,25 @@ grub_efi_net_config_real (grub_efi_handle_t hnd, char 
**device,
     if (! pxe)
       continue;
     pxe_mode = pxe->mode;
-    grub_net_configure_by_dhcp_ack (card->name, card, 0,
-                                   (struct grub_net_bootp_packet *)
-                                   &pxe_mode->dhcp_ack,
-                                   sizeof (pxe_mode->dhcp_ack),
-                                   1, device, path);
+
+    if (pxe_mode->using_ipv6)
+      {
+       grub_net_configure_by_dhcpv6_reply (card->name, card, 0,
+                                           (struct grub_net_dhcpv6_packet *)
+                                           &pxe_mode->dhcp_ack,
+                                           sizeof (pxe_mode->dhcp_ack),
+                                           1, device, path);
+       if (grub_errno)
+         grub_print_error ();
+      }
+    else
+      {
+       grub_net_configure_by_dhcp_ack (card->name, card, 0,
+                                       (struct grub_net_bootp_packet *)
+                                       &pxe_mode->dhcp_ack,
+                                       sizeof (pxe_mode->dhcp_ack),
+                                       1, device, path);
+      }
     return;
   }
 }
-- 
1.8.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]