Add a new method to the interface to allow setting the idle timeout
directly and it will automatically decide if the rule is permanent
or temporary.
Currently the rules created from OF switches would always be made
temporary, even if the idle-timeout was 0. This would cause ONOS
FlowRuleManager to believe they had expired and would remove them.
To reproduce set up a cluster and make a device change mastership, the
new master would have all rules as temporary, even the ones that were
permanent previously on the first master.
Change-Id: I6bca5ba4d0e2194efad21a98cbcd0ab040977f03
New Upgraded AFM(Adaptive Flow Monitoring) and FlowStatisticService.
.Reabsed from master 2016.12.06, and assumed avgPollInterval in FlowStatisticService with flowPollFrequency in case adativeFlowSampling is true or false
.Fixed Yuta HIGUCHI comments, 2016.12.03
.Fixed checkstyle warning
.Rebased and added interrupted flag for exiting while() loop when IterruptException is caught in NewAdaptiveFlowStatsCollector.java
.Fixed and added javadocs from Thomas Vachuska's comment
.Removed synchronized block in OpenFlowRuleProvider.java for avoiding performance degradation
.Rebased from master 2016.10.13 1.8.0.SNAPSHOT
.Rebased from master 2016.09.09
.Fixed Yuta HIGUCHI's comments
(made default getFlowEntriesByLiveType interface,
added checkArgument() for StoredFlowEntry,
added @Deprecated annotation @deprecated javadoc,
added Thread.currentThread.interrupt()
and fixed Default Adaptive Flow Sampling value with false.)
.Rebased from master branch
.Fix typo in FlowRuleService.java comment line
.Quick Bug fix in NewAdaptiveFlowStatCollector
.master rebased for fixing build Failure
.Removed synchronized block in FlowRuleProvider and NewAdaptiveFlowStatCollector for performance upgrade
.Removed duplicated flow entries in NewAdaptiveFlowStatsCollector
.Removed additional operation (add/remove/mod) of flow entry in OpenFlowRuleProvider
.Set default adaptiveFlowSampling value with true
.Added liveType (IMMEDIATE, SHORT, MID, LONG) member variable in FlowEntry
.New added PollInterval static class for pollInterval value adjustment
.Updated FlowEntryBuilder and FlowEntry constructor
.Added liveType print in FlowListCommand CLI
.Removed FlowStatisticStore, used existing StatisticStore
.New added FlowEntryWithLoad for replacing the old TypedFlowEntryWithLoad
.Added new interfaces in FlowStatisticService
.Updated GetFlowStatistics CLI for using new interfaces
.All Typedxxx classes are deprecated
.new created review 9292 from review 9232
.fixed Jian Li's review comment from review 9232
.fixed Build failure in core/net/BUCK file
Change-Id: I7a0e39c5220a2b279b68a195347c183b5bdf1a49
Additionally, this patch includes
- Minor refactoring
- Skip method length checkstyle for FlowEntryBuilder::hasSetField
Change-Id: I7887f454f552a9e346c323524f359929deadf427
Calls to the modified methods (all configuration changes through the
CLI, for example) of OpenFlowDeviceProvider and OpenFlowRuleProvider
cause a switch from executor to another one on PortStatsCollector and
FlowStats collector respectively.
Since these Collectors are constructed with a Timer argument, we might
as well use those timers properly right away.
Change-Id: I32aa8c89d9615ea065e5fd9fd7dfc70da96b9739
Fix the doc: life() returns the time in seconds, not milliseconds.
Add new method life(TimeUnit) that allows specifying the timeunit to
receive the life value as as seconds might not be enough for
all applications and OpenFlow can provide this value to nanoseconds resolution
(in its spec).
Change-Id: Ia6a7573797249e0edc04e03c7204a550a2823742
- Use execute instead of submit so that uncaught Exception will
be dealt and logged by ExecutorService's handler.
- Use component's own logger
Change-Id: I761264aea00748980929b5048e111756776dd2f6