Adding mac to intentperf selector and making Distributed flow store smaller
Change-Id: Id057ec6337519617dab8a5e352feb2922b40897d
Showing
2 changed files
with
8 additions
and
14 deletions
| ... | @@ -22,6 +22,7 @@ import org.apache.felix.scr.annotations.Activate; | ... | @@ -22,6 +22,7 @@ import org.apache.felix.scr.annotations.Activate; |
| 22 | import org.apache.felix.scr.annotations.Component; | 22 | import org.apache.felix.scr.annotations.Component; |
| 23 | import org.apache.felix.scr.annotations.Deactivate; | 23 | import org.apache.felix.scr.annotations.Deactivate; |
| 24 | import org.apache.felix.scr.annotations.Reference; | 24 | import org.apache.felix.scr.annotations.Reference; |
| 25 | +import org.onlab.packet.MacAddress; | ||
| 25 | import org.onlab.util.Counter; | 26 | import org.onlab.util.Counter; |
| 26 | import org.onosproject.cluster.ClusterService; | 27 | import org.onosproject.cluster.ClusterService; |
| 27 | import org.onosproject.core.ApplicationId; | 28 | import org.onosproject.core.ApplicationId; |
| ... | @@ -200,7 +201,8 @@ public class IntentPerfInstaller { | ... | @@ -200,7 +201,8 @@ public class IntentPerfInstaller { |
| 200 | } | 201 | } |
| 201 | 202 | ||
| 202 | //FIXME we currently ignore the path length and always use the same device | 203 | //FIXME we currently ignore the path length and always use the same device |
| 203 | - TrafficSelector selector = DefaultTrafficSelector.builder().build(); | 204 | + TrafficSelector selector = DefaultTrafficSelector.builder() |
| 205 | + .matchEthDst(MacAddress.valueOf(count)).build(); | ||
| 204 | TrafficTreatment treatment = DefaultTrafficTreatment.builder().build(); | 206 | TrafficTreatment treatment = DefaultTrafficTreatment.builder().build(); |
| 205 | ConnectPoint ingress = new ConnectPoint(ingressDevice.id(), PortNumber.portNumber(1)); | 207 | ConnectPoint ingress = new ConnectPoint(ingressDevice.id(), PortNumber.portNumber(1)); |
| 206 | ConnectPoint egress = new ConnectPoint(ingressDevice.id(), PortNumber.portNumber(2)); | 208 | ConnectPoint egress = new ConnectPoint(ingressDevice.id(), PortNumber.portNumber(2)); | ... | ... |
| ... | @@ -19,7 +19,7 @@ import com.google.common.collect.ImmutableList; | ... | @@ -19,7 +19,7 @@ import com.google.common.collect.ImmutableList; |
| 19 | import com.google.common.collect.Iterables; | 19 | import com.google.common.collect.Iterables; |
| 20 | import com.google.common.collect.Maps; | 20 | import com.google.common.collect.Maps; |
| 21 | import com.google.common.collect.Sets; | 21 | import com.google.common.collect.Sets; |
| 22 | - | 22 | +import org.apache.commons.lang.math.RandomUtils; |
| 23 | import org.apache.felix.scr.annotations.Activate; | 23 | import org.apache.felix.scr.annotations.Activate; |
| 24 | import org.apache.felix.scr.annotations.Component; | 24 | import org.apache.felix.scr.annotations.Component; |
| 25 | import org.apache.felix.scr.annotations.Deactivate; | 25 | import org.apache.felix.scr.annotations.Deactivate; |
| ... | @@ -53,7 +53,6 @@ import org.onosproject.net.flow.FlowRuleStore; | ... | @@ -53,7 +53,6 @@ import org.onosproject.net.flow.FlowRuleStore; |
| 53 | import org.onosproject.net.flow.FlowRuleStoreDelegate; | 53 | import org.onosproject.net.flow.FlowRuleStoreDelegate; |
| 54 | import org.onosproject.net.flow.StoredFlowEntry; | 54 | import org.onosproject.net.flow.StoredFlowEntry; |
| 55 | import org.onosproject.store.AbstractStore; | 55 | import org.onosproject.store.AbstractStore; |
| 56 | -import org.onosproject.store.Timestamp; | ||
| 57 | import org.onosproject.store.cluster.messaging.ClusterCommunicationService; | 56 | import org.onosproject.store.cluster.messaging.ClusterCommunicationService; |
| 58 | import org.onosproject.store.cluster.messaging.ClusterMessage; | 57 | import org.onosproject.store.cluster.messaging.ClusterMessage; |
| 59 | import org.onosproject.store.cluster.messaging.ClusterMessageHandler; | 58 | import org.onosproject.store.cluster.messaging.ClusterMessageHandler; |
| ... | @@ -625,15 +624,8 @@ public class DistributedFlowRuleStore | ... | @@ -625,15 +624,8 @@ public class DistributedFlowRuleStore |
| 625 | .register(MastershipBasedTimestamp.class); | 624 | .register(MastershipBasedTimestamp.class); |
| 626 | 625 | ||
| 627 | private final ClockService<FlowId, StoredFlowEntry> clockService = | 626 | private final ClockService<FlowId, StoredFlowEntry> clockService = |
| 628 | - new ClockService<FlowId, StoredFlowEntry>() { | 627 | + (flowId, flowEntry) -> |
| 629 | - @Override | 628 | + (flowEntry == null) ? null : deviceClockService.getTimestamp(flowEntry.deviceId()); |
| 630 | - public Timestamp getTimestamp(FlowId flowId, StoredFlowEntry flowEntry) { | ||
| 631 | - if (flowEntry == null) { | ||
| 632 | - return null; | ||
| 633 | - } | ||
| 634 | - return deviceClockService.getTimestamp(flowEntry.deviceId()); | ||
| 635 | - } | ||
| 636 | - }; | ||
| 637 | 629 | ||
| 638 | private final EventuallyConsistentMap<FlowId, StoredFlowEntry> backupMap = | 630 | private final EventuallyConsistentMap<FlowId, StoredFlowEntry> backupMap = |
| 639 | new EventuallyConsistentMapImpl<>("flow-backup", | 631 | new EventuallyConsistentMapImpl<>("flow-backup", |
| ... | @@ -653,8 +645,8 @@ public class DistributedFlowRuleStore | ... | @@ -653,8 +645,8 @@ public class DistributedFlowRuleStore |
| 653 | if (nodes.isEmpty()) { | 645 | if (nodes.isEmpty()) { |
| 654 | return ImmutableList.of(); | 646 | return ImmutableList.of(); |
| 655 | } else { | 647 | } else { |
| 656 | - Collections.shuffle(nodes); | 648 | + // get a random peer |
| 657 | - return ImmutableList.of(nodes.get(0)); | 649 | + return ImmutableList.of(nodes.get(RandomUtils.nextInt(nodes.size()))); |
| 658 | } | 650 | } |
| 659 | } | 651 | } |
| 660 | 652 | ... | ... |
-
Please register or login to post a comment