shill: Add NL80211_CMD_DEL_INTERFACE message

BUG=b:112327498
TEST=tested on biggie and gale.
-create interface bsta-2400mhz through ap-hal
-hal-client ac '{"wifi_phy_command": {"interface_id": "0",
"remove_interface":{"interface_name": "bsta-2400mhz"}}}'
-confirm interface is deleted by ifconfig

Change-Id: I8896f80bc31f62dfb179e80171b949c1ef7ec208
Reviewed-on: https://chromium-review.googlesource.com/1166221
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Julan Hsu <julanhsu@chromium.org>
Reviewed-by: Brian Norris <briannorris@chromium.org>
diff --git a/net/nl80211_message.cc b/net/nl80211_message.cc
index b202343..857258d 100644
--- a/net/nl80211_message.cc
+++ b/net/nl80211_message.cc
@@ -455,6 +455,9 @@
 const char DeauthenticateMessage::kCommandString[] =
     "NL80211_CMD_DEAUTHENTICATE";
 
+const uint8_t DelInterfaceMessage::kCommand = NL80211_CMD_DEL_INTERFACE;
+const char DelInterfaceMessage::kCommandString[] = "NL80211_CMD_DEL_INTERFACE";
+
 const uint8_t DeleteStationMessage::kCommand = NL80211_CMD_DEL_STATION;
 const char DeleteStationMessage::kCommandString[] = "NL80211_CMD_DEL_STATION";
 
@@ -647,6 +650,8 @@
       return std::make_unique<ConnectMessage>();
     case DeauthenticateMessage::kCommand:
       return std::make_unique<DeauthenticateMessage>();
+    case DelInterfaceMessage::kCommand:
+      return std::make_unique<DelInterfaceMessage>();
     case DeleteStationMessage::kCommand:
       return std::make_unique<DeleteStationMessage>();
     case DisassociateMessage::kCommand:
diff --git a/net/nl80211_message.h b/net/nl80211_message.h
index 2246ce3..11b3ede 100644
--- a/net/nl80211_message.h
+++ b/net/nl80211_message.h
@@ -172,6 +172,18 @@
 };
 
 
+class SHILL_EXPORT DelInterfaceMessage : public Nl80211Message {
+ public:
+  static const uint8_t kCommand;
+  static const char kCommandString[];
+
+  DelInterfaceMessage() : Nl80211Message(kCommand, kCommandString) {}
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(DelInterfaceMessage);
+};
+
+
 class SHILL_EXPORT DeleteStationMessage : public Nl80211Message {
  public:
   static const uint8_t kCommand;