WIFI: Set MAC address for bridged interface

The MAC address of the bridged interface will be dynamically generated
by kernel when any bridged iface is changed. This means that the
bridged interface MAC address will be changed when we remove one of the
instances from the bridged interface (shutdown unused interface case).
The MAC change will break operation of bpf and it may cause the SAP
client to send wrong ns packets because the tethering module is
still using the old MAC in the ra packet.

Always set MAC address so the bridged interface can avoid MAC changing.

Bug: 191611764
Bug: 192315721
Test: Manual test with IPv6 tethering. Make sure client won't disconnect
because it doesn't get na response.
Test: Manual test in two scenarios: 1. MAC randomization 2. reset to factory MAC.

Change-Id: I854fc74b6532824b7d7b5a1aa4bc20a3cf9fd588
diff --git a/wifi/1.5/default/wifi_iface_util.h b/wifi/1.5/default/wifi_iface_util.h
index b449077..544f575 100644
--- a/wifi/1.5/default/wifi_iface_util.h
+++ b/wifi/1.5/default/wifi_iface_util.h
@@ -71,10 +71,10 @@
 
     virtual bool removeIfaceFromBridge(const std::string& br_name,
                                        const std::string& if_name);
+    // Get a random MAC address.
+    virtual std::array<uint8_t, 6> createRandomMacAddress();
 
    private:
-    std::array<uint8_t, 6> createRandomMacAddress();
-
     std::weak_ptr<wifi_system::InterfaceTool> iface_tool_;
     std::weak_ptr<legacy_hal::WifiLegacyHal> legacy_hal_;
     std::unique_ptr<std::array<uint8_t, 6>> random_mac_address_;