#!/bin/bash
# -----------------------------------------------------------------------------
# Creates a Europe-based topology (with regions) using ONOS null provider
# -----------------------------------------------------------------------------

# config
host=${1:-localhost}
nports=24
sleepfor=5


### start up null provider
onos ${host} null-simulation stop custom
onos ${host} wipe-out please
onos ${host} null-simulation start custom


## unfortunately, it takes a time for the sim to start up
#  this is not ideal... but we'll live with it for now

echo
echo "Sleeping while sim starts up... (${sleepfor} seconds)..."
echo
sleep ${sleepfor}


###------------------------------------------------------
### Start by adding Country regions
# Note that Long/Lat places region icon nicely in the country center

# region-add <region-id> <region-name> <region-type> <lat/Y> <long/X> <region-master>

onos ${host} <<-EOF

region-add rUK "United Kingdom" COUNTRY 52.206035 -1.310384 ${host}
region-add rIT "Italy"   COUNTRY 44.447951  11.093161 ${host}
region-add rFR "France"  COUNTRY 47.066264  2.711458 ${host}
region-add rDE "Germany" COUNTRY 50.863152  9.761971 ${host}
region-add rES "Spain"   COUNTRY 40.416704 -3.7035824 ${host}

region-add rMilan "Milan" METRO 45.4654 9.1859 ${host}

EOF


###------------------------------------------------------
### Add layouts, associating backing regions, and optional parent.
# layout-add <layout-id> <bg-ref> \
#   [ <region-id> <parent-layout-id> <scale> <offset-x> <offset-y> ]
#

onos ${host} <<-EOF

# -- root layout
layout-add root @europe . . 4.66 -2562.93 -412.56

# -- layouts for top level regions
layout-add lUK @europe rUK root 11.63 -6652.54 -938.04
layout-add lIT @europe rIT root 7.15 -4818.73 -1330.36
layout-add lFR @europe rFR root 8.98 -5378.99 -1334.77
layout-add lDE @europe rDE root 10.06 -6739.05 -1002.4
layout-add lES @europe rES root 10.34 -5804.84 -2464.81

# -- layouts for country sub-regions
layout-add lMilan +segmentRoutingTwo rMilan lIT 0.86 68.58 54.71

# -- summary of installed layouts
layouts
EOF

###------------------------------------------------------
### Add devices, hosts and links for each of the regions

onos ${host} <<-EOF

# -- UK devices

null-create-device switch London     ${nports} 51.5073 -0.1276
null-create-device switch Reading    ${nports} 51.4543 -0.9781
null-create-device switch Portsmouth ${nports} 50.8198 -1.0880
null-create-device switch Bristol    ${nports} 51.4545 -2.5879
null-create-device switch Warrington ${nports} 53.3900 -2.5970
null-create-device switch Leeds      ${nports} 53.8008 -1.5491

# -- Assign UK devices to UK region

region-add-devices rUK \
    null:0000000000000001 \
    null:0000000000000002 \
    null:0000000000000003 \
    null:0000000000000004 \
    null:0000000000000005 \
    null:0000000000000006 \

# -- UK hosts

null-create-host London  192.168.1.1   51.8697 -0.0287
null-create-host London  192.168.1.2   51.7225  0.7624
null-create-host London  192.168.1.3   51.1437  0.4694

null-create-host Bristol 192.168.1.4   51.7500  -2.6000

# -- UK connectivity

null-create-link direct London Reading
null-create-link direct London Portsmouth
null-create-link direct Reading Bristol
null-create-link direct Portsmouth Bristol
null-create-link direct Reading Warrington
null-create-link direct London Leeds
null-create-link direct Leeds Warrington

# -- UK Peers
region-add-peer-loc rUK rES 50.4060  -3.3860
region-add-peer-loc rUK rFR 50.4060  -1.8482
region-add-peer-loc rUK rIT 50.4060  -0.1361
region-add-peer-loc rUK rDE 50.4060   1.2491


# -- France Devices

null-create-device switch Paris      ${nports} 48.8566  2.3522
null-create-device switch Lyon       ${nports} 45.7640  4.8357
null-create-device switch Bordeaux   ${nports} 44.8378 -0.5792
null-create-device switch Marseille  ${nports} 43.2965  5.3698
null-create-device switch Nice       ${nports} 43.7102  7.2620

# -- Assign France devices to France region

region-add-devices rFR \
    null:0000000000000007 \
    null:0000000000000008 \
    null:0000000000000009 \
    null:000000000000000a \
    null:000000000000000b \


# -- France hosts

null-create-host Paris  192.168.2.1   49.5134 2.8882
null-create-host Lyon   192.168.2.2   46.4590 5.2380

# -- France connectivity

null-create-link direct Paris Lyon
null-create-link direct Paris Bordeaux
null-create-link direct Lyon Bordeaux
null-create-link direct Marseille Bordeaux
null-create-link direct Marseille Lyon
null-create-link direct Marseille Nice
null-create-link direct Lyon Nice

# -- France Peers

region-add-peer-loc rFR rES  42.6806  -2.1273
region-add-peer-loc rFR rUK  50.6164  -2.1013
region-add-peer-loc rFR rIT  45.1105   9.7450
region-add-peer-loc rFR rDE  49.6307   7.9326


# -- Italy Devices

# these four in a mini fabric (data center?)

null-create-device switch Milan-1      ${nports} 10.0 20.0 grid
null-create-device switch Milan-2      ${nports} 10.0 50.0 grid
null-create-device switch Milan-3      ${nports} 45.0 20.0 grid
null-create-device switch Milan-4      ${nports} 45.0 50.0 grid

null-create-host Milan-3 192.168.3.13 60.0 15.0 grid
null-create-host Milan-4 192.168.3.14 60.0 45.0 grid

region-add-devices rMilan \
    null:000000000000000c \
    null:000000000000000d \
    null:000000000000000e \
    null:000000000000000f \

null-create-device switch Venice  ${nports} 45.4408  12.3155
null-create-device switch Rome    ${nports} 41.9028  12.4964
null-create-device switch Naples  ${nports} 40.8518  14.2681

region-add-devices rIT \
    null:0000000000000010 \
    null:0000000000000011 \
    null:0000000000000012 \

# -- Italy Connectivity

null-create-link direct Milan-1 Milan-3
null-create-link direct Milan-1 Milan-4
null-create-link direct Milan-2 Milan-3
null-create-link direct Milan-2 Milan-4

null-create-link direct Milan-1 Venice
null-create-link direct Milan-2 Rome

null-create-link direct Venice Rome
null-create-link direct Venice Naples
null-create-link direct Rome Naples

# -- Italy Peers

#region-add-peer-loc rIT rES  xx.xxxx  xx.xxxx
#region-add-peer-loc rIT rUK  xx.xxxx  xx.xxxx
#region-add-peer-loc rIT rFR  xx.xxxx  xx.xxxx
#region-add-peer-loc rIT rDE  xx.xxxx  xx.xxxx

# -- Germany Devices

null-create-device switch Munich     ${nports} 48.1351 11.5820
null-create-device switch Berlin     ${nports} 52.5200 13.4050
null-create-device switch Bremen     ${nports} 53.0793  8.8017
null-create-device switch Frankfurt  ${nports} 50.1109  8.6821
null-create-device switch Stuttgart  ${nports} 48.7758  9.1829

null-create-host Munich 192.168.4.1  47.4818 11.7441
null-create-host Berlin 192.168.4.2  53.0537 13.5310

region-add-devices rDE \
    null:0000000000000013 \
    null:0000000000000014 \
    null:0000000000000015 \
    null:0000000000000016 \
    null:0000000000000017 \

# -- Germany Connectivity

null-create-link direct Munich Berlin
null-create-link direct Munich Stuttgart
null-create-link direct Munich Stuttgart
null-create-link direct Frankfurt Stuttgart
null-create-link direct Frankfurt Bremen
null-create-link direct Berlin Bremen
null-create-link direct Berlin Frankfurt

# -- Germany Peers

#region-add-peer-loc rDE rES  xx.xxxx  xx.xxxx
#region-add-peer-loc rDE rUK  xx.xxxx  xx.xxxx
#region-add-peer-loc rDE rFR  xx.xxxx  xx.xxxx
#region-add-peer-loc rDE rIT  xx.xxxx  xx.xxxx

# -- Spain Devices

null-create-device switch Madrid     ${nports} 40.4168 -3.7038
null-create-device switch Barcelona  ${nports} 41.3851  2.1734
null-create-device switch Valencia   ${nports} 39.4699 -0.3763
null-create-device switch Seville    ${nports} 37.3891 -5.9845

null-create-host Madrid    192.168.5.1  41.0797 -3.9559
null-create-host Barcelona 192.168.5.2  41.8507  2.0399
null-create-host Valencia  192.168.5.3  38.8488 -0.5097
null-create-host Seville   192.168.5.4  38.0110 -6.4442

region-add-devices rES \
    null:0000000000000018 \
    null:0000000000000019 \
    null:000000000000001a \
    null:000000000000001b \

# -- Spain Connectivity

null-create-link direct Barcelona Madrid
null-create-link direct Barcelona Valencia
null-create-link direct Seville Madrid
null-create-link direct Seville Valencia
null-create-link direct Madrid Valencia

# -- Spain Peers

#region-add-peer-loc rES rDE  xx.xxxx  xx.xxxx
#region-add-peer-loc rES rUK  xx.xxxx  xx.xxxx
#region-add-peer-loc rES rFR  xx.xxxx  xx.xxxx
#region-add-peer-loc rES rIT  xx.xxxx  xx.xxxx


# -- Inter-Region Connectivity

# Spain-France
null-create-link direct Barcelona Marseille
null-create-link direct Madrid Bordeaux

# France-Italy
null-create-link direct Rome Nice
null-create-link direct Milan-1 Lyon

# Italy-Germany
null-create-link direct Venice Munich

# France-Germany
null-create-link direct Lyon Stuttgart
null-create-link direct Paris Frankfurt

# England-France
null-create-link direct Portsmouth Paris

# England-Germany
null-create-link direct London Bremen
null-create-link direct London Frankfurt

EOF

### Set up debug log messages for classes we care about
onos ${host} <<-EOF
log:set DEBUG org.onosproject.ui.impl.topo.Topo2ViewMessageHandler
log:set DEBUG org.onosproject.ui.impl.topo.Topo2Jsonifier
log:set DEBUG org.onosproject.ui.impl.UiWebSocket
log:set DEBUG org.onosproject.ui.impl.UiTopoSession
log:list
EOF
