PI build from source
  • git clone & submodule
$ git clone https://github.com/p4lang/PI.git
$ cd PI && git submodule update --init --recursive

  • Get dependencies
$ sudo apt install libjudy-dev libreadline-dev

# CI test dependencies
$ sudo apt install libtool-bin valgrind

  • Build p4runtime.proto
  • 支援兩種 →若使用protobuf的話,就使用--with-proto的選項;
  • 若使用bmv2的話,就使用--with-bmv2
  • 不知道兩個同時指定會怎麼樣?
  • →可以
  • 但需要許多 dependencies,剛好 server上面grpc無法編譯通過!
  • 所以目前 configure就都不指定,以 default值下去做 make
./autogen.sh
./configure [--with-proto] [--with-bmv2]
make
make check
sudo make install

Reference