This repository has been archived by the owner on Sep 18, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Hiroki Shirokura
committed
Jul 19, 2019
1 parent
e159100
commit faeadbc
Showing
8 changed files
with
194 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
|
||
# RIFT: Routing In Fat Tree | ||
|
||
This is evaluation of rift-python powered by IETF. | ||
|
||
- draft-ietf-rift-rift-03 https://tools.ietf.org/html/draft-ietf-rift-rift-03 | ||
- rift-python https://github.com/brunorijsman/rift-python | ||
- juniper's explanation (ppt) https://www.ripe.net/participate/forms/uploads/fobi_plugins/file/see7/Szarkowicz_RIFT_RIPE_TM_bbd50ec4-6dab-4c14-acea-1e767ef7f9da.pptx | ||
- Kobayashi-san's good explanation jp, (this is talking about rift-01). | ||
https://www.slideshare.net/MasayukiKobayashi/rift-a-new-routing-protocol-for-ip-fabrics | ||
- Miyasaka-san's good explanation jp about IETF100-report that includes about RIFT. | ||
https://www.isoc.jp/wiki.cgi?action=ATTACH&file=s4%2Dmiyasaka%2Epdf&page=IETF100Update | ||
|
||
|
||
![](./topo.png) | ||
|
||
``` | ||
tn upconf | sudo sh | ||
docker exec -it Spine1 telnet localhost `docker exec Spine1 cat /rift` | ||
Trying 127.0.0.1... | ||
Connected to localhost. | ||
Escape character is '^]'. | ||
Spine1> show interfaces | ||
+-----------+------------+-----------+-----------+ | ||
| Interface | Neighbor | Neighbor | Neighbor | | ||
| Name | Name | System ID | State | | ||
+-----------+------------+-----------+-----------+ | ||
| net0 | Leaf1:net0 | 1001 | THREE_WAY | | ||
+-----------+------------+-----------+-----------+ | ||
| net1 | Leaf2:net0 | 1002 | THREE_WAY | | ||
+-----------+------------+-----------+-----------+ | ||
``` | ||
|
||
Basically In the RIFT world, Southbound side was received to-Northbound-route | ||
as a default-route (0.0.0.0/0, 0::/0). We can check that with following cli | ||
``` | ||
docker exec Leaf1 ip -4 route list | ||
default proto 99 | ||
nexthop via 99.1.2.2 dev net0 weight 2 | ||
nexthop via 99.3.4.4 dev net1 weight 2 | ||
77.1.0.0/24 dev net2 proto kernel scope link src 77.1.0.1 | ||
99.1.2.0/24 dev net0 proto kernel scope link src 99.1.2.1 | ||
99.3.4.0/24 dev net1 proto kernel scope link src 99.3.4.3 | ||
``` |
2 changes: 2 additions & 0 deletions
2
examples/basic_rift/ietf_rift_python/meta_topology_2c_2x2.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
nr-leaf-nodes-per-pod: 2 | ||
nr-spine-nodes-per-pod: 2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
shards: | ||
- id: 0 | ||
nodes: | ||
- name: Leaf1 | ||
level: 0 | ||
systemid: 1001 | ||
interfaces: | ||
- name: net0 # leaf1:net0 -> spine1:net0 | ||
- name: net1 # leaf1:net1 -> spine2:net0 | ||
- name: net2 | ||
v4prefixes: | ||
- address: 88.0.1.1 | ||
mask: 32 | ||
metric: 1 | ||
- address: 77.1.0.0 | ||
mask: 24 | ||
metric: 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
shards: | ||
- id: 0 | ||
nodes: | ||
- name: Leaf2 | ||
level: 0 | ||
systemid: 1002 | ||
interfaces: | ||
- name: net0 # leaf2:net0 -> spine1:net1 | ||
- name: net1 # leaf2:net1 -> spine2:net1 | ||
- name: net2 | ||
v4prefixes: | ||
- address: 88.0.2.1 | ||
mask: 32 | ||
metric: 1 | ||
- address: 77.2.0.0 | ||
mask: 24 | ||
metric: 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
shards: | ||
- id: 0 | ||
nodes: | ||
- name: Spine1 | ||
level: 1 | ||
systemid: 101 | ||
interfaces: | ||
- name: net0 # spine1:net0 -> leaf1:net0 | ||
- name: net1 # spine1:net1 -> leaf2:net0 | ||
v4prefixes: | ||
- address: 88.1.1.1 | ||
mask: 32 | ||
metric: 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
shards: | ||
- id: 0 | ||
nodes: | ||
- name: Spine2 | ||
level: 1 | ||
systemid: 102 | ||
interfaces: | ||
- name: net0 # spine2:net0 -> leaf1:net1 | ||
- name: net1 # spine2:net1 -> leaf2:net1 | ||
v4prefixes: | ||
- address: 88.1.2.1 | ||
mask: 32 | ||
metric: 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
|
||
postinit: | ||
- cmds: | ||
- cmd: docker cp ietf_rift_python/rift_spine1.yaml Spine1:/root/config.yaml | ||
- cmd: docker cp ietf_rift_python/rift_spine2.yaml Spine2:/root/config.yaml | ||
- cmd: docker cp ietf_rift_python/rift_leaf1.yaml Leaf1:/root/config.yaml | ||
- cmd: docker cp ietf_rift_python/rift_leaf2.yaml Leaf2:/root/config.yaml | ||
|
||
nodes: | ||
- name: Spine1 | ||
image: slankdev/rift:ietf-rift-03 | ||
interfaces: | ||
- { name: net0, type: direct, args: Leaf1#net0 } | ||
- { name: net1, type: direct, args: Leaf2#net0 } | ||
- name: Spine2 | ||
image: slankdev/rift:ietf-rift-03 | ||
interfaces: | ||
- { name: net0, type: direct, args: Leaf1#net1 } | ||
- { name: net1, type: direct, args: Leaf2#net1 } | ||
- name: Leaf1 | ||
image: slankdev/rift:ietf-rift-03 | ||
interfaces: | ||
- { name: net0, type: direct, args: Spine1#net0 } | ||
- { name: net1, type: direct, args: Spine2#net0 } | ||
- { name: net2, type: direct, args: Serv1#net0 } | ||
- name: Leaf2 | ||
image: slankdev/rift:ietf-rift-03 | ||
interfaces: | ||
- { name: net0, type: direct, args: Spine1#net1 } | ||
- { name: net1, type: direct, args: Spine2#net1 } | ||
- { name: net2, type: direct, args: Serv2#net0 } | ||
- name: Serv1 | ||
image: slankdev/ubuntu:18.04 | ||
interfaces: [ { name: net0, type: direct, args: Leaf1#net2 } ] | ||
- name: Serv2 | ||
image: slankdev/ubuntu:18.04 | ||
interfaces: [ { name: net0, type: direct, args: Leaf2#net2 } ] | ||
|
||
node_configs: | ||
- name: Spine1 | ||
cmds: | ||
- cmd: ip addr add 88.1.1.1/32 dev lo | ||
- cmd: ip addr add 99.1.2.2/24 dev net0 | ||
- cmd: ip addr add 99.5.6.6/24 dev net1 | ||
- cmd: >- | ||
nohup bash -c "source rift-python/env/bin/activate; | ||
python rift-python/rift --telnet-port-file /rift config.yaml" & | ||
- name: Spine2 | ||
cmds: | ||
- cmd: ip addr add 88.1.2.1/32 dev lo | ||
- cmd: ip addr add 99.3.4.4/24 dev net0 | ||
- cmd: ip addr add 99.7.8.8/24 dev net1 | ||
- cmd: >- | ||
nohup bash -c "source rift-python/env/bin/activate; | ||
python rift-python/rift --telnet-port-file /rift config.yaml" & | ||
- name: Leaf1 | ||
cmds: | ||
- cmd: ip addr add 88.0.1.1/32 dev lo | ||
- cmd: ip addr add 99.1.2.1/24 dev net0 | ||
- cmd: ip addr add 99.3.4.3/24 dev net1 | ||
- cmd: ip addr add 77.1.0.1/24 dev net2 | ||
- cmd: >- | ||
nohup bash -c "source rift-python/env/bin/activate; | ||
python rift-python/rift --telnet-port-file /rift config.yaml" & | ||
- name: Leaf2 | ||
cmds: | ||
- cmd: ip addr add 88.0.2.1/32 dev lo | ||
- cmd: ip addr add 99.5.6.5/24 dev net0 | ||
- cmd: ip addr add 99.7.8.7/24 dev net1 | ||
- cmd: ip addr add 77.2.0.1/24 dev net2 | ||
- cmd: >- | ||
nohup bash -c "source rift-python/env/bin/activate; | ||
python rift-python/rift --telnet-port-file /rift config.yaml" & | ||
- name: Serv1 | ||
cmds: | ||
- cmd: ip addr add 77.1.0.2/24 dev net0 | ||
- cmd: ip route add default via 77.1.0.1 | ||
- name: Serv2 | ||
cmds: | ||
- cmd: ip addr add 77.2.0.2/24 dev net0 | ||
- cmd: ip route add default via 77.2.0.1 | ||
|
||
test: | ||
- name: p2p | ||
cmds: | ||
- cmd: echo slankdev slankdev | ||
- cmd: echo slankdev slankdev | ||
|
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.