Minor changes to PI-ECMP demo

- Support devices with different pipeconfs (as in the HW testbed)
- Run UDP servers in Mininet hosts
- Wait before pushing config to ONOS

Change-Id: Ic400e0ac0949375a27aa9721b32dc57d5065fb1c
diff --git a/tools/dev/mininet/bmv2.py b/tools/dev/mininet/bmv2.py
index e942646..f218257 100644
--- a/tools/dev/mininet/bmv2.py
+++ b/tools/dev/mininet/bmv2.py
@@ -216,7 +216,7 @@
             bmv2cmd = "%s %s" % (VALGRIND_PREFIX, bmv2cmd)
         if self.dryrun:
             info("\n*** DRY RUN (not executing bmv2)")
-        info("\nStarting BMv2 target: %s" % bmv2cmd)
+        info("\nStarting BMv2 target: %s\n" % bmv2cmd)
 
         if self.persistent:
             # Bash loop to re-exec the switch if it crashes.
@@ -229,7 +229,7 @@
             out = self.cmd(cmdStr)
             if out:
                 print out
-            if self.valgrind:
+            if self.netcfg and self.valgrind:
                 # With valgrind, it takes some time before the gRPC server is available.
                 # Wait before pushing the netcfg.
                 info("\n*** Waiting %d seconds before pushing the config to ONOS...\n" % VALGRIND_SLEEP)