Add a header file defining QCA OUI and vendor extensions
This file is used as a registry of identifier assignments from the Qualcomm Atheros OUI 00:13:74 for purposes other than MAC address assignment. One of the first uses will be for nl80211 vendor commands/events which is reason for the preparation change in driver_nl80211.c Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
8615bdfac9
commit
1682c62360
2 changed files with 50 additions and 0 deletions
33
src/common/qca-vendor.h
Normal file
33
src/common/qca-vendor.h
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
/*
|
||||||
|
* Qualcomm Atheros OUI and vendor specific assignments
|
||||||
|
* Copyright (c) 2014, Qualcomm Atheros, Inc.
|
||||||
|
*
|
||||||
|
* This software may be distributed under the terms of the BSD license.
|
||||||
|
* See README for more details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef QCA_VENDOR_H
|
||||||
|
#define QCA_VENDOR_H
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is a registry of identifier assignments from the Qualcomm Atheros
|
||||||
|
* OUI 00:13:74 for purposes other than MAC address assignment. New identifiers
|
||||||
|
* can be assigned through normal review process for changes to the upstream
|
||||||
|
* hostap.git repository.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define OUI_QCA 0x001374
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum qca_nl80211_vendor_subcmds - QCA nl80211 vendor command identifiers
|
||||||
|
*
|
||||||
|
* @QCA_NL80211_VENDOR_SUBCMD_UNSPEC: Reserved value 0
|
||||||
|
*
|
||||||
|
* @QCA_NL80211_VENDOR_SUBCMD_TEST: Test command/event
|
||||||
|
*/
|
||||||
|
enum qca_nl80211_vendor_subcmds {
|
||||||
|
QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
|
||||||
|
QCA_NL80211_VENDOR_SUBCMD_TEST = 1,
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* QCA_VENDOR_H */
|
|
@ -28,6 +28,7 @@
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "eloop.h"
|
#include "eloop.h"
|
||||||
#include "utils/list.h"
|
#include "utils/list.h"
|
||||||
|
#include "common/qca-vendor.h"
|
||||||
#include "common/ieee802_11_defs.h"
|
#include "common/ieee802_11_defs.h"
|
||||||
#include "common/ieee802_11_common.h"
|
#include "common/ieee802_11_common.h"
|
||||||
#include "l2_packet/l2_packet.h"
|
#include "l2_packet/l2_packet.h"
|
||||||
|
@ -2716,6 +2717,19 @@ static void nl80211_spurious_frame(struct i802_bss *bss, struct nlattr **tb,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void nl80211_vendor_event_qca(struct wpa_driver_nl80211_data *drv,
|
||||||
|
u32 subcmd, u8 *data, size_t len)
|
||||||
|
{
|
||||||
|
switch (subcmd) {
|
||||||
|
default:
|
||||||
|
wpa_printf(MSG_DEBUG,
|
||||||
|
"nl80211: Ignore unsupported QCA vendor event %u",
|
||||||
|
subcmd);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void nl80211_vendor_event(struct wpa_driver_nl80211_data *drv,
|
static void nl80211_vendor_event(struct wpa_driver_nl80211_data *drv,
|
||||||
struct nlattr **tb)
|
struct nlattr **tb)
|
||||||
{
|
{
|
||||||
|
@ -2751,6 +2765,9 @@ static void nl80211_vendor_event(struct wpa_driver_nl80211_data *drv,
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (vendor_id) {
|
switch (vendor_id) {
|
||||||
|
case OUI_QCA:
|
||||||
|
nl80211_vendor_event_qca(drv, subcmd, data, len);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
wpa_printf(MSG_DEBUG, "nl80211: Ignore unsupported vendor event");
|
wpa_printf(MSG_DEBUG, "nl80211: Ignore unsupported vendor event");
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue