package org.opendaylight.openflowplugin.impl.util;
+import com.google.common.annotations.VisibleForTesting;
import java.math.BigInteger;
import java.util.StringTokenizer;
import org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion;
return hash;
}
- private static long calculateIpMatchHash(final IpMatch ipMatch) {
+ @VisibleForTesting
+ public static long calculateIpMatchHash(final IpMatch ipMatch) {
long hash = 0;
Short ipEcn = ipMatch.getIpEcn();
if (null != ipEcn) {
hash += ipProtocol;
}
- Short ipDscp = ipMatch.getIpDscp().getValue();
- if (null != ipDscp) {
- hash += ipDscp;
+ if (null != ipMatch.getIpDscp()) {
+ Short ipDscp = ipMatch.getIpDscp().getValue();
+ if (null != ipDscp) {
+ hash += ipDscp;
+ }
}
IpVersion ipVersion = ipMatch.getIpProto();
- if (null != ipVersion) {
+ if (null != ipVersion)
+
+ {
hash += ipVersion.getIntValue();
}
+
return hash;
}
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Prefix;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv6Prefix;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.MacAddress;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.IpMatchBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
}
}
+ @Test
+ public void calculateIpMatchHash() {
+ IpMatchBuilder ipMatchBuilder = new IpMatchBuilder();
+ ipMatchBuilder.setIpEcn((short) 42);
+ HashUtil.calculateIpMatchHash(ipMatchBuilder.build());
+ }
+
}
\ No newline at end of file