=Quarterly Report - Q1, 2011= [[PageOutline]] == OpenFlow Specification == * OpenFlow spec worked in collaboration with industry partners such as Google, Deutsche Telekom, France Telekom, HP, NEC, Marvell and Broadcom. * We released ver1.1 of the specification with support for * Multiple tables: An OpenFlow switch can now expose multiple tables to a controller. * Multipath (Port groups): OpenFlow now supports the notion of "multipath" where a flow can be sent over one of several paths. * Tags/tunnels: Tag support has been extended to include MPLS shim headers. VLAN tag handling has been modified to support packets with multiple VLAN tags (Q-in-Q encapsulation). Support has been added for tunnels via virtual ports. * [http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf Complete 1.1 Spec] * Individual test cases and patches available in different development branches of OpenVSwitch and oftest == Software == Stanford University currently manages the following software packages for the OpenFlow aggregate: === OpenFlow reference implementation === * No changes === Indigo firmware === * Released support for Pronto 3240 and 3290 * Released Indigo-1.0 firmware with GUI configuration support * Fixed VLAN tag processing issue in Indigo === Debugging/monitoring tools === * Released Measurement box flash image and Scripts to run on server. This allows measuring and plotting (Time Series & CDF) the following metrics: * Flow Setup Time * Ping RTT & Loss * browsing delay * Switch CPU usage * Traffic Volume * # of Active Flows * Flow arrival rate === FlowVisor === * Feature enhancements * added msg statistics, see `fvctl get{Slice,Switch}Stats` * added flow tracking, see `fvctl get{Switch,SliceRewrite}FlowDB` * lots of performance improvements * flow setup time significantly improved * better error handling in create slice and change flowspace * Bug Fixes * fixed big I/O bug that caused switch flapping * password prompt no longer echos plaintext * changed drop rule policy from FS to packet * fixed NPE in FVSlicer === Expedient and Opt-in Manager === * Feature Upgrades * Allow users to specify hex or decimal numbers in the Flowspace entry page in the GUI * Ensure that created projects get owners * Add timer jobs to Expedient * Add expiration to slices * Add periodic updates of aggregates at Expedient * Bug fixes * Fixed several bugs identified during GEC9 === SNAC === * Feature Enhancements * Support for 64-bit datapathid * Support for STP exposed by HP switches * Handling link failures * CentOS RPM released * Bug Fixes * Better working with NEC product firmware * Handling corrupt packets === NOX === * Regular bug fixes and patched to NOX-Zaku * Discovery works with 64 bit DPIDs, XID generation fixes, potential segfault with bad config file fixed, updated some third party code, fixed action parsing in flow stats messages * Debugging routing component issue * Several fixes to NOX-Destiny that will be packaged into a main release in another month * Improved logging: More configurable * Improved builds: Cleaner builds on more up-to-date systems * Python improvements: Better Python OpenFlow support (barriers, flow stats, XIDs, the enqueue action, actions in flow stats events, etc.) = Stanford deployments = * We manage three networks: * Demo network * Building regression tests to check on stability of the network * Upgraded FlowVisor to make things more stable * Replaced NECSW5 with HPSW4 in the demo network and updated existing slices * Introduced more experiments through expedient * Production wired network * Deployed BigSwitch controller and did extensive testing in production setting * Introduced FlowVisor to conduct experiments in wired network * Production wireless network * Experimenting with the NEC Helios controller * Upgraded FlowVisor * We support deployments in two other production networks * Gates * Setup a VMWare server with BigSwitch controller running in the VM * This will be used for VLAN74 in overall Gates network, after first round of testing * CIS/CIX * Created an OpenFlow network with 6 switch, 3 WiFi APs and 1 dedicated monitoring box * Uplink to Gates building network. Currently supporting 40 classroom users == Support other campuses == * Helping campuses deploy new software * Upgraded Expedient and FlowVisor on all campuses * Testing controllers from BigSwitch and NEC on behalf of the campus and sharing our experience * Interact with campuses to obtain feature requirements for SNAC * The main request was to introduce VLAN partitioning in the controller = Pronto Switch donation = We started a solicitation for proposals to jumpstart OpenFlow production deployments through donation of Pronto switches. Based on several rounds of review, we donated close to 31 switches to the following institutions: * MAX Gigapop (PIs: Abdella Battou, Balasubramania N. Pillai) * RENCI - Renaissance Computing Institute (PI: Ilia Baldine) * Kansas State University - ECE Dept (PIs: Caterina Scoglio, Don Gruenbacher) * North Carolina State University (PI: Rudra Dutta) * Duke University (PI: Jeff Chase) * University of North Carolina (PI: Don Smith) * North Carolina Central University (PIs: R. N. Uma, Donghyun David Kim, and Alade Tokuta) * Clemson University (PIs: Kuang-Ching Wang, Richard Brooks, Haiying Shen, and Sebastien Goasguen) * Georgia Institute of Technology (PIs: Nick Feamster, Russell Clark) * University of Arizona (PIs: Srini Ramasubramanian) [http://www.openflow.org/wp/2011/02/switch-donation-jumpstarts-new-openflow-deployments/ More details] == GEC10 activities == === Demo === * We supported BBN's demo "GENI For Everyone" which dynamically created multiple slices across Stanford, BBN, GaTech and Indiana aggregates. The host traffic was routed through NLR and Internet2. === Tutorial === * In GEC10, we organized a tutorial for training campus operators and researchers to deploy OpenFlow. It was very successful and attended by nearly 45 people. * [http://www.openflow.org/wk/index.php/OpenFlowTutorialGEC10 More details]