Skip to content

Commit 0fc1ce0

Browse files
committed
Update README
Add information for topology and NCTU
1 parent 3d0eb8b commit 0fc1ce0

File tree

1 file changed

+9
-114
lines changed

1 file changed

+9
-114
lines changed

README.md

Lines changed: 9 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -17,121 +17,16 @@ Basic requirements:
1717
- 8GB memory or higher.
1818
- 10 GB space or higher.
1919

20-
How to install demo vm:
20+
Topology:
2121

22-
- Clone submodules
23-
```bash
24-
$ git submodule update --init
25-
```
22+
Basically, we emulate SDN-IP topology from [Taiwan NCTU](http://www.nctu.edu.tw/en) peering site.
2623

27-
- Start VM
28-
```bash
29-
$ vagrant up
30-
```
24+
More information, see our [intro video](https://www.youtube.com/watch?v=a8LR1DyzGY4) or [slide](http://www.slideshare.net/FeiJiSiao/global-sdnip-deployment-at-nctu-taiwan)
25+
![SDN-IP topology](https://raw.githubusercontent.com/sdnds-tw/SDN-IP-Example-VM/master/screenshots/SDNIP-Topology.jpg)
3126

32-
To use:
27+
Getting started:
28+
See [Getting Started](https://github.com/sdnds-tw/SDN-IP-Example-VM/wiki/Getting-started)
3329

34-
- Connect to vm via ssh
35-
```bash
36-
$ vagrant ssh
37-
```
38-
39-
- Switch user to root
40-
```bash
41-
$ sudo su
42-
```
43-
44-
- Check cell settings
45-
```bash
46-
$ cell
47-
```
48-
49-
- Start ONOS
50-
```bash
51-
$ ok clean
52-
```
53-
54-
- In ONOS console, start proxyarp and fwd app
55-
```
56-
onos> app activate org.onosproject.proxyarp
57-
onos> app activate org.onosproject.sdnip
58-
```
59-
60-
- Push SDN-IP network config
61-
```bash
62-
$ onos-netcfg $OC1 sdndstw-sdnip.json
63-
```
64-
65-
- Start demo mininet, let routers exchange their information
66-
```bash
67-
$ # For Quagga version
68-
$ ./sdnip_quagga.py
69-
70-
$ # For GoBGP version
71-
$ ./sdnip_gobgp.py
72-
```
73-
74-
- Use ```routes``` command in ONOS console, should get all network routes (might be different between Quagga and GobGP version)
75-
```bash
76-
onos> routes
77-
Network Next Hop
78-
192.168.4.0/24 192.168.3.11
79-
192.168.5.0/24 192.168.2.11
80-
Total IPv4 routes = 2
81-
82-
Network Next Hop
83-
Total IPv6 routes = 0
84-
```
85-
86-
- In mininet, we can use ```hostname ip route``` command to get routing table in router.
87-
```bash
88-
mininet> quagga1 ip route
89-
192.168.1.0/24 dev quagga1-eth0 proto kernel scope link src 192.168.1.11
90-
192.168.2.0/24 dev quagga1-eth1 proto kernel scope link src 192.168.2.10
91-
192.168.4.0/24 via 192.168.1.12 dev quagga1-eth0 proto zebra
92-
192.168.5.0/24 via 192.168.2.11 dev quagga1-eth1 proto zebra
93-
mininet> quagga2 ip route
94-
192.168.1.0/24 dev quagga2-eth0 proto kernel scope link src 192.168.1.12
95-
192.168.3.0/24 dev quagga2-eth1 proto kernel scope link src 192.168.3.10
96-
192.168.4.0/24 via 192.168.3.11 dev quagga2-eth1 proto zebra
97-
192.168.5.0/24 via 192.168.1.11 dev quagga2-eth0 proto zebra
98-
mininet> kreonet ip route
99-
192.168.2.0/24 dev kreonet-eth1 proto kernel scope link src 192.168.2.11
100-
192.168.4.0/24 via 192.168.2.10 dev kreonet-eth1 proto zebra
101-
192.168.5.0/24 dev kreonet-eth0 proto kernel scope link src 192.168.5.1
102-
mininet> amlight ip route
103-
192.168.3.0/24 dev amlight-eth1 proto kernel scope link src 192.168.3.11
104-
192.168.4.0/24 dev amlight-eth0 proto kernel scope link src 192.168.4.1
105-
192.168.5.0/24 via 192.168.3.10 dev amlight-eth1 proto zebra
106-
```
107-
108-
- In mininet, we can use host ```khost``` from kreonet to ping ```ahost``` from amlight.
109-
```bash
110-
mininet> khost ping -c4 ahost
111-
PING 192.168.4.10 (192.168.4.10) 56(84) bytes of data.
112-
64 bytes from 192.168.4.10: icmp_seq=1 ttl=62 time=0.906 ms
113-
64 bytes from 192.168.4.10: icmp_seq=2 ttl=62 time=0.077 ms
114-
64 bytes from 192.168.4.10: icmp_seq=3 ttl=62 time=0.452 ms
115-
64 bytes from 192.168.4.10: icmp_seq=4 ttl=62 time=0.089 ms
116-
117-
--- 192.168.4.10 ping statistics ---
118-
4 packets transmitted, 4 received, 0% packet loss, time 3001ms
119-
rtt min/avg/max/mdev = 0.077/0.381/0.906/0.338 ms
120-
```
121-
122-
- Also, we can use iperf to test network.
123-
```bash
124-
mininet> ahost iperf -s&
125-
mininet> khost iperf -c ahost
126-
------------------------------------------------------------
127-
Client connecting to 192.168.4.10, TCP port 5001
128-
TCP window size: 264 KByte (default)
129-
------------------------------------------------------------
130-
[ 3] local 192.168.5.10 port 34400 connected with 192.168.4.10 port 5001
131-
[ ID] Interval Transfer Bandwidth
132-
[ 3] 0.0-10.0 sec 15.8 GBytes 13.6 Gbits/sec
133-
```
134-
135-
And we can see traffic generated by iperf, from kreonet to amlight
136-
137-
![screenshot1](https://raw.githubusercontent.com/sdnds-tw/SDN-IP-Example-VM/master/screenshots/screenshot1.png)
30+
Reference:
31+
- [SDN-IP Global Deployment, ONS 2016](http://events.linuxfoundation.org/sites/events/files/slides/ONS%202016%20-%20S3%20Global%20deployment%20-%20mini-summit%20PDF.pdf)
32+
- [Official wiki page](https://wiki.onosproject.org/display/ONOS/SDN-IP)

0 commit comments

Comments
 (0)