- for (MatchEntries entry : matchEntries) {
- OFSerializer<MatchEntries> entrySerializer = registry.getSerializer(
- new EnhancedMessageTypeKey<>(EncodeConstants.OF13_VERSION_ID, entry.getOxmClass(),
- entry.getOxmMatchField()));
+ for (MatchEntry entry : matchEntries) {
+
+ MatchEntrySerializerKey<?, ?> key = new MatchEntrySerializerKey<>(
+ EncodeConstants.OF13_VERSION_ID, entry.getOxmClass(), entry.getOxmMatchField());
+ if (entry.getOxmClass().equals(ExperimenterClass.class)) {
+ ExperimenterIdCase entryValue = (ExperimenterIdCase) entry.getMatchEntryValue();
+ key.setExperimenterId(entryValue.getExperimenter().getExperimenter().getValue());
+ } else {
+ key.setExperimenterId(null);
+ }
+ OFSerializer<MatchEntry> entrySerializer = registry.getSerializer(key);