1. Topology preparation

The topology of this demo contains three nodes:


Then, the topo configuration file consists of two json files:

2. Run Topology and ONOS instance

Firstly, start three device emulator:

docker run -it -d --name odtn-emulator_openconfig_cassini_1_1 -p 11002:830 onosproject/oc-cassini:0.21
docker run -it -d --name odtn-emulator_openconfig_cassini_2_1 -p 11003:830 onosproject/oc-cassini:0.21
docker run -it -d --name odtn-emulator_tapi_ols_1 -p 11000:1234 onosproject/tapi-2.1:0.02

And you will see three containers running:

ONFs-MacBook-Pro:tapi2.1-javaServer onf$ docker ps -a
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS                                      NAMES
8eafc849aa22        onosproject/tapi-2.1:0.02     "sh /root/script/ent…"   About an hour ago   Up About an hour    0.0.0.0:11000->1234/tcp                    odtn-emulator_tapi_ols_1
4cdd162d17ac        onosproject/oc-cassini:0.21   "sh /root/script/pus…"   4 hours ago         Up About an hour    22/tcp, 8080/tcp, 0.0.0.0:11003->830/tcp   odtn-emulator_openconfig_cassini_2_1
31a67778f3b7        onosproject/oc-cassini:0.21   "sh /root/script/pus…"   4 hours ago         Up About an hour    22/tcp, 8080/tcp, 0.0.0.0:11002->830/tcp   odtn-emulator_openconfig_cassini_1_1


Meanwhile, run the ONOS instance locally:

cd $ONOS_ROOT
export ONOS_APPS=odtn-service,drivers,gui2
bazel run onos-local -- clean

Secondly, push topology info into ONOS controller:

onos-netcfg localhost device.json
onos-netcfg localhost link.json

Open the webpage, you will see: