<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Tue, Oct 2, 2018 at 9:15 AM Richard W.M. Jones <<a href="mailto:rjones@redhat.com">rjones@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I wrote some code which can get this kind of information from the<br>
Windows Registry:<br>
<br>
    <interfaces><br>
      <interface name="Ethernet" type="unknown"><br>
        <parameters><br>
          <parameter name="bootproto">dhcp</parameter><br>
          <parameter name="gateway">10.0.2.2</parameter><br>
          <parameter name="ipaddr">10.0.2.15</parameter><br>
          <parameter name="win:AddressType">0</parameter><br>
          <parameter name="win:DhcpConnForceBroadcastFlag">0</parameter><br>
          <parameter name="win:DhcpGatewayHardware"><br>
</parameter><br>
          <parameter name="win:DhcpGatewayHardwareCount">1</parameter><br>
          <parameter name="win:DhcpNameServer">10.0.2.3</parameter><br>
          <parameter name="win:DhcpServer">10.0.2.2</parameter><br>
          <parameter name="win:DhcpSubnetMask">255.255.255.0</parameter><br>
          <parameter name="win:DhcpSubnetMaskOpt">255.255.255.0</parameter><br>
          <parameter name="win:Domain"></parameter><br>
          <parameter name="win:EnableDeadGWDetect">1</parameter><br>
          <parameter name="win:IsServerNapAware">0</parameter><br>
          <parameter name="win:Lease">86400</parameter><br>
          <parameter name="win:LeaseObtainedTime">1536802270</parameter><br>
          <parameter name="win:LeaseTerminatesTime">1536888670</parameter><br>
          <parameter name="win:NameServer"></parameter><br>
          <parameter name="win:RegisterAdapterName">0</parameter><br>
          <parameter name="win:RegistrationEnabled">1</parameter><br>
          <parameter name="win:T1">1536845470</parameter><br>
          <parameter name="win:T2">1536877870</parameter><br>
          <parameter name="win:UseZeroBroadcast">0</parameter><br>
        </parameters><br>
      </interface><br>
      <interface name="Local Area Connection* 9" type="unknown"><br>
        <parameters><br>
          <parameter name="bootproto">dhcp</parameter><br>
          <parameter name="win:Domain"></parameter><br>
          <parameter name="win:EnableDeadGWDetect">1</parameter><br>
          <parameter name="win:NameServer"></parameter><br>
          <parameter name="win:RegisterAdapterName">0</parameter><br>
          <parameter name="win:RegistrationEnabled">1</parameter><br>
          <parameter name="win:UseZeroBroadcast">0</parameter><br>
        </parameters><br>
      </interface><br>
    </interfaces><br>
<br>
Unfortunately - no MAC address!<br>
<br>
That screws up the plan greatly, since without the MAC address there<br>
is no way to associate network adapters with hardware.<br>
<br>
Well, that's not quite true.  There is some PCI address information<br>
available.  For example for the above guest we have:<br>
<br>
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{307052F7-EE0A-4FD2-8CE6-212EFDD711B0}\Connection]<br>
"DefaultNameResourceId"=dword:0000076c<br>
"DefaultNameTargetsPort"=dword:00000000<br>
"Name"=str(1):"Ethernet"<br>
"PnPInstanceId"=str(1):"PCI\VEN_10EC&DEV_8139&SUBSYS_11001AF4&REV_20\3&13C0B0C5&0&18"<br>
<br>
It's not clear if we could go from this to a hypervisor network<br>
interface however.<br>
<br>
Also the MAC address of the guest is visible in some very obscure<br>
places in the registry in binary blobs.<br>
<br>
I don't think I've yet got a full picture of how network adapters are<br>
stored in Windows.<br>
<br>
Rich.<br></blockquote><div><br></div><div>It's a bit of a mess based on some of my investigation today.  From what I have read s it even may differ from 2008/2012 to 2016.  <br><br></div><div>We are maintaining the MAC address today as part of migration, for the new virtio NIC.  Instead of trying to find the MAC address is there a way to move the IP config over based on vmxnet or IE1000 enumeration?  Thinking of other options outside of MAC linkage.  <br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
-- <br>
Richard Jones, Virtualization Group, Red Hat <a href="http://people.redhat.com/~rjones" rel="noreferrer" target="_blank">http://people.redhat.com/~rjones</a><br>
Read my programming and virtualization blog: <a href="http://rwmj.wordpress.com" rel="noreferrer" target="_blank">http://rwmj.wordpress.com</a><br>
libguestfs lets you edit virtual machines.  Supports shell scripting,<br>
bindings from many languages.  <a href="http://libguestfs.org" rel="noreferrer" target="_blank">http://libguestfs.org</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">Brett Thurber - RHCA, RHCVA<br>Engineering Manager and Sr. Principal Software Engineer, Solutions Engineering<br>Products & Technologies Group, Red Hat<br>Mobile: +1 (512) 547-9282<br></div></div></div></div></div></div></div>