From 08643fe6790ce96284e63c4d83a20fdd8fe6b786 Mon Sep 17 00:00:00 2001
From: cody burkard <cody@onlab.us>
Date: Mon, 15 Sep 2014 15:20:47 -0700
Subject: [PATCH] adding 'ports' command to cli

---
 mininet/cli.py  | 7 ++++++-
 mininet/util.py | 9 +++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/mininet/cli.py b/mininet/cli.py
index 42a4d3d7..efb580bb 100644
--- a/mininet/cli.py
+++ b/mininet/cli.py
@@ -36,7 +36,8 @@
 
 from mininet.log import info, output, error
 from mininet.term import makeTerms, runX11
-from mininet.util import quietRun, isShellBuiltin, dumpNodeConnections
+from mininet.util import ( quietRun, isShellBuiltin, dumpNodeConnections,
+                         dumpPorts )
 
 class CLI( Cmd ):
     "Simple command-line interface to talk to nodes."
@@ -127,6 +128,10 @@ def do_nodes( self, _line ):
         nodes = ' '.join( sorted( self.mn ) )
         output( 'available nodes are: \n%s\n' % nodes )
 
+    def do_ports( self, line ):
+        "display ports and interfaces for each switch"
+        dumpPorts( self.mn.switches )
+
     def do_net( self, _line ):
         "List network connections."
         dumpNodeConnections( self.mn.values() )
diff --git a/mininet/util.py b/mininet/util.py
index 69d31273..b61ad8bb 100644
--- a/mininet/util.py
+++ b/mininet/util.py
@@ -237,6 +237,15 @@ def dumpNetConnections( net ):
     nodes = net.controllers + net.switches + net.hosts
     dumpNodeConnections( nodes )
 
+def dumpPorts( switches ):
+    "dump interface to openflow port mappings for each switch"
+    for switch in switches:
+        output( '%s ' % switch.name )
+        for intf in switch.intfList():
+            port = switch.ports[ intf ]
+            output( '%s:%d ' % ( intf, port ) )
+        output( '\n' )
+
 # IP and Mac address formatting and parsing
 
 def _colonHex( val, bytecount ):
-- 
GitLab