- Mininet (and bridge-utils):
sudo apt-get update
sudo apt-get install mininet bridge-utils
- Java 8:
sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:webupd8team/java -y
sudo apt-get update
echo "oracle-java8-installer shared/accepted-oracle-license-v1-1 select true" | sudo debconf-set-selections
sudo apt-get install oracle-java8-installer oracle-java8-set-default -y
- Git:
sudo apt-get install git
sudo apt-get install git-review
Under home dir, run:
git clone https://github.com/opennetworkinglab/onos
cd onos
git checkout tags/1.8.4 -b 1.8.4
tools/build/onos-buck build onos
cd ~/onos/tools/dev/mininet
sudo mn --custom onos.py --controller onos,1 --topo tree,2,2
open: http://192.168.123.1:8181/onos/ui
onos-create-app rest org.foo.app foo-app 1.0.0
git clone git@github.com:siriulx/onos-acl-firewall.git
cd onos-acl-firewall
mvn compile
mvn install
Load oar file to ONOS
open: http://192.168.123.1:8181/onos/onos-acl-firewall/sample
curl -sSL --user karaf:karaf -X GET http://192.168.123.1:8181/onos/onos-acl-firewall/sample
curl -sSL --user karaf:karaf -X POST -H 'Content-Type:application/json' http://192.168.123.1:8181/onos/onos-acl-firewall/sample -d '{"action": "ALLOW", "srcIpStart":"10.0.0.2", "srcIpEnd":"10.0.0.3", "dstIpStart":"10.0.0.2", "dstIpEnd":"10.0.0.3"}'
curl -sSL --user karaf:karaf -X POST -H 'Content-Type:application/json' http://192.168.123.1:8181/onos/onos-acl-firewall/sample -d '{"action": "DENY", "srcIpStart":"10.0.0.1", "srcIpEnd":"10.0.0.4", "dstIpStart":"10.0.0.1", "dstIpEnd":"10.0.0.4"}'
curl -sSL --user karaf:karaf -X DELETE http://192.168.123.1:8181/onos/onos-acl-firewall/sample
curl -sSL --user karaf:karaf -X DELETE -H 'Content-Type:application/json' http://192.168.123.1:8181/onos/onos-acl-firewall/sample -d '{"ruleId": "1"}'