I am working on a research project whose goal is to make testing alternative fast WiFi handoff (akin to 802.11r) protocols/algorithms easier. The way I plan to accomplish this at a high level is to tell a system (User Equipment) that it is gaining signal strength from a new AP while losing it with its currently associated AP. This is to simulate the model of moving from one AP to another where both APs are parallel to the line of motion of the UE. (Other physical models will be simulated later, if time permits.)
At a lower level, I am getting lost amid the modules and drivers. Initially, I believed that
wpa_supplicant would be the code/module to "trick" into believing signal changes were occurring. However, I now think that it might be wiser to alter all messages related to signal strength across the
netlink interface. I am unsure how many consumers of signal strength messages from the driver(s) exist; thus it seems wiser to alter them as close to the source of these messages as possible.
My question in a nutshell: Which files will I need to modify to trick a Linux system into believing it is experiencing different signal strength(s) than it really is? An ideal answer would trick as much of the system as possible, but a simpler solution that only tricks modules that handle AP association might be more realistic.
(I am not asking for C-programming advice on how to exactly implement this, as that would not be suitable for this particular StackExchange.)