From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1UYjs7-00020O-1B for mharc-grub-devel@gnu.org; Sat, 04 May 2013 17:19:59 -0400 Received: from eggs.gnu.org ([208.118.235.92]:37085) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UYjs4-0001zs-B3 for grub-devel@gnu.org; Sat, 04 May 2013 17:19:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UYjs2-0004sh-Br for grub-devel@gnu.org; Sat, 04 May 2013 17:19:56 -0400 Received: from mail-ee0-f54.google.com ([74.125.83.54]:47294) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UYjs2-0004rZ-0m for grub-devel@gnu.org; Sat, 04 May 2013 17:19:54 -0400 Received: by mail-ee0-f54.google.com with SMTP id e49so1253207eek.41 for ; Sat, 04 May 2013 14:19:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:x-enigmail-version:content-type; bh=cPT1lNHzLXBHX0+5MGUBgD5FI6Vgx4Zj66XLrUGC+Ik=; b=lzmg8IPUeFY8QOGonNAUks5zAGTSqUBfNyPEzqPDPhCgGPm7rKPIippCtH7mKIUbjU nRY5drnMCGobjGSl6B2h+g9UXooz8WC0J/h1q7EG68nlKQ88JasaXL3N6G90mk70w8eZ 40geovUkkZyXEhMrFWmL9jJjYPA2delIBYoKrKUOgXo0M8pjFg4Ir9smpvaCOKYWBxAl DwFQXwWlGg8TulYJw2L4jKGRVQDPey31HAappw/7hespGKiSVM8eFAirn2MHTC/LF0gx vYJJ7MmG3FEhcVnOn10OEtmG/UWN/DyneveJw2ShtD4blVeMwjiqJ5mQvh5dFBiCiluS YTnQ== X-Received: by 10.14.194.70 with SMTP id l46mr44879961een.28.1367702393180; Sat, 04 May 2013 14:19:53 -0700 (PDT) Received: from debian.x201.phnet (245-188.1-85.cust.bluewin.ch. [85.1.188.245]) by mx.google.com with ESMTPSA id n7sm23879225eeo.0.2013.05.04.14.19.51 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 04 May 2013 14:19:52 -0700 (PDT) Message-ID: <51857B76.6080001@gmail.com> Date: Sat, 04 May 2013 23:19:50 +0200 From: =?UTF-8?B?VmxhZGltaXIgJ8+GLWNvZGVyL3BoY29kZXInIFNlcmJpbmVua28=?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130116 Icedove/10.0.12 MIME-Version: 1.0 To: grub-devel@gnu.org Subject: Re: Obtaining the MAC address of the boot NIC for a PXE boot References: <1367240132.58582.YahooMailNeo@web120204.mail.ne1.yahoo.com> <20130501185934.3f2b9c28@opensuse.site> <518578B3.5040003@gmail.com> In-Reply-To: <518578B3.5040003@gmail.com> X-Enigmail-Version: 1.4.1 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="------------enigDFC978D91AC35E2D4D4DDF3E" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 74.125.83.54 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 May 2013 21:19:57 -0000 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigDFC978D91AC35E2D4D4DDF3E Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Patch for net_default_*. Please test. =3D=3D=3D modified file 'grub-core/net/bootp.c' --- grub-core/net/bootp.c 2013-01-20 13:24:47 +0000 +++ grub-core/net/bootp.c 2013-05-04 21:16:02 +0000 @@ -211,6 +211,9 @@ grub_print_error (); } =20 + if (is_def) + grub_env_set ("net_default_interface", name); + if (device && !*device && bp->server_ip) { *device =3D grub_xasprintf ("tftp,%d.%d.%d.%d", =3D=3D=3D modified file 'grub-core/net/net.c' --- grub-core/net/net.c 2013-01-21 01:33:46 +0000 +++ grub-core/net/net.c 2013-05-04 21:13:29 +0000 @@ -1,6 +1,6 @@ /* * GRUB -- GRand Unified Bootloader - * Copyright (C) 2010,2011 Free Software Foundation, Inc. + * Copyright (C) 2010,2011,2012,2013 Free Software Foundation, Inc. * * GRUB is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by= @@ -813,6 +813,65 @@ return grub_net_default_server ? : ""; } =20 +static const char * +defip_get_env (struct grub_env_var *var __attribute__ ((unused)), + const char *val) +{ + const char *intf =3D grub_env_get ("net_default_interface"); + const char *ret =3D NULL; + if (intf) + { + char *buf =3D grub_xasprintf ("net_%s_ip", intf); + ret =3D grub_env_get (buf); + grub_free (buf); + } + return ret; +} + +static char * +defip_set_env (struct grub_env_var *var __attribute__ ((unused)), + const char *val) +{ + const char *intf =3D grub_env_get ("net_default_interface"); + if (intf) + { + char *buf =3D grub_xasprintf ("net_%s_ip", intf); + grub_env_set (buf, val); + grub_free (buf); + } + return NULL; +} + + +static const char * +defmac_get_env (struct grub_env_var *var __attribute__ ((unused)), + const char *val) +{ + const char *intf =3D grub_env_get ("net_default_interface"); + const char *ret =3D NULL; + if (intf) + { + char *buf =3D grub_xasprintf ("net_%s_mac", intf); + ret =3D grub_env_get (buf); + grub_free (buf); + } + return ret; +} + +static char * +defmac_set_env (struct grub_env_var *var __attribute__ ((unused)), + const char *val) +{ + const char *intf =3D grub_env_get ("net_default_interface"); + if (intf) + { + char *buf =3D grub_xasprintf ("net_%s_mac", intf); + grub_env_set (buf, val); + grub_free (buf); + } + return NULL; +} + =20 static void grub_net_network_level_interface_register (struct grub_net_network_level= _interface *inter) @@ -1560,6 +1619,10 @@ defserver_set_env); grub_register_variable_hook ("pxe_default_server", defserver_get_env, defserver_set_env); + grub_register_variable_hook ("net_default_ip", defip_get_env, + defip_set_env); + grub_register_variable_hook ("net_default_mac", defmac_get_env, + defmac_set_env); =20 cmd_addaddr =3D grub_register_command ("net_add_addr", grub_cmd_addadd= r, /* TRANSLATORS: HWADDRESS stands for --------------enigDFC978D91AC35E2D4D4DDF3E Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iF4EAREKAAYFAlGFe3YACgkQNak7dOguQglM3QEAqDipzG+BVfQEmwCju9BbsmlR H9rzS52FbS2cjIIH7LMBAMNsgHOA2a+c4cGSs7mtKM7sDMTS6AcbvKujAVhK3P4s =BQun -----END PGP SIGNATURE----- --------------enigDFC978D91AC35E2D4D4DDF3E--