alshabib

Merge branch 'master' of ssh://gerrit.onlab.us:29418/onos-next

...@@ -133,6 +133,10 @@ public class Router implements RouteListener { ...@@ -133,6 +133,10 @@ public class Router implements RouteListener {
133 */ 133 */
134 public void start() { 134 public void start() {
135 135
136 + // TODO hack to enable SDN-IP now for testing
137 + isElectedLeader = true;
138 + isActivatedLeader = true;
139 +
136 bgpUpdatesExecutor.execute(new Runnable() { 140 bgpUpdatesExecutor.execute(new Runnable() {
137 @Override 141 @Override
138 public void run() { 142 public void run() {
......
...@@ -35,6 +35,7 @@ import org.projectfloodlight.openflow.protocol.instruction.OFInstructionApplyAct ...@@ -35,6 +35,7 @@ import org.projectfloodlight.openflow.protocol.instruction.OFInstructionApplyAct
35 import org.projectfloodlight.openflow.protocol.match.Match; 35 import org.projectfloodlight.openflow.protocol.match.Match;
36 import org.projectfloodlight.openflow.protocol.match.MatchField; 36 import org.projectfloodlight.openflow.protocol.match.MatchField;
37 import org.projectfloodlight.openflow.types.IPv4Address; 37 import org.projectfloodlight.openflow.types.IPv4Address;
38 +import org.projectfloodlight.openflow.types.Masked;
38 import org.slf4j.Logger; 39 import org.slf4j.Logger;
39 40
40 import com.google.common.collect.Lists; 41 import com.google.common.collect.Lists;
...@@ -218,23 +219,35 @@ public class FlowEntryBuilder { ...@@ -218,23 +219,35 @@ public class FlowEntryBuilder {
218 builder.matchEthType((short) ethType); 219 builder.matchEthType((short) ethType);
219 break; 220 break;
220 case IPV4_DST: 221 case IPV4_DST:
221 - IPv4Address di = match.get(MatchField.IPV4_DST);
222 IpPrefix dip; 222 IpPrefix dip;
223 - if (di.isCidrMask()) { 223 + if (match.isPartiallyMasked(MatchField.IPV4_DST)) {
224 - dip = IpPrefix.valueOf(di.getInt(), di.asCidrMaskLength()); 224 + Masked<IPv4Address> maskedIp = match.getMasked(MatchField.IPV4_DST);
225 +
226 + dip = IpPrefix.valueOf(
227 + maskedIp.getValue().getInt(),
228 + maskedIp.getMask().asCidrMaskLength());
225 } else { 229 } else {
226 - dip = IpPrefix.valueOf(di.getInt(), IpPrefix.MAX_INET_MASK); 230 + dip = IpPrefix.valueOf(
231 + match.get(MatchField.IPV4_DST).getInt(),
232 + IpPrefix.MAX_INET_MASK);
227 } 233 }
234 +
228 builder.matchIPDst(dip); 235 builder.matchIPDst(dip);
229 break; 236 break;
230 case IPV4_SRC: 237 case IPV4_SRC:
231 - IPv4Address si = match.get(MatchField.IPV4_SRC);
232 IpPrefix sip; 238 IpPrefix sip;
233 - if (si.isCidrMask()) { 239 + if (match.isPartiallyMasked(MatchField.IPV4_SRC)) {
234 - sip = IpPrefix.valueOf(si.getInt(), si.asCidrMaskLength()); 240 + Masked<IPv4Address> maskedIp = match.getMasked(MatchField.IPV4_SRC);
241 +
242 + sip = IpPrefix.valueOf(
243 + maskedIp.getValue().getInt(),
244 + maskedIp.getMask().asCidrMaskLength());
235 } else { 245 } else {
236 - sip = IpPrefix.valueOf(si.getInt(), IpPrefix.MAX_INET_MASK); 246 + sip = IpPrefix.valueOf(
247 + match.get(MatchField.IPV4_SRC).getInt(),
248 + IpPrefix.MAX_INET_MASK);
237 } 249 }
250 +
238 builder.matchIPSrc(sip); 251 builder.matchIPSrc(sip);
239 break; 252 break;
240 case IP_PROTO: 253 case IP_PROTO:
......
...@@ -45,6 +45,7 @@ alias pub='onos-push-update-bundle' ...@@ -45,6 +45,7 @@ alias pub='onos-push-update-bundle'
45 # Short-hand for tailing the ONOS (karaf) log 45 # Short-hand for tailing the ONOS (karaf) log
46 alias tl='$ONOS_ROOT/tools/dev/bin/onos-local-log' 46 alias tl='$ONOS_ROOT/tools/dev/bin/onos-local-log'
47 alias tlo='tl | grep --colour=always org.onlab' 47 alias tlo='tl | grep --colour=always org.onlab'
48 +alias ll='less $KARAF_LOG'
48 49
49 # Pretty-print JSON output 50 # Pretty-print JSON output
50 alias pp='python -m json.tool' 51 alias pp='python -m json.tool'
......