From b581319f9cbfa89291d763fcd9e67d880807fa4e Mon Sep 17 00:00:00 2001 From: "Gustavo J. A. M. Carneiro" Date: Wed, 4 May 2011 15:28:55 +0100 Subject: [PATCH] pyviz: display ipv6 addresses in the node tooltips --- src/visualizer/visualizer/core.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/visualizer/visualizer/core.py b/src/visualizer/visualizer/core.py index c505cb079..9ab7367cc 100644 --- a/src/visualizer/visualizer/core.py +++ b/src/visualizer/visualizer/core.py @@ -156,6 +156,7 @@ class Node(PyVizObject): try: ns3_node = ns3.NodeList.GetNode(self.node_index) ipv4 = ns3_node.GetObject(ns3.Ipv4.GetTypeId()) + ipv6 = ns3_node.GetObject(ns3.Ipv6.GetTypeId()) lines = ['Node %i' % self.node_index] lines.append('') @@ -174,6 +175,7 @@ class Node(PyVizObject): lines.append(' Name: %s' % name) devname = dev.GetInstanceTypeId().GetName() lines.append(' Type: %s' % devname) + if ipv4 is not None: ipv4_idx = ipv4.GetInterfaceForDevice(dev) if ipv4_idx != -1: @@ -182,6 +184,15 @@ class Node(PyVizObject): ipv4.GetAddress(ipv4_idx, i).GetMask()) for i in range(ipv4.GetNAddresses(ipv4_idx))] lines.append(' IPv4 Addresses: %s' % '; '.join(addresses)) + + if ipv6 is not None: + ipv6_idx = ipv6.GetInterfaceForDevice(dev) + if ipv6_idx != -1: + addresses = [ + '%s/%s' % (ipv6.GetAddress(ipv6_idx, i).GetAddress(), + ipv6.GetAddress(ipv6_idx, i).GetPrefix()) + for i in range(ipv6.GetNAddresses(ipv4_idx))] + lines.append(' IPv6 Addresses: %s' % '; '.join(addresses)) lines.append(' MAC Address: %s' % (dev.GetAddress(),))