Fix MAC Address validation

MAC Address validate method is retruning true for address:
00:00:00:00:00:00 which is an invalid address.

Resolves openbmc/openbmc#2333

Change-Id: Ida6c84855abeb11c95673087a8b361f151b0a3bc
Signed-off-by: Nagaraju Goruganti <ngorugan@in.ibm.com>
diff --git a/util.hpp b/util.hpp
index 7e48383..de0221a 100644
--- a/util.hpp
+++ b/util.hpp
@@ -17,6 +17,7 @@
 constexpr auto IPV6_MAX_PREFIX_LENGTH = 64;
 constexpr auto IPV4_PREFIX = "169.254";
 constexpr auto IPV6_PREFIX = "fe80";
+constexpr auto ZEROMACADDRESS = "00:00:00:00:00:00";
 
 namespace mac_address
 {
@@ -35,7 +36,8 @@
 inline bool validate(const std::string& value)
 {
     std::regex regexToCheck(regex);
-    return std::regex_search(value, regexToCheck);
+    return std::regex_search(value, regexToCheck) &&
+           value.find(ZEROMACADDRESS) != 0;
 }
 
 /** @brief gets the MAC address from the Inventory.