
# HG changeset patch # User Dan Smith <danms@us.ibm.com> # Date 1209579110 25200 # Node ID ffd90f0ed0e8e06c51db09befd3a09c956b00444 # Parent a6ad7167443f326ec96e2161127024a86259e4fb Revert the random MAC generation patch against SDC ...because it gets in the way of a client's ability to determine which RASD is min/max/def/incr. Signed-off-by: Dan Smith <danms@us.ibm.com> diff -r a6ad7167443f -r ffd90f0ed0e8 src/Virt_SettingsDefineCapabilities.c --- a/src/Virt_SettingsDefineCapabilities.c Tue Apr 29 07:05:34 2008 -0700 +++ b/src/Virt_SettingsDefineCapabilities.c Wed Apr 30 11:11:50 2008 -0700 @@ -25,7 +25,6 @@ #include <stdbool.h> #include <sys/vfs.h> #include <errno.h> -#include <time.h> #include <uuid/uuid.h> #include <libvirt/libvirt.h> @@ -54,8 +53,6 @@ const static CMPIBroker *_BROKER; #define SDC_DISK_MIN 2000 #define SDC_DISK_DEF 5000 #define SDC_DISK_INC 250 - -#define DEFAULT_MAC_PREFIX "00:16:3e" static bool system_has_vt(virConnectPtr conn) { @@ -629,74 +626,25 @@ static struct sdc_rasd_prop *net_max(con return rasd; } -static const char *_net_rand_mac(void) -{ - int r; - int ret; - unsigned int s; - char *tmp_mac = NULL; - const char *mac = NULL; - CMPIString *str = NULL; - CMPIStatus status; - - srand(time(NULL)); - r = rand_r(&s); - - ret = asprintf(&tmp_mac, - "%s:%02x:%02x:%02x", - DEFAULT_MAC_PREFIX, - r & 0xFF, - (r & 0xFF00) >> 8, - (r & 0xFF0000) >> 16); - - if (ret == -1) - goto out; - - str = CMNewString(_BROKER, tmp_mac, &status); - if ((str == NULL) || (status.rc != CMPI_RC_OK)) { - str = NULL; - CU_DEBUG("Failed to create string"); - goto out; - } - out: - free(tmp_mac); - - if (str != NULL) - mac = CMGetCharPtr(str); - else - mac = NULL; - - return mac; -} - static struct sdc_rasd_prop *net_def(const CMPIObjectPath *ref, CMPIStatus *s) { bool ret; uint16_t num_nics = 1; struct sdc_rasd_prop *rasd = NULL; - const char *mac = _net_rand_mac(); struct sdc_rasd_prop tmp[] = { {"InstanceID", (CMPIValue *)"Default", CMPI_chars}, {"VirtualQuantity", (CMPIValue *)&num_nics, CMPI_uint16}, - {"Address", (CMPIValue *)mac, CMPI_chars}, - PROP_END - }; - - if (mac == NULL) { - cu_statusf(_BROKER, s, - CMPI_RC_ERR_FAILED, - "Failed to generate new MAC address"); - goto out; - } - - ret = dup_rasd_prop_list(tmp, &rasd); - if (!ret) { - cu_statusf(_BROKER, s, - CMPI_RC_ERR_FAILED, - "Could not copy RASD"); - } - out: + PROP_END + }; + + ret = dup_rasd_prop_list(tmp, &rasd); + if (!ret) { + cu_statusf(_BROKER, s, + CMPI_RC_ERR_FAILED, + "Could not copy RASD"); + } + return rasd; }