Copying mininet_p4 from behavioral-model repo (#86)

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.
This commit is contained in:
Brian O'Connor
2017-11-08 12:25:59 -08:00
committed by Robert Soule
parent 727b4f82f4
commit 5c757fca09
4 changed files with 185 additions and 14 deletions

View File

@@ -21,18 +21,8 @@ from mininet.node import Switch
from mininet.moduledeps import pathCheck
from mininet.log import info, error, debug
# this path is needed to import p4_mininet.py from the bmv2 repo
sys.path.append('/home/vagrant/behavioral-model/mininet')
from p4_mininet import P4Switch
SWITCH_START_TIMEOUT = 10 # seconds
import psutil
def check_listening_on_port(port):
for c in psutil.net_connections(kind='inet'):
if c.status == 'LISTEN' and c.laddr[1] == port:
return True
return False
from p4_mininet import P4Switch, SWITCH_START_TIMEOUT
from netstat import check_listening_on_port
class P4RuntimeSwitch(P4Switch):
"BMv2 switch with gRPC support"