X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflow-protocol-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fopenflowjava%2Fprotocol%2Fimpl%2Fserialization%2Fmatch%2FOxmIpv6SrcSerializer.java;h=4072b767676be2bf5facc5d4b96cda98e974fe7b;hb=29a2a074c78708f6d18583779ece96bb6573f0c6;hp=0b70ffc6a30c7b73e9d14a2ebc56ddea1cb782cb;hpb=1adc52b6fedfc7ecdb03cb6cab5ae7da3bfb52e4;p=openflowjava.git diff --git a/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/match/OxmIpv6SrcSerializer.java b/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/match/OxmIpv6SrcSerializer.java index 0b70ffc6..4072b767 100644 --- a/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/match/OxmIpv6SrcSerializer.java +++ b/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/match/OxmIpv6SrcSerializer.java @@ -1,33 +1,48 @@ -/* - * Copyright (c) 2013 Pantheon Technologies s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.openflowjava.protocol.impl.serialization.match; - -import org.opendaylight.openflowjava.protocol.impl.util.EncodeConstants; -import org.opendaylight.openflowjava.protocol.impl.util.OxmMatchConstants; - -/** - * @author michal.polkorab - * - */ -public class OxmIpv6SrcSerializer extends AbstractOxmIpv6AddressSerializer { - - @Override - protected int getOxmClassCode() { - return OxmMatchConstants.OPENFLOW_BASIC_CLASS; - } - - @Override - protected int getOxmFieldCode() { - return OxmMatchConstants.IPV6_SRC; - } - - @Override - protected int getValueLength() { - return EncodeConstants.SIZE_OF_IPV6_ADDRESS_IN_BYTES; - } -} +/* + * Copyright (c) 2013 Pantheon Technologies s.r.o. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.openflowjava.protocol.impl.serialization.match; + +import io.netty.buffer.ByteBuf; + +import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; +import org.opendaylight.openflowjava.protocol.api.util.OxmMatchConstants; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.Ipv6SrcCase; + +/** + * @author michal.polkorab + * + */ +public class OxmIpv6SrcSerializer extends AbstractOxmIpv6AddressSerializer { + + @Override + public void serialize(MatchEntry entry, ByteBuf outBuffer) { + super.serialize(entry, outBuffer); + Ipv6SrcCase entryValue = (Ipv6SrcCase) entry.getMatchEntryValue(); + writeIpv6Address(entryValue.getIpv6Src().getIpv6Address().getValue(), outBuffer); + if (entry.isHasMask()) { + writeMask(entryValue.getIpv6Src().getMask(), outBuffer, + EncodeConstants.SIZE_OF_IPV6_ADDRESS_IN_BYTES); + } + } + + @Override + protected int getOxmClassCode() { + return OxmMatchConstants.OPENFLOW_BASIC_CLASS; + } + + @Override + protected int getOxmFieldCode() { + return OxmMatchConstants.IPV6_SRC; + } + + @Override + protected int getValueLength() { + return EncodeConstants.SIZE_OF_IPV6_ADDRESS_IN_BYTES; + } +}