vlan: Disable MAC address setting

We should not implicitly do nothing with the mac address. Report a
failure to set the MAC address on a VLAN to the caller.

Change-Id: I01d9ed2db190a53bc20a0d537f067838a9a1e8e0
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/vlan_interface.cpp b/vlan_interface.cpp
index 1b4eaee..73de4e8 100644
--- a/vlan_interface.cpp
+++ b/vlan_interface.cpp
@@ -37,6 +37,12 @@
     emit_object_added();
 }
 
+std::string VlanInterface::mACAddress(std::string)
+{
+    log<level::ERR>("Tried to set MAC address on VLAN");
+    elog<InternalFailure>();
+}
+
 void VlanInterface::writeDeviceFile()
 {
     using namespace std::string_literals;
diff --git a/vlan_interface.hpp b/vlan_interface.hpp
index 48cb14d..a994d05 100644
--- a/vlan_interface.hpp
+++ b/vlan_interface.hpp
@@ -52,6 +52,12 @@
      */
     void delete_() override;
 
+    /** @brief sets the MAC address.
+     *  @param[in] value - MAC address which needs to be set on the system.
+     *  @returns macAddress of the interface or throws an error.
+     */
+    std::string mACAddress(std::string value) override;
+
     /** @brief writes the device configuration.
                systemd reads this configuration file
                and creates the vlan interface.*/