Bug 5895 - Support of Ext109 openflow tcp flag matching in openflowplugin
[openflowplugin.git] / openflowplugin / src / main / java / org / opendaylight / openflowplugin / openflow / md / core / sal / convertor / PacketOutConvertor.java
index d67412703c04b1de53caa4205c4fb0d8ad5d1879..bc002d1409e58e85ce9f4d7d7fdecef3f8dc0a59 100644 (file)
@@ -14,6 +14,7 @@ import java.util.List;
 import org.opendaylight.controller.sal.common.util.Arguments;
 import org.opendaylight.openflowplugin.api.OFConstants;
 import org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion;
+import org.opendaylight.openflowplugin.openflow.md.util.InventoryDataServiceUtil;
 import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorRef;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnectorKey;
@@ -31,7 +32,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public final class PacketOutConvertor {
-    private static final Logger LOG = LoggerFactory.getLogger(MeterConvertor.class);
+    private static final Logger LOG = LoggerFactory.getLogger(PacketOutConvertor.class);
 
     private PacketOutConvertor() {
 
@@ -40,8 +41,10 @@ public final class PacketOutConvertor {
     // Get all the data for the PacketOut from the Yang/SAL-Layer
 
     /**
-     * @param version
-     * @param inputPacket
+     * @param version openflow version
+     * @param inputPacket input packet
+     * @param datapathid  datapath id
+     * @param xid tx id
      * @return PacketOutInput required by OF Library
      */
     public static PacketOutInput toPacketOutInput(final TransmitPacketInput inputPacket, final short version, final Long xid,
@@ -121,8 +124,8 @@ public final class PacketOutConvertor {
         InstanceIdentifier.IdentifiableItem<?, ?> item = Arguments.checkInstanceOf(pathArgument,
                 InstanceIdentifier.IdentifiableItem.class);
         NodeConnectorKey key = Arguments.checkInstanceOf(item.getKey(), NodeConnectorKey.class);
-        String[] split = key.getId().getValue().split(":");
-        Long port = OpenflowPortsUtil.getPortFromLogicalName(OpenflowVersion.get(ofVersion), split[split.length - 1]);
+        Long port =  InventoryDataServiceUtil.portNumberfromNodeConnectorId(
+                OpenflowVersion.get(ofVersion), key.getId());
         return new PortNumber(port);
     }
 }