Installing the dependencies for Blink in Physical system instead of VM.
kumarkshiv opened this issue · 3 comments
Can anyone suggest how to proceed if someone wants to compile and run the Blink system in a physical system(PC).?
Any scripts or instructions to set up the P4 environment and install the required dependencies.?
Hi Shiv,
We recommend trying Blink in a virtual environment as it requires installing several libraries such as bmv2, p4-utils, etc. For this reason, we provide in this repo a vagrant file, and we also uploaded a VM where everything is pre-installed.
However, running Blink would also work in a physical system if all the dependencies are correctly installed.
To install the dependencies, you can look at the scripts available in the vm directory and install everything directly in your server. Note however that p4-utils, that we use as the interface to build the topology and communicate with the switches, has been upgraded and you need to use this previous commit when installing p4-utils (here).
Are these scripts specific to Ubuntu 16.? Can we do it in Ubuntu 18.?
Please recommend the Ubuntu version for smooth installation.?
When we implemented Blink, p4-utils only supported Ubuntu 16. Recently, p4-utils has been updated to support Ubuntu 18, but it is unfortunately not backward-compatible and thus running the Blink controller on the latest version of p4-utils will likely fail. This is the reason why I pointed out a particular commit of p4-utils in my last message.
Yet, updating the code of the Blink controller to make it work with the latest p4-utils version is probably not that hard. I think it would mainly consist in updating the names and parameters used in some p4-utils primitives. I do not have slots for doing that at the moment (I have graduated, and I am now working on other projects). If you decide to update the Blink code to make it compatible with the latest version of p4-utils, feel free to make a PR and I will be happy to look at it (and accept it :-)).