Merge branch 'master' of ssh://gerrit.onlab.us:29418/onos-next
diff --git a/apps/sdnip/src/main/java/org/onlab/onos/sdnip/Router.java b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/Router.java
index dc29285..d610361 100644
--- a/apps/sdnip/src/main/java/org/onlab/onos/sdnip/Router.java
+++ b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/Router.java
@@ -133,6 +133,10 @@
*/
public void start() {
+ // TODO hack to enable SDN-IP now for testing
+ isElectedLeader = true;
+ isActivatedLeader = true;
+
bgpUpdatesExecutor.execute(new Runnable() {
@Override
public void run() {
diff --git a/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/FlowEntryBuilder.java b/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/FlowEntryBuilder.java
index 9f6c658..9924a71 100644
--- a/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/FlowEntryBuilder.java
+++ b/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/FlowEntryBuilder.java
@@ -35,6 +35,7 @@
import org.projectfloodlight.openflow.protocol.match.Match;
import org.projectfloodlight.openflow.protocol.match.MatchField;
import org.projectfloodlight.openflow.types.IPv4Address;
+import org.projectfloodlight.openflow.types.Masked;
import org.slf4j.Logger;
import com.google.common.collect.Lists;
@@ -218,23 +219,35 @@
builder.matchEthType((short) ethType);
break;
case IPV4_DST:
- IPv4Address di = match.get(MatchField.IPV4_DST);
IpPrefix dip;
- if (di.isCidrMask()) {
- dip = IpPrefix.valueOf(di.getInt(), di.asCidrMaskLength());
+ if (match.isPartiallyMasked(MatchField.IPV4_DST)) {
+ Masked<IPv4Address> maskedIp = match.getMasked(MatchField.IPV4_DST);
+
+ dip = IpPrefix.valueOf(
+ maskedIp.getValue().getInt(),
+ maskedIp.getMask().asCidrMaskLength());
} else {
- dip = IpPrefix.valueOf(di.getInt(), IpPrefix.MAX_INET_MASK);
+ dip = IpPrefix.valueOf(
+ match.get(MatchField.IPV4_DST).getInt(),
+ IpPrefix.MAX_INET_MASK);
}
+
builder.matchIPDst(dip);
break;
case IPV4_SRC:
- IPv4Address si = match.get(MatchField.IPV4_SRC);
IpPrefix sip;
- if (si.isCidrMask()) {
- sip = IpPrefix.valueOf(si.getInt(), si.asCidrMaskLength());
+ if (match.isPartiallyMasked(MatchField.IPV4_SRC)) {
+ Masked<IPv4Address> maskedIp = match.getMasked(MatchField.IPV4_SRC);
+
+ sip = IpPrefix.valueOf(
+ maskedIp.getValue().getInt(),
+ maskedIp.getMask().asCidrMaskLength());
} else {
- sip = IpPrefix.valueOf(si.getInt(), IpPrefix.MAX_INET_MASK);
+ sip = IpPrefix.valueOf(
+ match.get(MatchField.IPV4_SRC).getInt(),
+ IpPrefix.MAX_INET_MASK);
}
+
builder.matchIPSrc(sip);
break;
case IP_PROTO:
diff --git a/tools/dev/bash_profile b/tools/dev/bash_profile
index f9754af..5ee2392 100644
--- a/tools/dev/bash_profile
+++ b/tools/dev/bash_profile
@@ -45,6 +45,7 @@
# Short-hand for tailing the ONOS (karaf) log
alias tl='$ONOS_ROOT/tools/dev/bin/onos-local-log'
alias tlo='tl | grep --colour=always org.onlab'
+alias ll='less $KARAF_LOG'
# Pretty-print JSON output
alias pp='python -m json.tool'