- Each connectivity intent now has only one constructor
- Intent constructors are now private for leaf classes and
protected for classes that can be derived from
- Each intent class has a Builder class that accumulates
parameters for intent creation
- Each intent class has a public static builder() method
to create a builder
- Each Builder class has a build() method to create the
intent from the accumulated parameters
- Added keys to a few intent types that were missing them
- Tightened up usage of checkNotNull(), taking advantage of
the return value to save some lines of code
- Modified callers to use the builders instead of directly
calling the constructors
Change-Id: I713185d5ecbadbf51f87ef7f68fec41102106c78
* Automatically assign the Ethtype based on the IP address version
for the "--ipSrc" and "--ipDst" arguments
* Fix a typo in the --ipSrc and --ipDst description
* Check whether the --ipSrc and --ipDst address versions are same
Change-Id: Iaac98987b070c5fed97a7f6eb4c544f1578effcd
Note: There was a change that adds a DROP action to
a traffic treatment if there are no other actions present.
To get a traffic treatment without the drop rule, use
emptyTreatment()
Change-Id: I1f23ed5e1fa7519eb94fcafa85facbad815d5e9c
* At the CLI level, the Ingress point argument should be specified
before the Egress points arguments.
This follows the natural Ingress/Egress argument ordering for
other intents.
* Added missing optional CLI complementer to shell-config.xml
Change-Id: I49f1ec9706a2f47bbb513d388a26fa5d40cba1bd
NOTE: Those changes are carried from Gerrit 1586.
By default, treatments are all immediate. Treatments will be deferred if the builder
predicated by deferred(). Subsequent treatments will be deferred until immediate is called
on the builder again. Multiple calls to deferred and immediate are permitted.
Change-Id: I76b3a44f2219fc1e72a7fb41b72d7bd602be85b7
Change-Id: Ie0cae42ac2b361cf3b94e5047c157cb0945f4209
Adding origin to IntentData and use it to pick GossipIntentStore peer
Change-Id: I50e9621a69a35ec02b8c8dd79cc926591e5a73e9
Also fixing flowRule table-awareness with changes reflected in flow identification (hashing)
and the karaf CLI.
Change-Id: I2fac83db8e0b54b802fb765ef9d82033f7478b99
This reverts commit ea9ae214f9bca97537378f205910d62b7aa4be47.
The karaf shell explicitly depends on System.{out,err}, so piping to shell commands is broken by this patchset.
Change-Id: Ib7fb6341cfa42418115663413ea406173f5debf4
Note: When running as a service, if a thread that isn't the command thread calls print, it will go to $KARAF/var/System.out
- use Key class rather than String for intent keys
- add CLI option to specify a string key
- add key field to constructors for connectivity intents
- translate id into a key if no key is specified
Change-Id: I69ffbad93bc3daddf06a67cb0cffa2130e781b37
The subsystem no longer returns futures for tracking completion of work.
Notifications are explicitely returned via a call back mechanism. Also, the
subsystem is now asynchronous.
Change-Id: I1a4cef931c24820f9ae9ed9a5398f163f05dfbc9
more flowservice improvements
Change-Id: I5c9c1b6be4b2ebfa523b64f6f52e7634b7d3e05f
more flowservice impl
Change-Id: I05f6774460effb53ced8c36844bcda2f8f6c096f
Manager to store functional (at least i believe it)
Change-Id: I09b04989bd1004c98fe0bafed4c76714b9155d53
flow subsystem functional: need to fix unit tests
Change-Id: I1667f25b91320f625a03e5e1d5e92823184d9de0
flow subsystem functional
Change-Id: I429b3335c16d4fc16f5d55f233dd37c4d1d6111d
finished refactor of flow subsystem
Change-Id: I1899abc6ff6a974a2018d936cc555049c70a6804
fix for null flow provider to use new api
Change-Id: If2fd9bd5baf74d9c61c5c8085cef8bc2d204cbdc