ONOS-4713, ONOS-4715 issues merge to master
Change-Id: I3e52af949005529cec18a85e49601c47f7e386f8
diff --git a/apps/vtn/sfcweb/src/main/java/org/onosproject/sfcweb/SfcwebUiTopovOverlay.java b/apps/vtn/sfcweb/src/main/java/org/onosproject/sfcweb/SfcwebUiTopovOverlay.java
index 6ee1b02..dce4f9c 100644
--- a/apps/vtn/sfcweb/src/main/java/org/onosproject/sfcweb/SfcwebUiTopovOverlay.java
+++ b/apps/vtn/sfcweb/src/main/java/org/onosproject/sfcweb/SfcwebUiTopovOverlay.java
@@ -15,11 +15,19 @@
*/
package org.onosproject.sfcweb;
+import org.onlab.packet.MacAddress;
+import org.onosproject.cli.AbstractShellCommand;
import org.onosproject.net.DeviceId;
+import org.onosproject.net.Host;
import org.onosproject.net.HostId;
+import org.onosproject.net.host.HostService;
import org.onosproject.ui.UiTopoOverlay;
import org.onosproject.ui.topo.PropertyPanel;
-
+import org.onosproject.vtnrsc.PortPair;
+import org.onosproject.vtnrsc.VirtualPort;
+import org.onosproject.vtnrsc.VirtualPortId;
+import org.onosproject.vtnrsc.portpair.PortPairService;
+import org.onosproject.vtnrsc.virtualport.VirtualPortService;
/**
* Our sfcweb topology overlay.
@@ -46,6 +54,19 @@
public void modifyHostDetails(PropertyPanel pp, HostId hostId) {
pp.title(MY_HOST_TITLE);
pp.removeAllProps();
+ PortPairService portPairService = AbstractShellCommand.get(PortPairService.class);
+ VirtualPortService virtualPortService = AbstractShellCommand.get(VirtualPortService.class);
+ HostService hostService = AbstractShellCommand.get(HostService.class);
+ Iterable<PortPair> portPairs = portPairService.getPortPairs();
+ for (PortPair portPair : portPairs) {
+ VirtualPort vPort = virtualPortService.getPort(VirtualPortId.portId(portPair.ingress()));
+ MacAddress dstMacAddress = vPort.macAddress();
+ Host host = hostService.getHost(HostId.hostId(dstMacAddress));
+ if (hostId.toString().equals(host.id().toString())) {
+ pp.addProp("SF Name", portPair.name());
+ pp.addProp("SF Ip", vPort.fixedIps().iterator().next().ip());
+ }
+ }
pp.addProp("SF host Address", hostId.toString());
}