Added support to look up statically NAT'd nodes by their public_ip_address InterfaceTag 4.3
authorMarc Fiuczynski <mef@cs.princeton.edu>
Fri, 14 May 2010 19:11:06 +0000 (19:11 +0000)
committerMarc Fiuczynski <mef@cs.princeton.edu>
Fri, 14 May 2010 19:11:06 +0000 (19:11 +0000)
boot/upload-bmlog.php

index 6e29e23..0b22d4f 100755 (executable)
@@ -28,6 +28,18 @@ $ip = $_SERVER['REMOTE_ADDR'];
 $hostname=$default_hostname;
 // locate hostname from DB based on this IP
 $interfaces=$adm->GetInterfaces(array("ip"=>$ip));
+
+if (empty($interfaces) ) {  // maybe its a node with a NAT'd IP addresses
+  // look up an interface tag using the public IP address value
+  $interfacetags=$adm->GetInterfaceTags(array("tagname"=>"public_ip_address","value"=>$ip));
+  if (! empty($interfacetags)) {
+    // using the interface_id now get the interface with the node_id information
+    $interface_id=$interfacetags[0]['interface_id'];
+    $interfaces=$adm->GetInterfaces($interface_id);
+    // fall thru to the conditional below ...
+  }
+ }
+
 if (! empty($interfaces) ) {
   $interface=$interfaces[0];
   $node_id=$interface['node_id'];