Showing posts from June, 2012

[OpenFlow] Update and Setup TP-LINK TL-WR1043ND for OpenFlow

Currently the version of TP-LINK TL-WR1043ND which I can get in Taiwan is "(TW) ver:1.0" instead of ver:1.8 I want. But, fortunately, after asking the vendor about this issue, he responds that there is no difference in hardware between "(TW) ver:1.0"and ver:1.8 or ver:1.4. That is a good news to me though. The following items are my steps to  transform original TP-LINK TL-WR1043ND to OpenFlow-enabled switch. Most of information is from

1. Update firmware on your device
Installing OpenWrt this web site has 4 methods for us to do updating. Because my TL-WR1043ND is brand new one, I choose the simplest of method 1: via orginal firmware.
Download  image  (v1.8)Change your PC ip address to to the switch with LAN port Browse function "update firmware" with the image bin file

2. Modify Configuration 
Login  to using telnet Setup your cont…

[OpenFlow] Summary of some current OpenFlow Related Articles

This article discusses enterprise use cases in OpenFlow
There are four functions you can easily implement with OpenFlow (Tony Bourke wrote about them in more details) packet filters – flow classifier followed by a drop or normal actionpolicy based routing – flow classifier followed by outgoing interface and/or VLAN tag pushstatic routes – flow classifiers using only destination IP prefix NAT – some OpenFlow switches might support source/destination IP address/port rewrites. It suggests that security could be the killer app as the following URL:
This article writer give some information and comments about NEC programmableflow because he joined NEC presenting at Networking Tech Field Day 2


[OpenFlow] Wildcard Explanation

This article is about flow wildcard for match field. Basically, we can get understood most of them at a glance. But, for  NW_SRC_MASK and NW_DST_MASK they need to do more a little bit math. I only give an example with NW_SRC_MASK because NW_DST_MASK is similar case. Please refer to the following picture:

The position of NW_SRC_MASK is from 8 to 13. If we want to setup a IP subnet mask as, we should give the value: 001000 (8 bits are wirdcarded). Another example, for instance, (16 bits are wirdcarded), the value should be 010000.

/* Flow wildcards. */enumofp_flow_wildcards{OFPFW_IN_PORT=1<<0,/* Switch input port. */OFPFW_DL_VLAN=1<<1,/* VLAN id. */OFPFW_DL_SRC=1<<2,/* Ethernet source address. */OFPFW_DL_DST=1<<3,/* Ethernet destination address. */OFPFW_DL_TYPE=1<<4,/* Ethernet frame type. */OFPFW_NW_PROTO=1<<5,/* IP protocol. */OFPFW_TP_SRC=1<<6,/* TCP/UDP source port. */OFPFW_TP_DST=1<<7,/* TCP/UDP destinatio…

[Summary] Data Center Network Issues
The key points from my point of view in this article for Data Center :

Without agility, each service must pre-allocate enough servers to meet difficult to predict demand spikes, or risk failure at the brink of success. With agility, the data center operator can meet the fluctuating demands of individual services from a large shared server pool, resulting in higher server utilization and lower costs. In order to achieve agility, assigning servers to a service should be independent of network topology.  Downtime Issue:
Still, downtimes can be significant, and with no obvious way to eliminate all failures from the top of the hierarchy, this paper's approach is to broaden (fatten) the topmost levels of the network so that the impact of failures is muted and performance degrades gracefully. Data center traffic:
The paper proposes to use valiant load balancing (vlb) to randomize end-to-…

[Demo] OpenFlow GUI demo

Here is a video about OpenFlow GUI demo on a simple topology.
I modified the flow animation so that the flow animation is different from the original one.
Check it out.

[Tutorial] An example of using juju to deploy cloud services

Before you get started with juju, please refer to the official documens

P.S: When you lunch an instance, be careful about the instance type. Except t1.micro, others will charge you money~~
I strongly suggest to add parameter after juju bootstrap and deploy command as follows:
--constraints "instance-type=m1.micro" or execute this command:
> juju set-constraints instance-type=t1.micro
For more info about this, please check out this document:

My environment is using EC2.
> vi .juju/environment.yaml
    type: ec2
    access-key: << your access key >>
    secret-key: << your secret key >>
    control-bucket: juju-0f3b4bce2d944893a74967016c98b903
    admin-secret: 0d748130374946babe1f2531d77620d0
    default-series: precise
    ssl-hostname-verification: true
When you prepare your .juju/environme…

[How to] do trouble shooting with LLDP setting on Switch

Let me assume if there is a simple topology here
+------------------+ Switch | | +-----+------------+ +-----------------+ | Switch | |<--+ +----------+------+ +--------------+ | | Your Server: | | | |<-------+ +--------------+
A. Make sure Switch and Switch could ping each other
telnet B. Make sure that every port should have "management address" checked.

C. Use snmpwalk to check has remote ip address of
exp: snmpwalk -c public -v2c 1.0.8802. we cannot see the result as follows, it means that the LLDP configuration setting on Switch is wrong.           Result: iso.0.8802. = INTEGER: 2

D. Use snmpwalk to check it has remote ip address of 172…