You are on page 1of 14

Introduction to OmniUI

D-Link NCTU Joint Research Center


SDN Management Framework
Min-Cheng Chan
Aug. 24, 2014

OmniUI Motivation

Motivation

Lack of a management framework for SDN


Lack of debugging and statistic tools for SDN

OmniUI Feature

Topology view
Flow path highlight

Port / flow statistics


Detail flow statistics (1.3 only)

To test the correctness of packet forwarding

Support statistics on all 40 Openflow Extensible Match (OXM) fields


specified in OpenFlow 1.3 spec
Including source/destination port, IP, macand much more

In progress

Busy link detection


Elephant flow detection and migration
To identify the existence of elephant flow and to isolate it

OmniUI Environment Setup


DB
Flow
Info

FL
Adapter

POX
Adapter

Trema
Adapter

FL

POX

Trema

Statistic
Browser

HTTP & REST

Web
Server

User

Core

REST

OpenFlow
OpenFlow-enabled
Switches

OmniUI Feature

Topology view

Port Information
&
Statistics

Flow Table Entries & Statistics

OmniUI Feature

Flow path highlight

To test the correctness of packet forwarding

Path
Highlight

OmniUI Feature

Port / flow statistics

Flow
Matches
Time
Interval

Byte / packet count of specific ports / flows

OmniUI Feature

Detail flow statistics (1.3 only)

Problem
A flow entry may look like this

What if we only want to see the statistics of all web service (port
80) between subnet 215 and 216?
Feature
Support statistics on all 40 Openflow Extensible Match (OXM)
fields specified in OpenFlow 1.3 spec

match src_ip=140.113.215.0/24 dst_ip=140.113.216.0/24


action output port 1

OmniUI Feature

Detail flow statistics (1.3 only)

OmniUI Approach

Detail flow statistics

User inputs a flow pattern


If the pattern already exists in the flow table
OmniUI collects and stores the statistics into database
If the pattern does not exist in the flow table, but is covered by an
entry with wilder match condition
OmniUI adds the specified match rule in table 0 and set its action
as goto table 1
Table 1 is the default table, where the packet will proceed its
original action(s)
OmniUI collects and stores the statistics (from the entry of table
0) into database

OmniUI Contribution

Implementing OmniUI

Source code release

Flow path highlight


Detail flow statistics
https://github.com/dlinknctu/OmniUI

Open source contribution

Fix barrier reply event dispatching problem on Floodlight


Contributor: Hung-Wei Chiu
Fix variable name collision problem on Trema-edge
Contributor: Min-Cheng Chan

Wireless Host

Wired Host

Switch/AP

Testbed Environment Data Plane


OpenNet

Mobile Phone
DHCP-IP

h1-4
172.20.20.90-93

s5
172.20.20.11
00:00:05

Real World

Axiom2
172.20.20.5
56:d9:76

s4
172.20.20.10
00:00:04

DIR-835
172.20.20.7
5d:0b:11

s3
172.20.20.9
00:00:03

NCTU

DP-NAT-DHCP
140.113.102.175/
172.20.20.254
Axiom1
172.20.20.6
5a:30:36

OVS-PC
172.20.20.3
3e:8c:93
s2
172.20.20.8
00:00:02

s1
172.20.20.4
00:00:01

Laptop
DHCP-IP

Wireless Host

Switch/AP

Wired Host

Testbed Environment Control Plane


Floodlight / OmniUI
MongoDB
140.113.215.200 140.113.215.189
NCTU

CP-NAT
140.113.102.176 / 10.0.0.1

Real World
OpenNet
s5
00:00:05

DIR-835
10.0.0.7
s4
00:00:04 5d:0b:11

3com Legacy SW

Axiom2
10.0.0.5
56:d0:76

Axiom1
10.0.0.6
5a:30:36

OVS-PC
10.0.0.3
3e:8c:93

s3
00:00:03
s2
00:00:02

s1
10.0.0.4
00:00:01

OmniUI over Testbed Demo Video

http://vimeo.com/mcchan/omniui

Topology view
Flow highlight
Port / flow statistic
User-defined statistic