Fixing folsom compatibility issue.
Merge branch 'master' into devel/ryu-folsom
Merge branch 'master' of https://github.com/osrg/ryu into devel/ryu-folsom
Merge branch 'master' of https://github.com/osrg/ryu into devel/ryu-folsom
Fix nx match.
Savi Workshop Demo
Added capability to list macs associate with networks
simple switch should install rules independent of ethertype
and also needs to add source mac to the rules as well
without source mac in rules, learning could not be performed in some cases
Merge remote-tracking branch 'remotes/upstream/demo/savi' into list_macs
Added capability to associate MACs with netwoks via RESTful API
index on switch_apps: 6fb9977 simple switch should install rules independent of ethertype and also needs to add source mac to the rules as well without source mac in rules, learning could not be performed in some cases
On switch_apps: switch_app_changes
Added capability to change from hub to switch and vice versa via RESTful API

Using PUT method: {Ryu WSGI IP Addr}:{Ryu WSGI Port #}/v1.0/packethandler/{handler_id}

Currently two packet handlers possible: 0 = hub config; 1 = switch config
Added capability to dissociate MACs from networks via RESTful APIs

Example using curl:
curl -X DELETE http://{Ryu WSGI IP Addr}:{Ryu WSGI Port Addr}/v1.0/networks/{network_id}/macs/{mac}
improvment in simple_switch app to avoid exception and install broadcast mac rules
Merge remote-tracking branch 'upstream/demo/savi' into demo/savi

Commits merged:
commit 577bd49340224c589bc2b6a4da4cfe83f6d912ad improvment in simple_switch app to avoid exception and install broadcast mac rules
Merge remote-tracking branch 'osrg/master' into demo/savi

Conflicts:
	ryu/app/simple_switch.py
	ryu/ofproto/nx_match.py
of1.3: fix OFPMultipartReply parser

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
ofp_handler: Improve hello version negotiation

When switch sends version higher than Ryu supports, Ryu fails to negotiate.
In this case
  4 = OF1.3 from switch
  3 = OF1.2 from Ryu
  datapath.supported_ofp_version = (3 = OF1.2,)
In such cases, we should use OF1.2 instead of error.
> Connection to controller closed because of {"localhost",6633,0, {unsupported_version,4}}

Reported-by: Shivaram Mysore <shivaram.mysore@gmail.com>
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
don't abuse __dict__ attribute

There are built-in functions to handle attribute like hasattr.
Use standard functions instead of abusing __dict__.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>