Merge "Quickfix - TableMod message (now correct config)"
authorDaniel Bartos <daniel.bartos@pantheon.sk>
Thu, 28 Nov 2013 08:00:47 +0000 (08:00 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Thu, 28 Nov 2013 08:00:47 +0000 (08:00 +0000)
openflow-protocol-api/src/main/yang/openflow-protocol.yang
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/GroupModInputMessageFactory.java
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/TableModInputMessageFactory.java
openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/TableModInputMessageFactoryTest.java

index 7960afa24568f9a0f6c88eb52ce4a99507e6c43c..cb1397d603d07d657c80a239ce363c6c6bd200b1 100644 (file)
@@ -523,7 +523,7 @@ module openflow-protocol {
                     type oft:table-id;\r
                 }\r
                 leaf config {\r
-                    type oft:port-config;\r
+                    type oft:table-config;\r
                 }\r
             } \r
             \r
index 594e4f3aa4a184f866f463e1d7161b621bea224e..b60a7c29327e6b53389f0d6e8e0aa7d6da152caf 100644 (file)
@@ -18,9 +18,10 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731
  */\r
 public class GroupModInputMessageFactory implements OFSerializer<GroupModInput> {\r
     private static final byte MESSAGE_TYPE = 15;\r
-    private static final byte PADDING_IN_GROUP_MOD_MESSAGE = 1;\r
     private static final int MESSAGE_LENGTH = 16;\r
+    private static final byte PADDING_IN_GROUP_MOD_MESSAGE = 1;\r
     private static final byte LENGTH_OF_BUCKET_STRUCTURE = 16;\r
+    private static final byte PADDING_IN_BUCKET = 4;\r
     private static GroupModInputMessageFactory instance;\r
 \r
     private GroupModInputMessageFactory() {\r
@@ -59,7 +60,6 @@ public class GroupModInputMessageFactory implements OFSerializer<GroupModInput>
     }\r
     \r
     private static void encodeBuckets(List<BucketsList> buckets, ByteBuf outBuffer) {\r
-        final byte PADDING_IN_BUCKET = 4;\r
         if (buckets != null) {\r
             for (BucketsList currentBucket : buckets) {\r
                 outBuffer.writeShort(computeLengthOfBucket(currentBucket));\r
index 228aa900ba667d3539113880d87832e309323e21..1255b15909c9cbf60982cc2d5e0dccff771deab9 100644 (file)
@@ -8,7 +8,7 @@ import java.util.Map;
 \r
 import org.opendaylight.openflowjava.protocol.impl.serialization.OFSerializer;\r
 import org.opendaylight.openflowjava.protocol.impl.util.ByteBufUtils;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortConfig;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.TableConfig;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.TableModInput;\r
 \r
 /**\r
@@ -55,18 +55,13 @@ public class TableModInputMessageFactory implements OFSerializer<TableModInput>
     }\r
     \r
     /**\r
-     * @param config\r
+     * @param tableConfig\r
      * @return port config bitmask \r
      */\r
-    private static int createConfigBitmask(PortConfig config) {\r
-        int configBitmask = 0;\r
+    private static int createConfigBitmask(TableConfig tableConfig) {\r
         Map<Integer, Boolean> portConfigMap = new HashMap<>();\r
-        portConfigMap.put(0, config.isPortDown());\r
-        portConfigMap.put(2, config.isNoRecv());\r
-        portConfigMap.put(5, config.isNoFwd());\r
-        portConfigMap.put(6, config.isNoPacketIn());\r
-        \r
-        configBitmask = ByteBufUtils.fillBitMaskFromMap(portConfigMap);\r
+        portConfigMap.put(3, tableConfig.isOFPTCDEPRECATEDMASK());\r
+        int configBitmask = ByteBufUtils.fillBitMaskFromMap(portConfigMap);\r
         return configBitmask;\r
     }\r
 }\r
index 501453bd02066badc21bf313fe98b4a5617a20eb..ddcdb27c664daf0897928fc2fcafb7cd65f09270 100644 (file)
@@ -8,7 +8,7 @@ import junit.framework.Assert;
 import org.junit.Test;\r
 import org.opendaylight.openflowjava.protocol.impl.deserialization.factories.HelloMessageFactoryTest;\r
 import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortConfig;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.TableConfig;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.TableId;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.TableModInput;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.TableModInputBuilder;\r
@@ -30,7 +30,7 @@ public class TableModInputMessageFactoryTest {
         TableModInputBuilder builder = new TableModInputBuilder();\r
         BufferHelper.setupHeader(builder);\r
         builder.setTableId(new TableId(9L));\r
-        builder.setConfig(new PortConfig(true, false, true, false));\r
+        builder.setConfig(new TableConfig(true));\r
         TableModInput message = builder.build();\r
         \r
         ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();\r
@@ -38,16 +38,9 @@ public class TableModInputMessageFactoryTest {
         factory.messageToBuffer(HelloMessageFactoryTest.VERSION_YET_SUPPORTED, out, message);\r
         \r
         BufferHelper.checkHeaderV13(out, MESSAGE_TYPE, 16);\r
-        Assert.assertEquals("Wrong TableID", message.getTableId().getValue().intValue(), out.readByte());\r
+        Assert.assertEquals("Wrong TableID", message.getTableId().getValue().intValue(), out.readUnsignedByte());\r
         out.skipBytes(PADDING_IN_TABLE_MOD_MESSAGE);\r
-        Assert.assertEquals("Wrong PortConfig", message.getConfig(), createPortConfig(out.readInt()));\r
+        Assert.assertEquals("Wrong TableConfig", 8, out.readUnsignedInt());\r
     }\r
     \r
-    private static PortConfig createPortConfig(long input){\r
-        final Boolean _portDown   = ((input) & (1<<0)) > 0;\r
-        final Boolean _noRecv    = ((input) & (1<<2)) > 0;\r
-        final Boolean _noFwd       = ((input) & (1<<5)) > 0;\r
-        final Boolean _noPacketIn = ((input) & (1<<6)) > 0;\r
-        return new PortConfig(_noFwd, _noPacketIn, _noRecv, _portDown);\r
-    }\r
 }\r