Allow arbitrary ONOS device ID in bmv2.py

Needed for SR functional tests

Change-Id: Ieec7d6ef72628b55787b0275d725c829230790da
diff --git a/tools/dev/mininet/bmv2.py b/tools/dev/mininet/bmv2.py
index eadb21b..0430ee3 100644
--- a/tools/dev/mininet/bmv2.py
+++ b/tools/dev/mininet/bmv2.py
@@ -83,7 +83,7 @@
                  elogger=False, grpcport=None, cpuport=255,
                  thriftport=None, netcfg=True, dryrun=False, pipeconf="",
                  pktdump=False, valgrind=False, gnmi=False,
-                 portcfg=True, **kwargs):
+                 portcfg=True, onosdevid=None, **kwargs):
         Switch.__init__(self, name, **kwargs)
         self.grpcPort = pickUnusedPort() if not grpcport else grpcport
         self.thriftPort = pickUnusedPort() if not thriftport else thriftport
@@ -106,7 +106,10 @@
         self.withGnmi = parseBoolean(gnmi)
         self.longitude = kwargs['longitude'] if 'longitude' in kwargs else None
         self.latitude = kwargs['latitude'] if 'latitude' in kwargs else None
-        self.onosDeviceId = "device:bmv2:%s" % self.name
+        if onosdevid is not None and len(onosdevid) > 0:
+            self.onosDeviceId = onosdevid
+        else:
+            self.onosDeviceId = "device:bmv2:%s" % self.name
         self.logfd = None
         self.bmv2popen = None
         self.stopped = False