Mask Support for TCP and UDP ports in nicira extension
[openflowplugin.git] / extension / openflowjava-extension-nicira / src / main / java / org / opendaylight / openflowjava / nx / codec / match / UdpSrcCodec.java
index 6ef730207087686749faa2da09f1cf7b6ebefe38..b30ba5b10265efa7d5c24dd1a797873f58c9fb22 100644 (file)
@@ -45,16 +45,19 @@ public class UdpSrcCodec extends AbstractMatchCodec {
         serializeHeader(input, outBuffer);
         UdpSrcCaseValue udpSrcCase = ((UdpSrcCaseValue) input.getMatchEntryValue());
         outBuffer.writeShort(udpSrcCase.getUdpSrcValues().getPort().getValue());
+        outBuffer.writeShort(udpSrcCase.getUdpSrcValues().getMask());
     }
 
     @Override
     public MatchEntry deserialize(ByteBuf message) {
         MatchEntryBuilder matchEntryBuilder = deserializeHeader(message);
-        matchEntryBuilder.setHasMask(false);
+        matchEntryBuilder.setHasMask(true);
         int portNo = message.readUnsignedShort();
+        int mask = message.readUnsignedShort();
         UdpSrcCaseValueBuilder caseBuilder = new UdpSrcCaseValueBuilder();
         UdpSrcValuesBuilder udpSrcValuesBuilder = new UdpSrcValuesBuilder();
         udpSrcValuesBuilder.setPort(new PortNumber(portNo));
+        udpSrcValuesBuilder.setMask(mask);
         caseBuilder.setUdpSrcValues(udpSrcValuesBuilder.build());
         matchEntryBuilder.setMatchEntryValue(caseBuilder.build());
         return matchEntryBuilder.build();