ryu/app/ofctl_rest: implements ofctl_rest app
ryu/app/ofctl_rest: implements ofctl_rest app

This patch implements REST API for accessing state. This module helps
your debugging and retrieving various statistics. It also supports
flow entry pusher to allow users to manually insert flows into switch.

- get all switch DPIDs connected to the controller
 $ curl http://<controller_ip>:8080/stats/switches

- get the desc stats
 $ curl http://<controller_ip>:8080/stats/desc/<dpid>

- get flows stats
 $ curl http://<controller_ip>:8080/stats/flow/<dpid>

- get ports stats
 $ curl http://<controller_ip>:8080/stats/port/<dpid>

- add a flow entry
 $ curl -d '{"dpid": "1", "cookie":"0", "priority":"32768", \
   "actions":[{"port":2, "type":"OUTPUT"}], "match":{"in_port":1}}' \
   http://<controller_ip>:8080/stats/flowentry

- delete all flows of the switch
 $ curl -X DELETE \
   http://<controller_ip>:8080/stats/flowentry/clear/<dpid>

Signed-off-by: OHMURA Kei <82a3f76f5859104098e1c763aea3695df488375c@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <93dac1fe9c4b2a3957982200319981492ad4976e@lab.ntt.co.jp>

osrg/ryu,alyosha1879/ryu,StephenKing/summerschool-2015-ryu,zangree/ryu,gopchandani/ryu,lzppp/mylearning,gopchandani/ryu,ykaneko/ryu,ysywh/ryu,lzppp/mylearning,jalilm/ryu,pichuang/ryu,jalilm/ryu,torufuru/oolhackathon,umkcdcrg01/ryu_openflow,samrussell/ryu,hisaharu/ryu,StephenKing/summerschool-2015-ryu,zyq001/ryu,darjus-amzn/ryu,fkakuma/ryu,ynkjm/ryu,evanscottgray/ryu,lzppp/mylearning,gopchandani/ryu,hisaharu/ryu,haniehrajabi/ryu,umkcdcrg01/ryu_openflow,fujita/ryu,elahejalalpour/ELRyu,darjus-amzn/ryu,diogommartins/ryu,ttsubo/ryu,osrg/ryu,shinpeimuraoka/ryu,John-Lin/ryu,jalilm/ryu,pichuang/ryu,citrix-openstack-build/ryu,lagopus/ryu-lagopus-ext,gareging/SDN_Framework,zangree/ryu,openvapour/ryu,Tesi-Luca-Davide/ryu,muzixing/ryu,evanscottgray/ryu,ynkjm/ryu,StephenKing/ryu,habibiefaried/ryu,alanquillin/ryu,osrg/ryu,alyosha1879/ryu,umkcdcrg01/ryu_openflow,Zouyiran/ryu,hisaharu/ryu,Zouyiran/ryu,fujita/ryu,StephenKing/ryu,ysywh/ryu,takahashiminoru/ryu,ysywh/ryu,TakeshiTseng/ryu,Zouyiran/ryu,OpenState-SDN/ryu,zangree/ryu,StephenKing/ryu,iwaseyusuke/ryu,sivaramakrishnansr/ryu,ynkjm/ryu,diogommartins/ryu,yamt/ryu,pichuang/ryu,takahashiminoru/ryu,lsqtongxin/ryu,lagopus/ryu-lagopus-ext,takahashiminoru/ryu,openvapour/ryu,alyosha1879/ryu,haniehrajabi/ryu,ntts-clo/mld-ryu,ysywh/ryu,alanquillin/ryu,zyq001/ryu,alanquillin/ryu,gareging/SDN_Framework,Tejas-Subramanya/RYU_MEC,openvapour/ryu,castroflavio/ryu,gopchandani/ryu,yamt/ryu,ttsubo/ryu,lzppp/mylearning,TakeshiTseng/ryu,jkoelker/ryu,ysywh/ryu,jazzmes/ryu,lagopus/ryu-lagopus-ext,mikhaelharswanto/ryu,fkakuma/ryu,zyq001/ryu,OpenState-SDN/ryu,lsqtongxin/ryu,Tesi-Luca-Davide/ryu,jalilm/ryu,yamt/ryu,fkakuma/ryu,Tejas-Subramanya/RYU_MEC,zangree/ryu,ynkjm/ryu,yamada-h/ryu,OpenState-SDN/ryu,TakeshiTseng/ryu,StephenKing/ryu,o3project/ryu-oe,unifycore/ryu,osrg/ryu,alanquillin/ryu,muzixing/ryu,ttsubo/ryu,gareging/SDN_Framework,John-Lin/ryu,fkakuma/ryu,mikhaelharswanto/ryu,darjus-amzn/ryu,Tesi-Luca-Davide/ryu,ynkjm/ryu,muzixing/ryu,StephenKing/ryu,gareging/SDN_Framework,ttsubo/ryu,yamt/ryu,muzixing/ryu,samrussell/ryu,fkakuma/ryu,John-Lin/ryu,shinpeimuraoka/ryu,hisaharu/ryu,Tesi-Luca-Davide/ryu,torufuru/OFPatchPanel,iwaseyusuke/ryu,yamt/ryu,citrix-openstack-build/ryu,diogommartins/ryu,takahashiminoru/ryu,OpenState-SDN/ryu,citrix-openstack/build-ryu,habibiefaried/ryu,lsqtongxin/ryu,muzixing/ryu,iwaseyusuke/ryu,diogommartins/ryu,lagopus/ryu-lagopus-ext,fujita/ryu,shinpeimuraoka/ryu,umkcdcrg01/ryu_openflow,jkoelker/ryu,Tesi-Luca-Davide/ryu,haniehrajabi/ryu,osrg/ryu,openvapour/ryu,ntts-clo/ryu,zyq001/ryu,jkoelker/ryu,torufuru/oolhackathon,StephenKing/summerschool-2015-ryu,elahejalalpour/ELRyu,StephenKing/summerschool-2015-ryu,John-Lin/ryu,torufuru/OFPatchPanel,jalilm/ryu,zyq001/ryu,evanscottgray/ryu,Tejas-Subramanya/RYU_MEC,alyosha1879/ryu,lsqtongxin/ryu,jazzmes/ryu,alanquillin/ryu,lagopus/ryu-lagopus-ext,ntts-clo/ryu,unifycore/ryu,habibiefaried/ryu,TakeshiTseng/ryu,zangree/ryu,ykaneko/ryu,iwaseyusuke/ryu,OpenState-SDN/ryu,habibiefaried/ryu,haniehrajabi/ryu,shinpeimuraoka/ryu,ttsubo/ryu,castroflavio/ryu,elahejalalpour/ELRyu,torufuru/oolhackathon,castroflavio/ryu,iwaseyusuke/ryu,elahejalalpour/ELRyu,gareging/SDN_Framework,pichuang/ryu,sivaramakrishnansr/ryu,darjus-amzn/ryu,takahashiminoru/ryu,pichuang/ryu,gopchandani/ryu,umkcdcrg01/ryu_openflow,elahejalalpour/ELRyu,shinpeimuraoka/ryu,Tejas-Subramanya/RYU_MEC,Zouyiran/ryu,hisaharu/ryu,haniehrajabi/ryu,sivaramakrishnansr/ryu,citrix-openstack/build-ryu,Tejas-Subramanya/RYU_MEC,fujita/ryu,sivaramakrishnansr/ryu,fujita/ryu,openvapour/ryu,sivaramakrishnansr/ryu,habibiefaried/ryu,lsqtongxin/ryu,yamada-h/ryu,o3project/ryu-oe,diogommartins/ryu,StephenKing/summerschool-2015-ryu,jazzmes/ryu,ntts-clo/mld-ryu,John-Lin/ryu,lzppp/mylearning,TakeshiTseng/ryu,darjus-amzn/ryu,Zouyiran/ryu