Skip to content

vanhoefm/hostap-channel-validation

Repository files navigation

Update: our patches have been merged with the official hostap development version! Please see clone the repository git://w1.fi/hostap.git to test Operating Channel Validation (you can view a WWW interface of this repository here). Remeber to first enable OCV in the build .config file by uncommenting CONFIG_OCV=y.

This repository contains a proof-of-concept implementation of Operating Channel Validation (OCV).

Note that the branch local_development will have its history rewritten while the patches are being improved. The idea is that the final set of commits will be included on the official repository of hostap. This means that if you base your own code or project on the branch local_development, do not expect to easily merge new updates, as this will likely lead to merge conflicts.

Configuring Operating Channel Validation (OCV)

To enable OCV for a client, add the line ocv=1 to a network block. Note that to use OCV you must also enable Management Frame Protection (MFP) using the ieee80211w=1 line. For example, the following configuration has OCV enabled:

network={
  ssid="testnetwork"
  psk="abcdefgh"
  pairwise=CCMP
  group=CCMP
  ieee80211w=1
  ocv=1
}

To enable for an AP, add the line ocv= to the configuration. Again you must also enable MFP using ieee80211w=1. An example configuration is

interface=wlan1
ssid=testnetwork
channel=6

wpa=2
wpa_passphrase=abcdefgh
rsn_pairwise=CCMP
group_cipher=CCMP

ieee80211w=1
ocv=1

Interoperability and Correctness

A station (i.e. client or AP) that has OCV enabled is still able to connect to a station that does not support OCV. We assure this by running a bunch of automated tests. These tests also assure that OCV is working properly when enabled. To run all the tests yourself, read the documentation file tests/hwsim/README to prepare the automated tests, and then execute the following command in tests/hwsim:

./start.sh
./run-tests.py -f ocv
./stop.sh

This will run all tests related to our new OCV functionality.