From 3e6678f9c692553e8902da4d6fb1fe6c087db1f4 Mon Sep 17 00:00:00 2001 From: Marcel Enguehard Date: Wed, 19 Jul 2017 11:26:26 +0200 Subject: * GUI resource * MemIf interface for VPP * Better netmodel integration * Draft documentation * New tutorials * Improved monitoring and error handling * Refactored IP addresses and prefixes representation * Improved image mgmt for LXD * Various bugfixes and code refactoring Change-Id: I90da6cf7b5716bc7deb6bf4e24d3f9f01b5a9b0f Signed-off-by: Marcel Enguehard --- examples/tutorial/tutorial01.json | 23 ++--- examples/tutorial/tutorial02-dumbell.json | 60 ++++++++----- examples/tutorial/tutorial03-hetnet.json | 47 +++++++---- examples/tutorial/tutorial04-caching.json | 44 ++++++++-- examples/tutorial/tutorial05-icn2020-emulator.json | 98 ++++++++++++++++++++++ examples/tutorial/tutorial05-icn2020.json | 96 +++++++++++++++++++++ 6 files changed, 310 insertions(+), 58 deletions(-) create mode 100644 examples/tutorial/tutorial05-icn2020-emulator.json create mode 100644 examples/tutorial/tutorial05-icn2020.json (limited to 'examples/tutorial') diff --git a/examples/tutorial/tutorial01.json b/examples/tutorial/tutorial01.json index fd203cff..e1e97800 100644 --- a/examples/tutorial/tutorial01.json +++ b/examples/tutorial/tutorial01.json @@ -9,49 +9,44 @@ "name": "server", "hostname": "localhost" }, - { - "type": "NetDevice", - "device_name": "eth0", - "node": "server", - "managed": false - }, - { + { "type": "LxcImage", - "name": "ubuntu1604-cicnsuite-rc3", + "name": "cicn-image", + "image": "ubuntu1604-cicnsuite-rc3", "groups": ["topology"], "node": "server" }, { "type": "LxcContainer", - "image": "ubuntu1604-cicnsuite-rc3", + "image": "cicn-image", "groups": ["topology"], "name": "prod1", "node": "server" }, { "type": "LxcContainer", - "image": "ubuntu1604-cicnsuite-rc3", + "image": "cicn-image", "groups": ["topology"], "name": "prod2", "node": "server" }, { "type": "LxcContainer", - "image": "ubuntu1604-cicnsuite-rc3", + "image": "cicn-image", "groups": ["topology"], "name": "core2", "node": "server" }, { "type": "LxcContainer", - "image": "ubuntu1604-cicnsuite-rc3", + "image": "cicn-image", "groups": ["topology"], "name": "core1", "node": "server" }, { "type": "LxcContainer", - "image": "ubuntu1604-cicnsuite-rc3", + "image": "cicn-image", "groups": ["topology"], "name": "cons1", "node": "server" @@ -61,7 +56,7 @@ "name": "cons2", "groups": ["topology"], "node": "server", - "image": "ubuntu1604-cicnsuite-rc3" + "image": "cicn-image" }, { "type": "MetisForwarder", diff --git a/examples/tutorial/tutorial02-dumbell.json b/examples/tutorial/tutorial02-dumbell.json index 29ba3042..28873c2f 100644 --- a/examples/tutorial/tutorial02-dumbell.json +++ b/examples/tutorial/tutorial02-dumbell.json @@ -1,5 +1,9 @@ { "resources": [ + { + "type": "Group", + "name": "topology" + }, { "type": "Physical", "name": "server", @@ -15,7 +19,8 @@ }, { "type": "LxcImage", - "name": "ubuntu1604-cicnsuite-rc3", + "name": "lxcimage", + "image": "ubuntu1604-cicnsuite-rc3", "node": "server", "managed": false }, @@ -23,7 +28,8 @@ "type": "LxcContainer", "node": "server", "name": "bridge1", - "image": "ubuntu1604-cicnsuite-rc3" + "groups": ["topology"], + "image": "lxcimage" }, { "type": "VPP", @@ -34,7 +40,7 @@ "type": "DpdkDevice", "node": "bridge1", "device_name": "GigabitEthernet0/8/0", - "pci_address" : "0000:00:08.0", + "pci_address": "0000:00:08.0", "ip_address" : "172.17.1.20", "mac_address": "08:00:27:b8:f3:a3", "name": "bridge1-dpdk1" @@ -43,7 +49,8 @@ "type": "LxcContainer", "node": "server", "name": "core1", - "image": "ubuntu1604-cicnsuite-rc3" + "groups": ["topology"], + "image": "lxcimage" }, { "type": "VPP", @@ -93,7 +100,8 @@ "type": "LxcContainer", "node": "server", "name": "core2", - "image": "ubuntu1604-cicnsuite-rc3" + "groups": ["topology"], + "image": "lxcimage" }, { "type": "VPP", @@ -143,7 +151,8 @@ "type": "LxcContainer", "node": "server", "name": "bridge2", - "image": "ubuntu1604-cicnsuite-rc3" + "groups": ["topology"], + "image": "lxcimage" }, { "type": "VPP", @@ -162,7 +171,7 @@ { "type": "LxcContainer", "node": "server", - "image": "ubuntu1604-cicnsuite-rc3", + "image": "lxcimage", "name": "cons1" }, { @@ -174,7 +183,8 @@ { "type": "LxcContainer", "node": "server", - "image": "ubuntu1604-cicnsuite-rc3", + "image": "lxcimage", + "groups": ["topology"], "name": "cons2" }, { @@ -186,7 +196,8 @@ { "type": "LxcContainer", "node": "server", - "image": "ubuntu1604-cicnsuite-rc3", + "image": "lxcimage", + "groups": ["topology"], "name": "cons3" }, { @@ -198,7 +209,8 @@ { "type": "LxcContainer", "node": "server", - "image": "ubuntu1604-cicnsuite-rc3", + "image": "lxcimage", + "groups": ["topology"], "name": "cons4" }, { @@ -210,7 +222,8 @@ { "type": "LxcContainer", "node": "server", - "image": "ubuntu1604-cicnsuite-rc3", + "image": "lxcimage", + "groups": ["topology"], "name": "cons5" }, { @@ -222,7 +235,8 @@ { "type": "LxcContainer", "node": "server", - "image": "ubuntu1604-cicnsuite-rc3", + "image": "lxcimage", + "groups": ["topology"], "name": "prod1" }, { @@ -234,7 +248,8 @@ { "type": "LxcContainer", "node": "server", - "image": "ubuntu1604-cicnsuite-rc3", + "image": "lxcimage", + "groups": ["topology"], "name": "prod2" }, { @@ -246,7 +261,8 @@ { "type": "LxcContainer", "node": "server", - "image": "ubuntu1604-cicnsuite-rc3", + "image": "lxcimage", + "groups": ["topology"], "name": "prod3" }, { @@ -258,7 +274,8 @@ { "type": "LxcContainer", "node": "server", - "image": "ubuntu1604-cicnsuite-rc3", + "image": "lxcimage", + "groups": ["topology"], "name": "prod4" }, { @@ -270,7 +287,8 @@ { "type": "LxcContainer", "node": "server", - "image": "ubuntu1604-cicnsuite-rc3", + "image": "lxcimage", + "groups": ["topology"], "name": "prod5" }, { @@ -304,15 +322,19 @@ }, { "type": "CentralIP", - "ip_routing_strategy" : "spt" + "ip_routing_strategy" : "spt", + "ip6_data_prefix": "2001::/50", + "ip4_data_prefix": "192.168.128.0/24", + "groups": ["topology"] }, { "type" : "CentralICN", - "face_protocol": "udp4" + "face_protocol": "udp4", + "groups": ["topology"] } ], "settings": { - "network": "192.168.133.0/24", + "network": "192.168.128.0/24", "ulimit-n": 10000 } } diff --git a/examples/tutorial/tutorial03-hetnet.json b/examples/tutorial/tutorial03-hetnet.json index a909e8aa..9a9238fb 100644 --- a/examples/tutorial/tutorial03-hetnet.json +++ b/examples/tutorial/tutorial03-hetnet.json @@ -3,51 +3,58 @@ { "type": "Physical", "name": "server", - "hostname": "MY-SERVER" - }, - { - "type": "NetDevice", - "device_name": "br0", - "node": "server", - "managed": false + "hostname": "localhost" }, + { + "type": "Group", + "name": "routed" + }, + { + "type": "GUI", + "groups": [ "routed" ] + }, { "type": "LxcImage", - "name": "ubuntu1604-cicnsuite-rc3", + "name": "cicn-image", + "image": "ubuntu1604-cicnsuite-rc3", "node": "server" }, { "type": "LxcContainer", - "image": "ubuntu1604-cicnsuite-rc3", + "image": "cicn-image", "name": "cons", "node": "server", + "groups": [ "routed" ], "category": "tablet", "x": 1, "y": 2 }, { "type": "LxcContainer", - "image": "ubuntu1604-cicnsuite-rc3", + "image": "cicn-image", "name": "wifi", "node": "server", + "groups": [ "routed" ], "category": "wifi", "x": 2, "y": 1 }, { "type": "LxcContainer", - "image": "ubuntu1604-cicnsuite-rc3", + "image": "cicn-image", "name": "lte", "node": "server", + "groups": [ "routed" ], "category": "lte", "x": 2, "y": 3 }, { "type": "LxcContainer", - "image": "ubuntu1604-cicnsuite-rc3", + "image": "cicn-image", "name": "prod", "node": "server", + "groups": [ "routed" ], "category": "video-server", "x": 3, "y": 2 @@ -77,11 +84,13 @@ }, { "type": "Link", + "groups": [ "routed" ], "src_node": "wifi", "dst_node": "prod" }, { "type": "Link", + "groups": [ "routed" ], "src_node": "lte", "dst_node": "prod" }, @@ -91,6 +100,7 @@ "node": "server", "ap": "wifi", "stations": ["cons"], + "groups": [ "routed" ], "control_port": 30001 }, { @@ -98,20 +108,21 @@ "name": "lch", "node": "server", "ap": "lte", + "groups": [ "routed" ], "stations": ["cons"], "control_port": 30002 }, { "type": "CentralIP", - "ip_routing_strategy": "spt" + "ip_routing_strategy": "spt", + "groups": [ "routed" ], + "ip4_data_prefix": "192.168.42.0/23", + "ip6_data_prefix": "9002::/16" }, { "type": "CentralICN", - "icnip_routing_strategy": "spt", + "groups": [ "routed" ], "face_protocol": "udp4" } - ], - "settings": { - "network": "192.168.2.0/24" - } + ] } diff --git a/examples/tutorial/tutorial04-caching.json b/examples/tutorial/tutorial04-caching.json index eef652cb..1ee63507 100644 --- a/examples/tutorial/tutorial04-caching.json +++ b/examples/tutorial/tutorial04-caching.json @@ -11,19 +11,30 @@ }, { "type": "NetDevice", - "device_name": "eth0", + "device_name": "enp16s0f0", "managed": false, "node": "server" }, + { + "type": "Group", + "name": "routed" + }, + { + "type": "GUI", + "groups": ["routed"], + "port": 8000 + }, { "type": "LxcImage", "name": "ubuntu1604-cicnsuite-rc3", + "image": "ubuntu1604-cicnsuite-rc3", "node": "server" }, { "name": "u1core", + "groups": [ "routed" ], "image": "ubuntu1604-cicnsuite-rc3", - "category": "asr", + "category": "ip-router", "type": "LxcContainer", "y": 10, "x": 5, @@ -31,6 +42,7 @@ }, { "name": "u1srv1", + "groups": [ "routed" ], "image": "ubuntu1604-cicnsuite-rc3", "category": "user", "type": "LxcContainer", @@ -40,6 +52,7 @@ }, { "name": "u1srv2", + "groups": [ "routed" ], "image": "ubuntu1604-cicnsuite-rc3", "category": "user", "type": "LxcContainer", @@ -49,8 +62,9 @@ }, { "name": "u2core", + "groups": [ "routed" ], "image": "ubuntu1604-cicnsuite-rc3", - "category": "asr", + "category": "ip-router", "type": "LxcContainer", "y": 6, "x": 9, @@ -58,6 +72,7 @@ }, { "name": "u2srv1", + "groups": [ "routed" ], "image": "ubuntu1604-cicnsuite-rc3", "category": "user", "type": "LxcContainer", @@ -67,8 +82,9 @@ }, { "name": "u3core", + "groups": [ "routed" ], "image": "ubuntu1604-cicnsuite-rc3", - "category": "asr", + "category": "ip-router", "type": "LxcContainer", "y": 12, "x": 13, @@ -76,8 +92,9 @@ }, { "name": "u3srv1", + "groups": [ "routed" ], "image": "ubuntu1604-cicnsuite-rc3", - "category": "serverDemo", + "category": "server", "type": "LxcContainer", "y": 10, "x": 16, @@ -85,8 +102,9 @@ }, { "name": "u3srv2", + "groups": [ "routed" ], "image": "ubuntu1604-cicnsuite-rc3", - "category": "serverDemo", + "category": "server", "type": "LxcContainer", "y": 14, "x": 16, @@ -148,58 +166,70 @@ }, { "type": "Link", + "groups": [ "routed" ], "dst_node": "u1srv1", "capacity": 200, "src_node": "u1core" }, { "type": "Link", + "groups": [ "routed" ], "dst_node": "u1srv2", "capacity": 200, "src_node": "u1core" }, { "type": "Link", + "groups": [ "routed" ], "dst_node": "u2srv1", "capacity": 200, "src_node": "u2core" }, { "type": "Link", + "groups": [ "routed" ], "dst_node": "u3srv1", "capacity": 100, "src_node": "u3core" }, { "type": "Link", + "groups": [ "routed" ], "dst_node": "u3srv2", "capacity": 100, "src_node": "u3core" }, { "type": "Link", + "groups": [ "routed" ], "capacity": 200, "dst_node": "u2core", "src_node": "u1core" }, { "type": "Link", + "groups": [ "routed" ], "capacity": 200, "dst_node": "u3core", "src_node": "u1core" }, { "type": "Link", + "groups": [ "routed" ], "capacity": 200, "dst_node": "u2core", "src_node": "u3core" }, { "type": "CentralIP", - "ip_routing_strategy": "spt" + "groups": [ "routed" ], + "ip_routing_strategy": "spt", + "ip6_data_prefix": "9002::/16", + "ip4_data_prefix": "192.168.15.0/24" }, { "type": "CentralICN", + "groups": [ "routed" ], "face_protocol": "udp4" } ] diff --git a/examples/tutorial/tutorial05-icn2020-emulator.json b/examples/tutorial/tutorial05-icn2020-emulator.json new file mode 100644 index 00000000..e020f232 --- /dev/null +++ b/examples/tutorial/tutorial05-icn2020-emulator.json @@ -0,0 +1,98 @@ +{ + "resources": [ + { + "type": "Group", + "name": "virtual" + }, + { + "type": "Physical", + "name": "server", + "hostname": "localhost" + }, + { + "type": "GUI", + "groups": ["virtual"] + }, + { + "type": "LxcImage", + "name": "cicn-image", + "node": "server", + "image": "ubuntu1604-cicnsuite-rc3" + }, + { + "type" : "LxcContainer", + "image": "cicn-image", + "name" : "cons", + "groups": [ "virtual" ], + "node" : "server", + "category": "smartphone" + }, + { + "type" : "LxcContainer", + "image": "cicn-image", + "name" : "prod", + "groups": [ "virtual" ], + "category": "video-server", + "node" : "server" + }, + { + "type" : "LxcContainer", + "image": "cicn-image", + "name" : "relay", + "groups": [ "virtual" ], + "node" : "server", + "category": "lte-antenna" + }, + { + "type": "EmulatedLteChannel", + "name": "lch", + "ap": "relay", + "stations": [ "cons" ], + "control_port": 30002, + "node": "server", + "groups": [ "virtual" ] + }, + { + "type": "Link", + "src_node": "relay", + "dst_node": "prod", + "groups": [ "virtual" ] + }, + { + "type": "CentralIP", + "ip4_data_prefix": "192.168.42.0/23", + "ip6_data_prefix": "9002::/16", + "ip_routing_strategy": "spt", + "groups": [ + "virtual" + ] + }, + { + "type": "MetisForwarder", + "cache_size": 0, + "node": "cons" + }, + { + "type": "MetisForwarder", + "cache_size": 2000, + "node": "relay" + }, + { + "type": "MetisForwarder", + "cache_size": 0, + "node": "prod" + }, + { + "type": "WebServer", + "prefixes": [ + "/webserver" + ], + "node": "prod" + }, + { + "type": "CentralICN", + "groups": [ "virtual" ], + "face_protocol": "udp4" + } + ] +} diff --git a/examples/tutorial/tutorial05-icn2020.json b/examples/tutorial/tutorial05-icn2020.json new file mode 100644 index 00000000..0eeb59aa --- /dev/null +++ b/examples/tutorial/tutorial05-icn2020.json @@ -0,0 +1,96 @@ +{ + "resources": [ + { + "type": "Group", + "name": "virtual" + }, + { + "type": "Physical", + "name": "server", + "hostname": "localhost" + }, + { + "type": "LxcImage", + "name": "cicn-image", + "node": "server", + "image": "ubuntu1604-cicnsuite-rc3" + }, + { + "type": "GUI", + "port": 8000, + "groups": ["virtual"] + }, + { + "type" : "LxcContainer", + "image": "cicn-image", + "name" : "cons", + "groups": [ "virtual" ], + "category": "pc-video-client", + "node" : "server" + }, + { + "type" : "LxcContainer", + "image": "cicn-image", + "name" : "prod", + "groups": [ "virtual" ], + "category": "video-server", + "node" : "server" + }, + { + "type" : "LxcContainer", + "image": "cicn-image", + "name" : "relay", + "groups": [ "virtual" ], + "category": "icn-router", + "node" : "server" + }, + { + "type": "Link", + "src_node": "cons", + "dst_node": "relay", + "groups": [ "virtual" ] + }, + { + "type": "Link", + "src_node": "relay", + "dst_node": "prod", + "groups": [ "virtual" ] + }, + { + "type": "CentralIP", + "ip4_data_prefix": "192.168.42.0/24", + "ip6_data_prefix": "9002::/16", + "ip_routing_strategy": "spt", + "groups": [ + "virtual" + ] + }, + { + "type": "MetisForwarder", + "cache_size": 0, + "node": "cons" + }, + { + "type": "MetisForwarder", + "cache_size": 2000, + "node": "relay" + }, + { + "type": "MetisForwarder", + "cache_size": 0, + "node": "prod" + }, + { + "type": "WebServer", + "prefixes": [ + "/webserver" + ], + "node": "prod" + }, + { + "type": "CentralICN", + "groups": [ "virtual" ], + "face_protocol": "udp4" + } + ] +} -- cgit 1.2.3-korg