2014-08-09 03:22:58 +02:00
|
|
|
Background
|
|
|
|
==========
|
|
|
|
|
|
|
|
- Priority scale: High, Medium and Low
|
|
|
|
|
|
|
|
- Complexity scale: C1, C2, C4 and C8. The complexity scale is exponential,
|
|
|
|
with complexity 1 being the lowest complexity. Complexity is a function
|
|
|
|
of both task 'complexity' and task 'scope'.
|
|
|
|
|
|
|
|
The general rule of thumb is that a complexity 1 task should take 1-2 weeks
|
|
|
|
for a person very familiar with the codebase. Higher complexity tasks
|
|
|
|
require more time and have higher uncertainty.
|
|
|
|
|
|
|
|
Higher complexity tasks should be refined into several lower complexity tasks
|
|
|
|
once the task is better understood.
|
|
|
|
|
|
|
|
|
|
|
|
mac80211_hwsim
|
|
|
|
==============
|
|
|
|
|
|
|
|
- Add support for returning HWSIM_ATTR_RADIO_ID from HWSIM_CMD_CREATE_RADIO
|
|
|
|
|
|
|
|
The HWSIM_CMD_CREATE_RADIO command should return HWSIM_CMD_CREATE_RADIO
|
|
|
|
on success so that the radio id for the created wiphy can be mapped by
|
|
|
|
test tools or when having to destroy that radio again.
|
|
|
|
|
|
|
|
Priority: High
|
|
|
|
Complexity: C1
|
|
|
|
|
|
|
|
- Add support for client tracking of HWSIM_CMD_CREATE_RADIO
|
|
|
|
|
|
|
|
When using HWSIM_CMD_CREATE_RADIO command the newly created radio is
|
|
|
|
not bound to the owner of the netlink socket. This means that the radio
|
|
|
|
stays around even after the client quits. For testing tools it would
|
|
|
|
be beneficial if the newly created radio could be bound to the lifetime
|
|
|
|
of the netlink socket.
|
|
|
|
|
|
|
|
Create a new HWSIM_ATTR_DESTROY_RADIO_ON_CLOSE (netlink flag attribute)
|
|
|
|
that can be given to HWSIM_CMD_CREATE_RADIO to indicate this behavior.
|
|
|
|
|
|
|
|
Priority: High
|
|
|
|
Complexity: C1
|
|
|
|
|
|
|
|
- Rename HWSIM_CMD_CREATE_RADIO into HWSIM_CMD_NEW_RADIO
|
|
|
|
|
|
|
|
Using the name HWSIM_CMD_NEW_RADIO is more fitting on how other pieces
|
|
|
|
of the wireless system work.
|
|
|
|
|
|
|
|
Rename the HWSIM_CMD_CREATE_RADIO entry in the enum and provde a define
|
|
|
|
for source level comaptiblity.
|
|
|
|
|
|
|
|
Priority: Medium
|
|
|
|
Complexity: C1
|
|
|
|
|
|
|
|
- Rename HWSIM_CMD_DESTROY_RADIO into HWSIM_CMD_DEL_RADIO
|
|
|
|
|
|
|
|
Using the name HWSIM_CMD_DEL_RADIO is more fitting on how other pieces
|
|
|
|
of the wireless system work.
|
|
|
|
|
|
|
|
Rename the HWSIM_CMD_DESTROY_RADIO entry in the enum and provde a define
|
|
|
|
for source level comaptiblity.
|
|
|
|
|
|
|
|
Priority: Medium
|
|
|
|
Complexity: C1
|
|
|
|
|
|
|
|
- Provide multicast events for HWSIM_CMD_NEW_RADIO and HWSIM_CMD_DEL_RADIO
|
|
|
|
|
|
|
|
When adding new radios via HWSIM_CMD_NEW_RADIO then listeners on the
|
|
|
|
multicast group "config" should be informed. Same as when an existing
|
|
|
|
radio gets removed via HWSIM_CMD_DEL_RADIO, send event to "config"
|
|
|
|
multicast group.
|
|
|
|
|
|
|
|
The multicast group "config" does not exist at the moment and needs
|
|
|
|
be introduced as well.
|
|
|
|
|
|
|
|
Priority: Medium
|
|
|
|
Complexity: C1
|
|
|
|
|
|
|
|
- Add support for HWSIM_CMD_GET_RADIO command
|
|
|
|
|
|
|
|
Currently it is not possible to list the existing radio created by
|
|
|
|
mac80211_hwsim. Use the command to dump a list of radios where each
|
|
|
|
radio at minimum containts the HWSIM_ATTR_RADIO_ID.
|
|
|
|
|
|
|
|
For the result HWSIM_CMD_NEW_RADIO (previously HWSIM_CMD_CREATE_RADIO)
|
|
|
|
should be used.
|
|
|
|
|
|
|
|
The dump version should not require any attributes and list all radios
|
|
|
|
while otherwise the HWSIM_ATTR_RADIO_ID is required to provide details
|
|
|
|
of a specific radio.
|
|
|
|
|
|
|
|
Priority: Medium
|
|
|
|
Complexity: C1
|
|
|
|
|
|
|
|
- Add support for HWSIM_CMD_SET_RADIO command
|
|
|
|
|
|
|
|
To allow modifying an existing radio, add the HWSIM_CMD_SET_RADIO. The
|
|
|
|
first possible feature should be to emulate the hardware RFKILL switch.
|
|
|
|
|
|
|
|
It might be required to add a HWSIM_ATTR_RADIO_HW_RFKILL attribute flag
|
|
|
|
to the HWSIM_CMD_NEW_RADIO to enable virtual radios with a hardware
|
|
|
|
level RFKILL switch.
|
|
|
|
|
|
|
|
Priority: Medium
|
|
|
|
Complexity: C1
|
|
|
|
|
|
|
|
- Provide kernel option to allow defining the number of initial radios
|
|
|
|
|
|
|
|
By default the mac80211_hwsim modules creates 2 radios by default unless
|
|
|
|
it is overwritten with the radios=x module parameter.
|
|
|
|
|
|
|
|
To allow loading the mac80211_hwsim by default and even with accidental
|
|
|
|
loading of the module, it would be good to provide a kernel configuration
|
|
|
|
option that allows changing the default value here.
|
|
|
|
|
|
|
|
For our testing we want to load mac80211_hwsim without any radios. Maybe
|
|
|
|
this should be the default for the new kernel option.
|
|
|
|
|
|
|
|
Priority: Low
|
|
|
|
Complexity: C1
|
|
|
|
|
|
|
|
- New configuration options for radios
|
|
|
|
|
|
|
|
At the moment the radios created are all equal and feature rich. However
|
|
|
|
for testing we want to create radios with different emulated hardware
|
|
|
|
capabilities. Provide new attributes or flags that allow enabling or
|
|
|
|
disabling certain mac80211 features.
|
|
|
|
|
|
|
|
For example AP mode, P2P mode, number of interface combinations, TDLS
|
|
|
|
support, number of Scan SSIDs, supported ciphers and so on.
|
|
|
|
|
|
|
|
Priority: Low
|
|
|
|
Complexity: C2
|
2014-08-09 03:38:42 +02:00
|
|
|
|
|
|
|
|
|
|
|
cfg80211 / nl80211
|
|
|
|
==================
|
|
|
|
|
|
|
|
- Fix missing NL80211_CMD_NEW_WIPHY and NL80211_CMD_DEL_WIPHY events
|
|
|
|
|
|
|
|
When new wiphy devices are added or removed ensure that the appropiate
|
|
|
|
events are send to the "config" multicast group.
|
|
|
|
|
|
|
|
Priority: High
|
|
|
|
Complexity: C1
|
|
|
|
|
|
|
|
- Fix missing NL80211_CMD_NEW_INTERFACE and NL80211_CMD_DEL_INTERFACE events
|
|
|
|
|
|
|
|
When new network interfaces added or removed ensure that the appropiate
|
|
|
|
events are send to the "config" multicast group.
|
|
|
|
|
|
|
|
Priority: High
|
|
|
|
Complexity: C1
|
|
|
|
|
|
|
|
- Bind NL80211_CMD_START_SCHED_SCAN to netlink socket
|
|
|
|
|
|
|
|
When issuing the NL80211_CMD_START_SCHED_SCAN it should be bound to the
|
|
|
|
executing netlink client socket. If the application closes that netlink
|
|
|
|
socket the scheduled scan operation should be canceled.
|
|
|
|
|
|
|
|
Priority: Medium
|
|
|
|
Complexity: C2
|
|
|
|
|
|
|
|
- Add missing support for NL80211_CMD_GET_INTERFACE filtering
|
|
|
|
|
|
|
|
The NL80211_CMD_GET_INTERFACE command description indicates that you
|
|
|
|
can filter results based NL80211_ATTR_WIPHY. This feature has never
|
|
|
|
been implemented.
|
|
|
|
|
|
|
|
Either remove that feature from the description since it does not exist
|
|
|
|
or actually implemented the filtering on wiphy. Johannes indicated that
|
|
|
|
fixing the description might be the better approach. If the feature is
|
|
|
|
easy to add, then it should be added. However if filtering on wiphy is
|
|
|
|
a rather complicated task, then better just update the description to
|
|
|
|
match the reality.
|
|
|
|
|
|
|
|
Priority: Low
|
|
|
|
Complexity: C2
|