aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/cfg80211.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r--include/net/cfg80211.h33
1 files changed, 29 insertions, 4 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index ba7384acf4e0..d30eada7c6cd 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -423,6 +423,7 @@ struct station_parameters {
423 * @STATION_INFO_SIGNAL_AVG: @signal_avg filled 423 * @STATION_INFO_SIGNAL_AVG: @signal_avg filled
424 * @STATION_INFO_RX_BITRATE: @rxrate fields are filled 424 * @STATION_INFO_RX_BITRATE: @rxrate fields are filled
425 * @STATION_INFO_BSS_PARAM: @bss_param filled 425 * @STATION_INFO_BSS_PARAM: @bss_param filled
426 * @STATION_INFO_CONNECTED_TIME: @connected_time filled
426 */ 427 */
427enum station_info_flags { 428enum station_info_flags {
428 STATION_INFO_INACTIVE_TIME = 1<<0, 429 STATION_INFO_INACTIVE_TIME = 1<<0,
@@ -441,6 +442,7 @@ enum station_info_flags {
441 STATION_INFO_SIGNAL_AVG = 1<<13, 442 STATION_INFO_SIGNAL_AVG = 1<<13,
442 STATION_INFO_RX_BITRATE = 1<<14, 443 STATION_INFO_RX_BITRATE = 1<<14,
443 STATION_INFO_BSS_PARAM = 1<<15, 444 STATION_INFO_BSS_PARAM = 1<<15,
445 STATION_INFO_CONNECTED_TIME = 1<<16
444}; 446};
445 447
446/** 448/**
@@ -511,6 +513,7 @@ struct sta_bss_parameters {
511 * Station information filled by driver for get_station() and dump_station. 513 * Station information filled by driver for get_station() and dump_station.
512 * 514 *
513 * @filled: bitflag of flags from &enum station_info_flags 515 * @filled: bitflag of flags from &enum station_info_flags
516 * @connected_time: time(in secs) since a station is last connected
514 * @inactive_time: time since last station activity (tx/rx) in milliseconds 517 * @inactive_time: time since last station activity (tx/rx) in milliseconds
515 * @rx_bytes: bytes received from this station 518 * @rx_bytes: bytes received from this station
516 * @tx_bytes: bytes transmitted to this station 519 * @tx_bytes: bytes transmitted to this station
@@ -533,6 +536,7 @@ struct sta_bss_parameters {
533 */ 536 */
534struct station_info { 537struct station_info {
535 u32 filled; 538 u32 filled;
539 u32 connected_time;
536 u32 inactive_time; 540 u32 inactive_time;
537 u32 rx_bytes; 541 u32 rx_bytes;
538 u32 tx_bytes; 542 u32 tx_bytes;
@@ -689,8 +693,9 @@ struct mesh_config {
689 * @mesh_id_len: length of the mesh ID, at least 1 and at most 32 bytes 693 * @mesh_id_len: length of the mesh ID, at least 1 and at most 32 bytes
690 * @path_sel_proto: which path selection protocol to use 694 * @path_sel_proto: which path selection protocol to use
691 * @path_metric: which metric to use 695 * @path_metric: which metric to use
692 * @vendor_ie: vendor information elements (optional) 696 * @ie: vendor information elements (optional)
693 * @vendor_ie_len: length of vendor information elements 697 * @ie_len: length of vendor information elements
698 * @is_secure: or not
694 * 699 *
695 * These parameters are fixed when the mesh is created. 700 * These parameters are fixed when the mesh is created.
696 */ 701 */
@@ -699,8 +704,9 @@ struct mesh_setup {
699 u8 mesh_id_len; 704 u8 mesh_id_len;
700 u8 path_sel_proto; 705 u8 path_sel_proto;
701 u8 path_metric; 706 u8 path_metric;
702 const u8 *vendor_ie; 707 const u8 *ie;
703 u8 vendor_ie_len; 708 u8 ie_len;
709 bool is_secure;
704}; 710};
705 711
706/** 712/**
@@ -1451,6 +1457,8 @@ struct cfg80211_ops {
1451 * @WIPHY_FLAG_IBSS_RSN: The device supports IBSS RSN. 1457 * @WIPHY_FLAG_IBSS_RSN: The device supports IBSS RSN.
1452 * @WIPHY_FLAG_SUPPORTS_SEPARATE_DEFAULT_KEYS: The device supports separate 1458 * @WIPHY_FLAG_SUPPORTS_SEPARATE_DEFAULT_KEYS: The device supports separate
1453 * unicast and multicast TX keys. 1459 * unicast and multicast TX keys.
1460 * @WIPHY_FLAG_MESH_AUTH: The device supports mesh authentication by routing
1461 * auth frames to userspace. See @NL80211_MESH_SETUP_USERSPACE_AUTH.
1454 */ 1462 */
1455enum wiphy_flags { 1463enum wiphy_flags {
1456 WIPHY_FLAG_CUSTOM_REGULATORY = BIT(0), 1464 WIPHY_FLAG_CUSTOM_REGULATORY = BIT(0),
@@ -1463,6 +1471,7 @@ enum wiphy_flags {
1463 WIPHY_FLAG_CONTROL_PORT_PROTOCOL = BIT(7), 1471 WIPHY_FLAG_CONTROL_PORT_PROTOCOL = BIT(7),
1464 WIPHY_FLAG_IBSS_RSN = BIT(8), 1472 WIPHY_FLAG_IBSS_RSN = BIT(8),
1465 WIPHY_FLAG_SUPPORTS_SEPARATE_DEFAULT_KEYS= BIT(9), 1473 WIPHY_FLAG_SUPPORTS_SEPARATE_DEFAULT_KEYS= BIT(9),
1474 WIPHY_FLAG_MESH_AUTH = BIT(10),
1466}; 1475};
1467 1476
1468struct mac_address { 1477struct mac_address {
@@ -2484,6 +2493,22 @@ void cfg80211_michael_mic_failure(struct net_device *dev, const u8 *addr,
2484void cfg80211_ibss_joined(struct net_device *dev, const u8 *bssid, gfp_t gfp); 2493void cfg80211_ibss_joined(struct net_device *dev, const u8 *bssid, gfp_t gfp);
2485 2494
2486/** 2495/**
2496 * cfg80211_notify_new_candidate - notify cfg80211 of a new mesh peer candidate
2497 *
2498 * @dev: network device
2499 * @macaddr: the MAC address of the new candidate
2500 * @ie: information elements advertised by the peer candidate
2501 * @ie_len: lenght of the information elements buffer
2502 * @gfp: allocation flags
2503 *
2504 * This function notifies cfg80211 that the mesh peer candidate has been
2505 * detected, most likely via a beacon or, less likely, via a probe response.
2506 * cfg80211 then sends a notification to userspace.
2507 */
2508void cfg80211_notify_new_peer_candidate(struct net_device *dev,
2509 const u8 *macaddr, const u8 *ie, u8 ie_len, gfp_t gfp);
2510
2511/**
2487 * DOC: RFkill integration 2512 * DOC: RFkill integration
2488 * 2513 *
2489 * RFkill integration in cfg80211 is almost invisible to drivers, 2514 * RFkill integration in cfg80211 is almost invisible to drivers,