COAP: A Software-Defined Approach for Managing Residential Wireless Gateways



Similar documents
Enabling third-party apps in home gateways for. (through virtualization, edge computing, SDN, and RF management) Suman Banerjee

Observing Home Wireless Experience through WiFi APs

BUILDING BLOCKS TO UNDERSTAND WIRELESS EXPERIENCE. Ashish Patro. A dissertation submitted in partial fulfillment of the requirements for the degree of

Optimizing Wireless Networks.

mesdn: Mobile Extension of SDN Mostafa Uddin Advisor: Dr. Tamer Nadeem Old Dominion University

Lab Exercise Objective. Requirements. Step 1: Fetch a Trace

WiSlow: A WiFi Network Performance Troubleshooting Tool for End Users

WiLink 8 Solutions. Coexistence Solution Highlights. Oct 2013

WLAN Positioning Technology White Paper

Attenuation (amplitude of the wave loses strength thereby the signal power) Refraction Reflection Shadowing Scattering Diffraction

The ArubaOS Spectrum Analyzer Module

Unmatched RF Spectrum Analysis

TECHNICAL NOTE. GoFree WIFI-1 web interface settings. Revision Comment Author Date 0.0a First release James Zhang 10/09/2012

SHIDLER TELEPHONE INTERNET BROADBAND INTERNET SERVICE DISCLOSURES. Updated November 20, 2011

The Wireless Network Road Trip

WLAN Spectrum Analyzer Technology White Paper HUAWEI TECHNOLOGIES CO., LTD. Issue 01. Date

POTTAWATOMIE TELEPHONE COMPANY BROADBAND INTERNET SERVICE DISCLOSURES. Updated November 19, 2011

Wireless Network Standard and Guidelines

CWNA Instructor Led Course Outline

Wireless Mesh Networks under FreeBSD

Wireless Networks. Reading: Sec5on 2.8. COS 461: Computer Networks Spring Mike Freedman

12/3/08. Security in Wireless LANs and Mobile Networks. Wireless Magnifies Exposure Vulnerability. Mobility Makes it Difficult to Establish Trust

Analysis of Methods for Mobile Device Tracking. David Nix Chief Scientific Advisor

Ruckus Wireless SmartZone Controller. What s New in Release 3.2

Overview. Summary of Key Findings. Tech Note PCI Wireless Guideline

LAKE REGION ELECTRIC COOPERATIVE, INC. BROADBAND INTERNET SERVICE DISCLOSURES. Updated September, 2013

Deploy WiFi Quickly and Easily

WISE-4000 Series. WISE IoT Wireless I/O Modules

High-Density Wi-Fi. Application Note

SDN/Virtualization and Cloud Computing

ALLION USA INTERNET SERVICE PROVIDER WIRELESS GATEWAY COMPETITIVE ANALYSIS

a new sdn-based control plane architecture for 5G

Chapter 2 Configuring Your Wireless Network and Security Settings

Chapter 5. Data Communication And Internet Technology

Analysis of Effect of Handoff on Audio Streaming in VOIP Networks

CS6956: Wireless and Mobile Networks Lecture Notes: 2/11/2015. IEEE Wireless Local Area Networks (WLANs)

Outline. Institute of Computer and Communication Network Engineering. Institute of Computer and Communication Network Engineering

Performance Measurement of Wireless LAN Using Open Source

Site Survey and RF Design Validation

Basic processes in IEEE networks

A Closer Look at Wireless Intrusion Detection: How to Benefit from a Hybrid Deployment Model

Software-Defined Networking for Wi-Fi White Paper

Measuring the Performance of User Traffic in Home Wireless Networks

基 於 SDN 與 可 程 式 化 硬 體 架 構 之 雲 端 網 路 系 統 交 換 器

USER GUIDE Cisco Small Business

Cloud Networking Disruption with Software Defined Network Virtualization. Ali Khayam

Meraki as Cisco Cloud Services Manage your network Where ever you are!

Interference Identification Guide. Table of Contents

Wireless Troubleshooting

A Presentation at DGI 2014 Government Cloud Computing and Data Center Conference & Expo, Washington, DC. September 18, 2014.

How To Analyze The Security On An Ipa Wireless Sensor Network

Lecture 17: Wireless Networking"

Figure 1: Bandwidth and coverage of wireless technologies [2].

SDN and NFV in the WAN

Cloud-based Wireless LAN for Enterprise, SMB, IT Service Providers and Carriers. Product Highlights. Relay2 Enterprise Access Point RA100 Datasheet

DV230 Web Based Configuration Troubleshooting Guide

ZyXEL Smart Antenna - The solution to Wi-Fi challenges

CSE331: Introduction to Networks and Security. Lecture 6 Fall 2006

NEWWAVE COMMUNICATIONS BROADBAND INTERNET SERVICE DISCLOSURES. Updated October 2012

Software Defined Networking What is it, how does it work, and what is it good for?

This document describes how the Meraki Cloud Controller system enables the construction of large-scale, cost-effective wireless networks.

Facilitating Network Management with Software Defined Networking

Security Awareness. Wireless Network Security

Network Management Basics

Enterprise A Closer Look at Wireless Intrusion Detection:

Analysis of Open Source Drivers for IEEE WLANs

Tuning Cisco WLC for High Density Deployments - William Jones

Final for ECE374 05/06/13 Solution!!

NineStar Connect MASS MARKET INTERNET SERVICE POLICIES AND CUSTOMER INFORMATION. Policy Statement:

What is DECT? DECT stands for Digital Enhanced Cordless Telecommunications.

Output Power (without antenna) 5GHz 2.4GHz

Wireless Network Standard

Lecture Objectives. Lecture 8 Mobile Networks: Security in Wireless LANs and Mobile Networks. Agenda. References

Time-based Updates in OpenFlow: A Proposed Extension to the OpenFlow Protocol

NEW HOPE TELEPHONE COOPERATIVE

RF Monitor and its Uses

RoamAbout Wireless Networking Guide

Configuring Radio Resource Management

Chandelle: Principles of integration wireless controller and SDN controller. Sergey Monin, Alexander Shalimov, Ruslan Smeliansky

ROGUE ACCESS POINT DETECTION: AUTOMATICALLY DETECT AND MANAGE WIRELESS THREATS TO YOUR NETWORK

Portable Wireless Mesh Networks: Competitive Differentiation

MERAKI WHITE PAPER Cloud + Wireless LAN = Easier + Affordable

Wharf T&T Limited Report of Wireless LAN Technology Trial Version: 1.0 Date: 26 Jan Wharf T&T Limited. Version: 1.0 Date: 26 January 2004

Device Provisioning in Cable Environments

Life of a Packet CS 640,

WI-FI VS. BLUETOOTH TWO OUTSTANDING RADIO TECHNOLOGIES FOR DEDICATED PAYMENT APPLICATION

OpenFlow - the key standard of Software-Defined Networks. Dmitry Orekhov, Epam Systems

Frequently Asked Questions: Home Networking, Wireless Adapters, and Powerline Adapters for the BRAVIA Internet Video Link

Express Forwarding : A Distributed QoS MAC Protocol for Wireless Mesh

Securing Local Area Network with OpenFlow

MEASURING WIRELESS NETWORK CONNECTION QUALITY

Wireless Technologies in Industrial Markets

Cooperative Handoff in Wireless Networks

Systems Manager Cloud Based Mobile Device Management

Using Industrial Ethernet Networks for PROFInet

Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation

Per-Packet Load Balancing

RESERVATION TELEPHONE COOPERATIVE BROADBAND INTERNET SERVICE DISCLOSURES

TCP Behavior across Multihop Wireless Networks and the Wired Internet

Transcription:

COAP: A Software-Defined Approach for Managing Residential Wireless Gateways 1 OVERVIEW Wireless gateways (eg, Access Points, wireless Set-Top Boxes) act as the primary mode of internet access in most residential network deployments today A diverse set of WiFi-capable devices access Internet-based services through these gateways, eg, laptops, tablets and other handhelds, game controllers (XBox, Wii), media streaming devices (Apple TV, Google TV, Roku), and many more Given its central role in these home networks, the performance and experience of users at homes depend centrally on efficient and dynamic configuration of these gateways Using SDNs for residential Wireless Gateways Most enterprise WiFi solutions today (including some recent SDN-style efforts [7]) adopt a centralized approach (including vendor-specific cloud based solutions [2]) for managing a set of homogeneous Access Points in a uniform and coordinated manner We believe that a SDN based approach (using an open API) is important in home environments where each wireless neighborhood has a diverse set of these wireless gateways Unlike enterprise environments, homogeneity in such environments is likely hard to achieve In our proposed service, called COAP (Coordination framework for Open APs), participating wireless gateways (eg, Access Points) are configured to securely connect to a cloud-based controller (Figure 2) The controller provides all necessary management services that can be operated by a third-party (potentially distinct from the individual ISPs) In general, it is desirable that all nearby APs use the same controller service for the management function In the context of large apartment buildings, we envision that the apartment management contract with a single controller service and all residents are asked to utilize the designated controller service within the building This service would be no different than many other utilities distributed to residents, eg, water, electricity, etc, which is arranged by the apartment management Individual residents can also pick different controller services to realize many of our proposed benefits However, some advanced features, eg, interference management and mitigation, are better served if neighboring gateways participate through the same service The COAP framework extends OpenFlow to provide wireless management capabilities which is complementary to applications that manage residential broadband networks Furthermore, with the growing demands on in-home wireless networks, especially with the dominance and growth in usage of high bandwidth media streaming, the need for coordination between neighbors will grow Figure 1: An example of COAP deployment within a residential apartment building consisting of COAP capable home wireless gateways (eg, Access Points) and a cloud based COAP controller 2 FRAMEWORK COMPONENTS AND IMPLEMENTATION To participate in the COAP framework, home gateways need to expose a vendor-neutral open API to communicate with the COAP controller In this model (Figure 2), gateways need to implement three different modules that expose a different set of functions (related to configuration, diagnostics and statistics collection) to the controller 21 Framework Components COAP uses OpenFlow to enable SDN style management of residential APs Following are the main components of the COAP framework 1

Access Point (APs 1 n) AP specific interfaces (eg, luci) airshark click APConfigManager DiagnosticStatsReporter BasicStatsReporter OpenFlow modules Floodlight modules ConfigManager COAPManager StatsManager Learning algorithms History Logs - Link Statistics - Traffic Statistics - Non-WiFi activity Cloud Based COAP Controller Figure 2: Components of the COAP framework The different modules implemented by the home gateways (eg, Access Points) and the controller are shown Controller The COAP controller is implemented over the Java based open source SDN controller, Floodlight and currently runs on a standard linux server for our deployment Floodlight allows developers to implement use one of existing modules or implement their own modules for this framework All the COAP controller modules (StatsManager, COAPManager and ConfigManager) are implemented as modules within Floodlight The controller uses OpenFlow with COAP-specific protocol extensions to collect data from the gateways as well as apply the configuration updates Protocol extensions for OpenFlow The OpenFlow communication protocol currently consists of capabilities to exchange switch related statistics (eg, statistics per switch port, flow, queue etc) We augment this feature to also exchange different COAP related wireless specific statistics (eg, airtime usage, link performance, non-wifi activity) To transmit wireless configuration updates to gateways (eg, switch channel, throttle airtime), we extend the OpenFlow protocol to use a mechanism analogous to the one used to send switch configuration updates (eg, adding a flow-related rule) We discuss the protocol details in 3 Wireless Gateways In our current implementation using OpenWrt based WiFi gateways, we use the open-source click [1] framework to implement the WiFi and non-wifi statistics gathering capabilities of the BasicStatsReporter and Diagnostic- StatsReporter modules Airshark [5] provides the non-wifi device detection capabilities using commodity WiFi cards The OpenFlow module interfaces with Airshark and click as well as communicates with the SDN controller We have instrumented the ath9k wireless driver to support APIs related to airtime management For example, to throttle the airtime access of a gateway, we disable the transmit queue (using the AR_Q_TXD register) to block packet transmissions for the required duration Across vendors, the underlying implementation of this feature can be driver specific and transparent to the COAP API The APConfigManager module interfaces with the OpenWrt configuration tool (luci) to perform AP level configurations (eg, channel, transmit power and traffic shaping) This interface can easily be modified for other platforms 22 COAP API Table 1 describes the different capabilities implemented within the COAP modules They allow the OpenFlow based COAP controller to learn about the wireless activity as well as provides a set of key "hooks" to configure and manage the APs Following is a brief overview of the different modules implemented at the COAP APs and controller APConfigManager It allows the controller to configure basic AP parameters such as the operating channel and transmit power levels Beyond this basic control, the AP provides an API to remotely manage its airtime access For example, by slotting time into fine grained intervals (eg, 10 ms periods), the controller can manage an AP s airtime access to reduce channel contention for important flows and mitigate receiver-side interference The ConfigManager module at the controller communicates these 2

Function Description APConfigManager: Module to receive configuration commands from the controller and execute them at the AP SetParameters(channel, power) Configures the AP to a particular channel and/or transmit power SetAirtimeAccess(slotDuration, transmitbitmap) Manage airtime access of APs by throttling/slotting transmissions BasicStatsReporter: Module to report aggregate wireless statistics to the controller GetNeighborInfo() Scans all WiFi channels for neighboring APs beacons, gets MAC address (hashed) and RSSI GetAirtimeUtilization() Get the current channel s airtime utilization (0-100%) over the most recent time epoch GetClientInfo() Get information about associated clients: eg, MAC address (hashed), device type GetLocalLinkStatistics() Get packet transmission statistics per local link: eg, signal strength and total packets sent, received, retried GetTrafficInfo() Get statistics about current traffic: eg, source id, type, packet count, bytes sent DiagnosticStatsReporter: Module to report more detailed wireless statistics for diagnosis purposes GetNonWifiDevices() Get neighboring non-wifi activity (using Airshark [5]): eg, device type, duration etc GetPacketSummaries() Get fine grained MAC layer packet transmission reports summaries [3] for overheard links Each packet summary contains: timestamp, packet length, PHY rate, retry bit and RSSI GetSyncBeacons() Get overheard beacon information (receive timestamp, MAC sequence number, hashed MAC id) on the same WiFi channel for time synchronization Table 1: Main functions implemented by the COAP APs Most functions are fairly simple to implement We are planning to release the API specification and reference implementation: http://researchcswiscedu/wings/projects/coap/ configuration updates from the controller to the APs (eg, channel switch, transmit power, airtime management settings) BasicStatsReporter and DiagnosticStatsReporter This module s goal is to collect different statistics about the local wireless as well as neighboring wireless activity These statistics are gathered by the controller (StatsManager module) from the individual APs as well as logged into a database Similarly, the DiagnosticStatsReporter module is implemented at the APs to collect additional debugging information such as neighboring non-wifi activity and fine grained statistics about link activity (eg, to determine interference [3, 6]) COAPManager All server modules and tasks are managed by the COAPManager module, through which it manages and configures the connected APs In the COAP framework, the implementation of the COAPManager is specific to service providers which allow them to implement custom policies based on the requirements The server also maintains logs about previous wireless activity (WiFi and non-wifi) to learn and predict wireless usage characteristics near each AP s location This context related information can be useful for pre-emptive configuration of home APs to mitigate wireless problems, such as interference and channel congestion enum ofp_stats_types { OFPST_DESC, OFPST_FLOW, OFPST_AGGREGATE, OFPST_TABLE, OFPST_PORT, OFPST_QUEUE, // Added to support COAP messages OFPST_APINFO, /* AP information */ OFPST_UTIL, /* Airtime Utilization */ OFPST_STATION, /* Station statistics */ OFPST_SYNC_BEACON, /* Overheard beacon information */ OFPST_NONWIFI, /* Observed non-wifi devices */ OFPST_BEACON, /* Beacon statistics */ OFPST_PASSIVE, /* Overheard WiFi activity */ OFPST_TRAFFICINFO, /* Traffic type information */ // End OFPST_VENDOR = 0xffff Figure 3: Adding COAP related types to ofp_stats_types for receiving various wireless related statistics from the COAP APs 3 OPENFLOW PROTOCOL MESSAGES 3

enum ofp_type { /* Immutable messages */ OFPT_HELLO, /* Symmetric message */ OFPT_ERROR, /* Symmetric message */ OFPT_ECHO_REQUEST, /* Symmetric message */ OFPT_ECHO_REPLY, /* Symmetric message */ OFPT_VENDOR, /* Symmetric message */ // For COAP: Added to manage wireless configuration at the APs OFPT_SET_WIRELESS_CONFIG /* Controller/switch message */ Figure 4: Adding the OFPT_SET_WIRELESS_CONFIG message type to receive wireless configuration updates from the controller In this section, we provide details about the extensions to the OpenFlow spec to add COAP related features We have used this implementation to understand wireless performance in dense residential deployments [3] and employ strategies to improve performance [4] 31 Message Types 1 To collect COAP based wireless statistics (Table 1), new types are added to the enum ofp_stats_types Figure 3 shows these new types In 32, we further discuss the details of the structures used to collect these statistics from the COAP APs 2 To transmit wireless configuration updates from the controller to the COAP APs, a new message type (OF- PST_SET_WIRELESS_CONFIG) is added to ofp_type (Figure 4) For example, to set an AP s channel, the COAP controller uses the this type to send a channel update message to the AP 32 COAP related statistics The section describes the OpenFlow structures to collect COAP related statistics described in Table 1 1 The ofp_apinfo_stats structure (figure 5) provides information about each wireless NIC present on the Access Point /* AP information statistics */ struct ofp_apinfo_stats { char apmacid[macid_length]; /* AP MAC ID */ uint8_t nic_count; /* NIC number */ uint8_t is_2ghz_supported; /* 2 GHz support */ uint8_t is_5ghz_supported; /* 5 GHz support */ uint8_t is_2ghz_ht20_support; /* HT20 on 2GHz? */ uint8_t is_2ghz_ht40_support; /* HT40 on 2GHz? */ uint8_t is_5ghz_ht20_support; /* HT20 on 5GHz? */ uint8_t is_5ghz_ht40_support; /* HT40 on 5GHz? */ uint8_t pad; /* Align to 32 bits */ OFP_ASSERT(sizeof(struct ofp_apinfo_stats) == 32); Figure 5: OpenFlow structure used by a COAP AP to report airtime utilization information to the controller 2 The ofp_util_stats structure (figure 6) is used to collect parameters related to airtime utilization on the AP s current channel 3 The ofp_beacon_stats structure (figure 7) is used to obtain information about neighboring APs located in the vicinity of the COAPAP The specific AP performs a scan on WiFi supported WiFi channel to detect neighboring APs beacons 4 The ofp_station_stats structure (figure 8) reports a COAP AP s download packet transmission statistics to a local WiFi client The client is identified by a unique ID (client_macid) which can either be the client MAC address or a hashed version of the MAC address for privacy purposes The retry_string is a formatted string containing the packets transmitted and retried by the AP at each individual PHY rate 5 The ofp_syncbeacon_stats structure (figure 9) reports beacons from other APs overheard by a COAP AP The timestamp field records a 32 bit timestamp for when the beacon was observed This data is collected from nearby COAP APs by the COAP controller to obtain their relative clock offsets The clock offsets are used to synchronize the COAP APs clock for the SetAirtimeAccess API (Table 1) 4

/* Airtime utilization statistics */ struct ofp_util_stats { uint16_t type; /* util or util hop */ short util_val; /* Utilization value */ uint32_t active; /* Active period (in seconds) */ uint32_t busy; /* Busy period (in seconds) */ uint32_t receive; /* Receive period (in seconds) */ uint32_t xmit; /* Transmit period (in seconds) */ uint32_t channel; /* WiFi Channel */ int noise_floor; /* Noise floor (in -dbm) */ OFP_ASSERT(sizeof(struct ofp_util_stats) == 32); Figure 6: OpenFlow structure used by a COAP AP to report airtime utilization information to the controller /* Neighboring AP information */ struct ofp_beacon_stats { char apmac[macid_length]; /* AP MAC ID */ int rssi; /* Signal strength */ uint16_t channel; /* Channel */ uint8_t pad[2]; /* Align to 32-bits */ OFP_ASSERT(sizeof(struct ofp_beacon_stats) == 32); Figure 7: OpenFlow structure used by a COAP AP to report neighboring AP information (observed through beacons) to the controller 6 The ofp_nonwifi_stats structure (figure 10) provides information about nearby non-wifi activity (eg, cordless phones, microwave ovens) observed by COAP APs The information can be helpful to build applications that detect and mitigate non-wifi interference using commodity WiFi APs In our implementation, we use Airshark [5] to provide this information 7 The ofp_client_stats structure (figure 11) provides client related metadata such the mac_id (mac address or hashed mac address), host_name and optional (device_type) This information can used by the COAP controller to determine the client "context" Such information can be potentially used for predicting future client activity based on prior history (eg, watching long running video streams) and perform adaptation at neighboring APs to reduce channel contention 8 The ofp_passive_stats structure (figure 12) is used to report external WiFi activity to the controller Each instance provides aggregate packet transmission statistics for a single external WiFi link (represented by the sender, receiver fields) This is useful for knowing the WiFi activity of APs, which are not a part of the COAP AP framework 9 The ofp_trafficinfo_stats structure (figure 13) provides information about the traffic characteristics to the controller as a formatted string The controller can leverage this information to predict future traffic characteristics and perform adaptations at nearby COAP APs to load balance the traffic across different channels 10 The ofp_diagnostic_stats structure (figure 14) provides a formatted string containing packet level summaries for diagnostic purposes; such as detecting the presence of hidden terminal interference The per-packet information only consists of wireless transmission related parameters (eg, PHY rates, MAC timestamp, packet retries, length etc) During periods of poor WiFi performance, the COAP controller can collect this information to detect the causes of high interference scenarios to apply the required mitigation strategies 5

/* Per-client packet transmission summary */ struct ofp_station_stats { char client_macid[macid_length]; /* Client MAC ID */ char retry_string[ratestr_length]; /* PHY rate stats */ uint32_t packet_count; /* Packets sent */ uint32_t packet_retries; /* Packets retried */ int rssi; /* RSSI */ // uint32_t channel; /* WiFi channel */ OFP_ASSERT(sizeof(struct ofp_station_stats) == 196); Figure 8: OpenFlow structure used by a COAP AP to report per-station download packet transmission statistics to the controller /* Beacon information - For time synchronization */ struct ofp_syncbeacon_stats { char apmac[macid_length]; /* Access Point MAC ID */ uint32_t timestamp; /* Timestamp value */ uint16_t seq; /* Sequence number*/ uint16_t channel; /* Channel */ OFP_ASSERT(sizeof(struct ofp_syncbeacon_stats) == 28); Figure 9: OpenFlow structure used by a COAP AP to report timestamped overheard beacons to the controller The controller used this information for inter-ap time synchronization /* Non-WiFi device activity */ struct ofp_nonwifi_stats { uint32_t timestamp; /* Unix timestamp for the record */ uint32_t start_ts; /* Unix timestamp when activity is first detected */ uint32_t end_ts; /* Unix timestamp when activity is last detected */ uint32_t duration_sec; /* Activity duration in seconds */ int rssi; /* Observed signal strength */ uint16_t start_bin; /* Starting WiFi subcarrier (0-55) */ uint16_t center_bin; /* Peak RSSI subcarrier */ uint16_t end_bin; /* Ending WiFi subcarrier */ uint16_t device_type; /* Device type (eg, FHSS phone) */ uint32_t channel; /* WiFi channel with activity */ OFP_ASSERT(sizeof(struct ofp_nonwifi_stats) == 32); Figure 10: OpenFlow structure used by a COAP AP to report non-wifi device activity to the controller /* Meta data about the associated clients */ struct ofp_client_stats { char mac_id[macid_length]; /* Client MAC ID */ char host_name[name_length]; /* Client s hostname */ long apip; /* Local IP Address */ uint32_t dev_type; /* Device type */ OFP_ASSERT(sizeof(struct ofp_client_stats) == 72); Figure 11: OpenFlow structure used by a COAP AP to report client metadata to the controller 6

/* Passively collected neighboring WiFi link statistics */ struct ofp_passive_stats { char sender[macid_length]; /* Sender s MAC ID */ char receiver[macid_length]; /* Receiver MAC ID */ char retry_string[ratestr_length]; /* PHY rate stats */ uint16_t average_packet_length; /* Average packet length */ uint16_t average_rate_times10; /* Average PHY rate (x10) */ int rssi; /* Signal strength */ uint32_t packet_count; /* Packets transmitted */ uint32_t packet_retries; /* Packets retried */ uint32_t channel; /* WiFi channel */ OFP_ASSERT(sizeof(struct ofp_passive_stats) == 224); Figure 12: OpenFlow structure used by a COAP AP to report observed external WiFi link statistics to the controller /* Report statistics about the traffic type */ struct ofp_trafficinfo_stats { char trafficinfo_string[trafficinfo_string_length]; OFP_ASSERT(sizeof(struct ofp_trafficinfo_stats) == 1024); Figure 13: OpenFlow structure used by a COAP AP to report traffic type statistics to the controller /* Report statistics about the traffic type */ struct ofp_diagnostic_stats { char diagnosticstats_string[diagnosticstats_string_length]; OFP_ASSERT(sizeof(struct ofp_diagnostic_stats) == 30720); Figure 14: OpenFlow structure used by a COAP AP to report packet level summaries to the controller 7

4 REFERENCES [1] Click modular router http://wwwreadcsuclaedu/click/click [2] Meraki Enterprise cloud management http://wwwmerakicom/products/wireless/enterprise-cloud-management [3] A Patro, S Govindan, and S Banerjee Observing Home Wireless Experience Through WiFi APs In Proceedings of the 19th Annual International Conference on Mobile Computing & Networking, MobiCom 13 [4] A Patro, S Govindan, and S Banerjee Outsourcing Home AP Management to the Cloud through an Open API Open Networking Summit 2013 [5] S Rayanchu, A Patro, and S Banerjee Airshark: Detecting non-wifi RF devices using commodity WiFi hardware IMC 11 [6] V Shrivastava, S Rayanchu, S Banerjee, and K Papagiannaki PIE in the sky: online passive interference estimation for enterprise WLANs In Proceedings of the 8th USENIX conference on Networked systems design and implementation, NSDI 11 [7] L Suresh, J Schulz-Zander, R Merz, A Feldmann, and T Vazao Towards programmable enterprise WLANs with Odin HotSDN 12 8