Thanks,
G
srinivas_g_go...@dell.com
DELL
diff -Naurp 01-ipmitool_opensrc_update/lib/ipmi_delloem.c 02-ipmitool_delloem_mac_update/lib/ipmi_delloem.c
--- 01-ipmitool_opensrc_update/lib/ipmi_delloem.c	2012-03-06 16:26:58.000000000 +0530
+++ 02-ipmitool_delloem_mac_update/lib/ipmi_delloem.c	2012-03-06 18:58:36.000000000 +0530
@@ -64,6 +64,8 @@ POSSIBILITY OF SUCH DAMAGE. 
 #include <ipmitool/ipmi_fru.h>
 #include <ipmitool/ipmi_sensor.h>
 /*------------ipmi headers------------------*/
+#include <ipmitool/ipmi_chassis.h>
+#include <ipmitool/ipmi_sol.h>
 
 
 
@@ -78,8 +80,14 @@ POSSIBILITY OF SUCH DAMAGE. 
 #define SHARED_WITH_FAILOVER_LOM2 1
 #define DEDICATED 2
 #define SHARED_WITH_FAILOVER_ALL_LOMS 3
-char AciveLOM_String [5] [10] =	{"dedicated","LOM1","LOM2","LOM3","LOM4" };
-#define	INVALID -1
+char AciveLOM_String [6] [10] =	{"dedicated","LOM1","LOM2","LOM3","LOM4","None" };
+#define	INVAILD_FAILOVER_MODE	-2
+#define	INVAILD_FAILOVER_MODE_SETTINGS	-3
+#define	INVAILD_SHARED_MODE		-4
+
+#define	INVAILD_FAILOVER_MODE_STRING	"ERROR: Cannot set shared with failover lom same as current shared lom.\n"
+#define	INVAILD_FAILOVER_MODE_SET		"ERROR: Cannot set shared with failover loms when NIC is set to dedicated Mode.\n"
+#define	INVAILD_SHARED_MODE_SET_STRING	"ERROR: Cannot set shared Mode for Blades.\n"
 
 // 11g Support Strings for nic selection
 char NIC_Selection_Mode_String [4] [50] =	{	"shared",  
@@ -1893,11 +1901,12 @@ ipmi_lcd_usage(void)
 static int ipmi_delloem_mac_main (struct ipmi_intf * intf, int argc, char ** argv)
 {
     int rc = 0;
+	int currIdInt = -1;
 
     current_arg++;
     if (argc == 1)
     {
-        rc = ipmi_macinfo(intf, 0xff);
+		ipmi_mac_usage();
     }
     else if (strncmp(argv[current_arg], "list\0", 5) == 0)
     {
@@ -1911,12 +1920,14 @@ static int ipmi_delloem_mac_main (struct
             ipmi_mac_usage();
             return -1;
         }
-        int currIdInt;
-        make_int(argv[current_arg],&currIdInt);
-        if(currIdInt>8)
+
+		if(make_int(argv[current_arg],&currIdInt) < 0) {
+			lprintf(LOG_ERR, "Invalid NIC number. The NIC number should be between 0-8\n");			
+			return -1;
+		}
+		if( (currIdInt > 8) || (currIdInt < 0) )
         {
             lprintf(LOG_ERR, "Invalid NIC number. The NIC number should be between 0-8\n");
-            ipmi_mac_usage();
             return -1;
         }
         rc = ipmi_macinfo(intf, currIdInt);
@@ -2015,6 +2026,30 @@ static int ipmi_macinfo_drac_idrac_virtu
         {
             return -1;
         }
+		if( (IMC_IDRAC_12G_MODULAR == IMC_Type) || (IMC_IDRAC_12G_MONOLITHIC== IMC_Type) ) {
+			// Get the Chasiss Assigned MAC Addresss	for 12g Only 		
+			memcpy(VirtualMacAddress,((rsp->data)+1),MACADDRESSLENGH);
+			
+			for (i=0;i<MACADDRESSLENGH;i++)
+			{
+				if (0 != VirtualMacAddress [i])
+				{
+					UseVirtualMacAddress = 1;
+				}	
+			}
+			// Get the Server Assigned MAC Addresss for 12g Only 	
+			if(!UseVirtualMacAddress) {
+				memcpy(VirtualMacAddress,((rsp->data)+1+MACADDRESSLENGH),MACADDRESSLENGH);
+			
+				for (i=0;i<MACADDRESSLENGH;i++)
+				{
+					if (0 != VirtualMacAddress [i])
+					{
+						UseVirtualMacAddress = 1;
+					}	
+				}
+			}
+		} else {
         memcpy(VirtualMacAddress,((rsp->data)+VIRTUAL_MAC_OFFSET),MACADDRESSLENGH);
 
         for (i=0;i<MACADDRESSLENGH;i++)
@@ -2024,10 +2059,15 @@ static int ipmi_macinfo_drac_idrac_virtu
                 UseVirtualMacAddress = 1;
             }       
         }
+		}
         if (0 == UseVirtualMacAddress)
             return -1;              
         if (IMC_IDRAC_10G == IMC_Type)
             printf ("\nDRAC MAC Address ");
+		else if ( (IMC_IDRAC_11G_MODULAR == IMC_Type) || (IMC_IDRAC_11G_MONOLITHIC== IMC_Type) )
+			printf ("\niDRAC6 MAC Address ");
+		else if ( (IMC_IDRAC_12G_MODULAR == IMC_Type) || (IMC_IDRAC_12G_MONOLITHIC== IMC_Type) )
+			printf ("\niDRAC7 MAC Address ");
         else
             printf ("\niDRAC6 MAC Address ");
 
------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Ipmitool-devel mailing list
Ipmitool-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel

Reply via email to