onos/tools/dev/p4vm/Vagrantfile
Carmelo Cascone a4dc3c12bc Update install-p4-tools.sh to use P4Runtime v1.0
Includes also various improvements to the p4vm scripts, such as:
- Choose to build VM with Ubuntu 16.04 or 18.04 (experimental)
- Allow users to specify version of protobuf and grpc to use
- Avoid building protobuf and grpc if already installed in the system
- Install Bazel 0.22

Also:
- Remove check for invalid group member weights (now PI always returns
members with weight 1)
- Re-compiled all P4 programs and fixed missing padding in controller
packet headers

Change-Id: I0e672fcebbaba63354c749f0c774af251f3cbc6c
2019-02-21 23:24:26 +00:00

28 lines
1.1 KiB
Ruby

P4_VM_TYPE = ENV['P4_VM_TYPE'] || "dev"
P4_VM_UBUNTU_VERSION = ENV['P4_VM_UBUNTU_VERSION'] || "16.04"
Vagrant.configure(2) do |config|
if P4_VM_TYPE == "tutorial"
config.vm.box = "lasp/ubuntu" + P4_VM_UBUNTU_VERSION + "-desktop"
else
config.vm.box = "bento/ubuntu-" + P4_VM_UBUNTU_VERSION
end
config.vm.provider "virtualbox" do |vb|
vb.name = "ONOS+P4 " + P4_VM_TYPE + " " + P4_VM_UBUNTU_VERSION + " " + Time.now.strftime("(%Y-%m-%d)")
vb.gui = true
vb.cpus = P4_VM_TYPE == "tutorial" ? 4 : 2
vb.memory = 4096
if P4_VM_TYPE == "tutorial"
vb.customize ["storageattach", :id,
"--storagectl", "IDE Controller",
"--port", "0", "--device", "1",
"--type", "dvddrive",
"--medium", "emptydrive"]
vb.customize ['modifyvm', :id, '--clipboard', 'bidirectional']
end
end
config.vm.hostname = "onos-p4-" + P4_VM_TYPE
config.vm.network "private_network", :type => 'dhcp', :adapter => 2
config.vm.provision "shell", path: "root-bootstrap.sh", :args => P4_VM_TYPE
end