Updating the P4Switch class to use different mechanism
for checking when the switch is listening on the Thrift
port. This might fix an issues where Mininet hangs on
start.
The previous implementation had a race conditiona between the
socket check and the BMv2 startup. Sometimes, if the check happen
just before (or as) BMv2 was trying to bind the port, it would
not be able to bind it. This solution uses psutil's equivalent
to 'netstat' to determine whether is BMv2 has bound the port yet.
Also, some minor README and comment improvements.
* Created p4runtime exercise directory with draft P4 program
* Updating VM
- Adding p4 to vboxsf group for VirtualBox Shared Folders
- Adding gRPC Python package for p4 runtime
- Setting up VM to use 2 CPUs
* Updating .gitignore for PyCharms and Mac OS
* Adding P4RuntimeSwitch type and support in run_exercises
If the grpc switch target is used, we will instantiate a P4RuntimeSwitch.
Ideally, this will get merged with BMv2's P4Switch and can be removed
* Adding p4 runtime and p4info browser libraries
Also, adding a Makefile for this project