3b6705fb20
Add the plumbing required for setting a random MAC address on AP startup. The random MAC address is created once for the lifetime of the daemon and then reused for any further AP creation. This would ensure that the MAC address is changed on every reboot. The feature is turned on by default, devices will need to set the |WIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION| in their .mk file to disable the feature at compile time. Bug: 78353419 Test: ./hardware/interfaces/wifi/1.3/default/tests/runtests.sh Change-Id: I054d5249c20cc582b76966313135295873cd0b61
56 lines
1.6 KiB
C++
56 lines
1.6 KiB
C++
/*
|
|
* Copyright (C) 2016 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
#ifndef WIFI_FEATURE_FLAGS_H_
|
|
#define WIFI_FEATURE_FLAGS_H_
|
|
|
|
#include <android/hardware/wifi/1.2/IWifiChip.h>
|
|
|
|
namespace android {
|
|
namespace hardware {
|
|
namespace wifi {
|
|
namespace V1_3 {
|
|
namespace implementation {
|
|
namespace feature_flags {
|
|
|
|
namespace chip_mode_ids {
|
|
// These mode ID's should be unique (even across combo versions). Refer to
|
|
// handleChipConfiguration() for it's usage.
|
|
constexpr V1_0::ChipModeId kInvalid = UINT32_MAX;
|
|
// Mode ID's for V1
|
|
constexpr V1_0::ChipModeId kV1Sta = 0;
|
|
constexpr V1_0::ChipModeId kV1Ap = 1;
|
|
// Mode ID for V3
|
|
constexpr V1_0::ChipModeId kV3 = 3;
|
|
} // namespace chip_mode_ids
|
|
|
|
class WifiFeatureFlags {
|
|
public:
|
|
WifiFeatureFlags();
|
|
virtual ~WifiFeatureFlags() = default;
|
|
|
|
virtual std::vector<V1_0::IWifiChip::ChipMode> getChipModes();
|
|
virtual bool isApMacRandomizationDisabled();
|
|
};
|
|
|
|
} // namespace feature_flags
|
|
} // namespace implementation
|
|
} // namespace V1_3
|
|
} // namespace wifi
|
|
} // namespace hardware
|
|
} // namespace android
|
|
|
|
#endif // WIFI_FEATURE_FLAGS_H_
|