Skip to content

Commit ec75cea

Browse files
committed
feature: vagrant-srv6
1 parent b322584 commit ec75cea

File tree

1 file changed

+124
-0
lines changed

1 file changed

+124
-0
lines changed

extras/vagrant-srv6/Vagrantfile

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
# -*- mode: ruby -*-
2+
# vi: set ft=ruby :
3+
4+
Vagrant.configure("2") do |config|
5+
# Node R1 configuration
6+
config.vm.define "hosta" do |hosta|
7+
hosta.vm.box = "bento/ubuntu-18.04"
8+
hosta.vm.synced_folder(".", nil, :disabled => true, :id => "vagrant-root")
9+
hosta.vm.network "private_network", ip: "10.0.0.1", virtualbox__intnet: "netv4a"
10+
hosta.vm.provider "virtualbox" do |virtualbox|
11+
virtualbox.memory = "256"
12+
virtualbox.customize ['modifyvm', :id, '--nictrace2', 'on']
13+
virtualbox.customize ['modifyvm', :id, '--nictracefile2', 'tracea.pcap']
14+
virtualbox.customize ['modifyvm', :id, '--cableconnected1', 'on']
15+
virtualbox.customize ['modifyvm', :id, '--cableconnected2', 'on']
16+
end
17+
end
18+
19+
config.vm.define "hostb" do |hostb|
20+
hostb.vm.box = "bento/ubuntu-18.04"
21+
hostb.vm.synced_folder(".", nil, :disabled => true, :id => "vagrant-root")
22+
hostb.vm.network "private_network", ip: "10.0.1.1", virtualbox__intnet: "netv4b"
23+
hostb.vm.provider "virtualbox" do |virtualbox|
24+
virtualbox.memory = "256"
25+
virtualbox.customize ['modifyvm', :id, '--nictrace2', 'on']
26+
virtualbox.customize ['modifyvm', :id, '--nictracefile2', 'traceb.pcap']
27+
virtualbox.customize ['modifyvm', :id, '--cableconnected1', 'on']
28+
virtualbox.customize ['modifyvm', :id, '--cableconnected2', 'on']
29+
end
30+
end
31+
32+
# Node R1 configuration
33+
config.vm.define "r1" do |r1|
34+
r1.vm.box = "lukuenlong/ubuntu-18.04-vpp"
35+
r1.vm.synced_folder(".", nil, :disabled => true, :id => "vagrant-root")
36+
r1.vm.network "private_network", ip: "10.0.0.2", virtualbox__intnet: "netv4a"
37+
r1.vm.network "private_network", ip: "2001:12::1",netmask: "64", virtualbox__intnet: "net12"
38+
39+
r1.vm.provider "virtualbox" do |virtualbox|
40+
virtualbox.memory = "4096"
41+
virtualbox.customize ['modifyvm', :id, '--nictrace2', 'on']
42+
virtualbox.customize ['modifyvm', :id, '--nictracefile2', 'trace1a.pcap']
43+
virtualbox.customize ['modifyvm', :id, '--nictrace3', 'on']
44+
virtualbox.customize ['modifyvm', :id, '--nictracefile3', 'trace12.pcap']
45+
virtualbox.customize ['modifyvm', :id, '--cableconnected1', 'on']
46+
virtualbox.customize ['modifyvm', :id, '--cableconnected2', 'on']
47+
virtualbox.customize ['modifyvm', :id, '--cableconnected3', 'on']
48+
49+
end
50+
end
51+
52+
# Node R2 configuration
53+
config.vm.define "r2" do |r2|
54+
r2.vm.box = "lukuenlong/ubuntu-18.04-vpp"
55+
r2.vm.synced_folder(".", nil, :disabled => true, :id => "vagrant-root")
56+
r2.vm.network "private_network", ip: "2001:12::2",netmask: "64", virtualbox__intnet: "net12"
57+
r2.vm.network "private_network", ip: "2001:23::1",netmask: "64", virtualbox__intnet: "net23"
58+
r2.vm.network "private_network", ip: "2001:a::1",netmask: "64", virtualbox__intnet: "netserver1"
59+
60+
r2.vm.provider "virtualbox" do |virtualbox|
61+
virtualbox.memory = "4096"
62+
virtualbox.customize ['modifyvm', :id, '--nictrace2', 'on']
63+
virtualbox.customize ['modifyvm', :id, '--nictracefile2', 'trace2.pcap']
64+
virtualbox.customize ['modifyvm', :id, '--nictrace3', 'on']
65+
virtualbox.customize ['modifyvm', :id, '--nictracefile3', 'trace21.pcap']
66+
virtualbox.customize ['modifyvm', :id, '--nictrace4', 'on']
67+
virtualbox.customize ['modifyvm', :id, '--nictracefile4', 'trace22.pcap']
68+
virtualbox.customize ['modifyvm', :id, '--cableconnected1', 'on']
69+
virtualbox.customize ['modifyvm', :id, '--cableconnected2', 'on']
70+
virtualbox.customize ['modifyvm', :id, '--cableconnected3', 'on']
71+
end
72+
end
73+
74+
# Node R3 configuration
75+
config.vm.define "r3" do |r3|
76+
r3.vm.box = "lukuenlong/ubuntu-18.04-vpp"
77+
r3.vm.synced_folder(".", nil, :disabled => true, :id => "vagrant-root")
78+
r3.vm.network "private_network", ip: "10.0.1.2", virtualbox__intnet: "netv4b"
79+
r3.vm.network "private_network", ip: "2001:23::2",netmask: "64", virtualbox__intnet: "net23"
80+
r3.vm.network "private_network", ip: "2001:b::1",netmask: "64", virtualbox__intnet: "netserver2"
81+
r3.vm.provider "virtualbox" do |virtualbox|
82+
virtualbox.memory = "4096"
83+
virtualbox.customize ['modifyvm', :id, '--nictrace2', 'on']
84+
virtualbox.customize ['modifyvm', :id, '--nictracefile2', 'trace3.pcap']
85+
virtualbox.customize ['modifyvm', :id, '--nictrace3', 'on']
86+
virtualbox.customize ['modifyvm', :id, '--nictracefile3', 'trace31.pcap']
87+
virtualbox.customize ['modifyvm', :id, '--nictrace4', 'on']
88+
virtualbox.customize ['modifyvm', :id, '--nictracefile4', 'trace32.pcap']
89+
90+
virtualbox.customize ['modifyvm', :id, '--cableconnected1', 'on']
91+
virtualbox.customize ['modifyvm', :id, '--cableconnected2', 'on']
92+
virtualbox.customize ['modifyvm', :id, '--cableconnected3', 'on']
93+
virtualbox.customize ['modifyvm', :id, '--cableconnected4', 'on']
94+
95+
end
96+
end
97+
# server1 configuration
98+
config.vm.define "server1" do |server1|
99+
server1.vm.box = "bento/ubuntu-18.04"
100+
server1.vm.synced_folder(".", nil, :disabled => true, :id => "vagrant-root")
101+
server1.vm.network "private_network", ip: "2001:a::2",netmask: "64", virtualbox__intnet: "netserver1"
102+
server1.vm.provider "virtualbox" do |virtualbox|
103+
virtualbox.memory = "256"
104+
virtualbox.customize ['modifyvm', :id, '--nictrace2', 'on']
105+
virtualbox.customize ['modifyvm', :id, '--nictracefile2', 'traceserver1.pcap']
106+
virtualbox.customize ['modifyvm', :id, '--cableconnected1', 'on']
107+
virtualbox.customize ['modifyvm', :id, '--cableconnected2', 'on']
108+
end
109+
end
110+
111+
# server2 configuration
112+
config.vm.define "server2" do |server2|
113+
server2.vm.box = "bento/ubuntu-18.04"
114+
server2.vm.synced_folder(".", nil, :disabled => true, :id => "vagrant-root")
115+
server2.vm.network "private_network", ip: "2001:b::2",netmask: "64", virtualbox__intnet: "netserver2"
116+
server2.vm.provider "virtualbox" do |virtualbox|
117+
virtualbox.memory = "256"
118+
virtualbox.customize ['modifyvm', :id, '--nictrace2', 'on']
119+
virtualbox.customize ['modifyvm', :id, '--nictracefile2', 'traceserver2.pcap']
120+
virtualbox.customize ['modifyvm', :id, '--cableconnected1', 'on']
121+
virtualbox.customize ['modifyvm', :id, '--cableconnected2', 'on']
122+
end
123+
end
124+
end

0 commit comments

Comments
 (0)