4781 Commits

Author SHA1 Message Date
Jian Li
654204c089 Support GENEVE tunnel type in OVSDB southbound
Change-Id: I9b93c14d93645ac40525c23bff368e0f81a8189d
2018-12-17 08:27:36 +00:00
Thomas Vachuska
bd8ddfe228 Refactoring audit subsystem to clean-up and eliminate back-dependency from core to CLI; still needs additional work.
Change-Id: I93c04c94f27b7b89c582b359eebe125458a573a7
2018-12-14 14:47:17 -08:00
Ray Milkey
fa066ed2b0 Revert "Adding support for TLS connections for gRPC clients"
This reverts commit 47a3aa697049bf53e8dd4cb76cf9ca262762a175.

Change-Id: I457594c3f423f276b9c49dbbaf068284a36ba9f1
2018-12-14 22:39:18 +00:00
Brian O'Connor
47a3aa6970 Adding support for TLS connections for gRPC clients
This patch uses BoringSSL to negotiate TLS sessions under the hood.

Change-Id: I45b6871eb341bd67a230035a930f6a016d105e97
2018-12-14 03:41:04 +00:00
Thomas Vachuska
b73ca6d3c8 Fixing a potential start-up issue in PacketManager if device driver cannot be found.
Change-Id: Id76ed27b00c59d4d1d4afc13b999ec306c7056ce
2018-12-13 10:08:00 -08:00
Carmelo Cascone
776be389d1 Rejuvenate (to some extent) the basic pipeconf
- Use auto-generated BasicConstants
- Implement own pipeliner that maps to table0 (will remove soon
interpreter mapping for index table IDs)

Change-Id: I19fd2091605edc0efbe62134e1ad8e3336089cde
2018-12-12 22:19:38 -08:00
Jordan Halterman
86741ece04 Ensure master is excluded from backups list when reading role info from mastership service
Change-Id: Iaa100b8b40614f2f83a05ea32a43f0efde6aad4a
2018-12-12 00:16:07 +00:00
Carmelo Cascone
af3a098b0c Sometimes we need to create multicast groups without replicas
Change-Id: I29dd07115efece0cc2d7d998317cfc3bfd7a1569
(cherry picked from commit 00552ba153a61e2d904e6fcf36d25330630bb8e1)
2018-12-11 14:48:06 -08:00
Carmelo Cascone
630966f841 Fixed new NextTreatment classes not registered in Kryo
Change-Id: I8f3e791fa2317e0ad849aecea5cee1b75d9a16f5
(cherry picked from commit 83df00211edb9cc573f5b126a72023d542956e1a)
2018-12-11 14:48:06 -08:00
Carmelo Cascone
b5324e7168 Improve fabric.p4 to reduce pipeline resources and refactor pipeconf impl
This patch affects both the P4 pipeline implementation and the
Java pipeconf.

P4 PIPELINE
- Less tables and smarter use of metadata to reduce inter-tables
dependencies and favor parallel execution of tables.
- Removed unused actions / renamed existing ones to make forwarding
behavior clearer (e.g. ingress_port_vlan table)
- Remove co-existence of simple and hansed table. Hashed should be the
default one, but implementations that do not support action profiles
might compile fabric.p4 to use the simple one.
- Use @name annotations for match fields to make control plane
independent of table implementation.
- Use @hidden to avoid showing actions and table on the p4info that
cannot be controlled at runtime.
- First attempt to support double VLAN cross-connect (xconnect table).
- New design has been tested with "fabric-refactoring" branch of
fabric-p4test:
github.com/opennetworkinglab/fabric-p4test/tree/fabric-refactoring

JAVA PIPECONF
This patch brings a major refactoring that reflects the experience
gathered in the past months of working on fabric.p4 and reasoning on its
pipeconf implementation. Indeed, the FlowObjective API is
under-specified and sometimes ambiguous which makes the process of
creating and maintaining a pipeliner implementation tedious. This
refactoring brings a simplified implementation by removing unused/
unnecessary functionalities and by recognizing commonality when possible
(e.g. by means of abstract and utility classes). It also makes design
patterns more explicit and consistent. Overall, the goal is to reduce
technical debt and to make it easier to support new features as we
evolve fabric.p4

Changes include:
- Changes in pipeliner/interpreter to reflect new pipeline design.
- By default translate objective treatment to PiAction. This favors
debuggability of flow rules in ONOS.
- Support new NextObjective’s NextTreatment class.
- Remove lots of unused/unnecessary code (e.g. async callback handling
for pending objective install status in pipeliner as current
implementation was always returning success)
- Gather commonality in abstract classes and simplify implementation
for objective translator (filtering, forwarding, next)
- New implementation of ForwardingFunctionTypes (FFT) that looks at
criterion instance values along with their types (to avoid relying on
case-specific if-else conditions to recognize variants of an FFT)
- Adaptive translation of NextObjective based on presence of simple or
hashed table.
- Support DENY FilteringObjective

Also:
- Fix onos-p4-gen-constants to avoid generating conflicting
PiMatchFieldId variable names.
- Install Graphviz tools in p4vm to generate p4c graphs
- Generate p4c graphs by default when compiling fabric.p4
- Use more compact Hex string when printing PI values

Change-Id: Ife79e44054dc5bc48833f95d0551a7370150eac5
2018-12-11 14:48:06 -08:00
Charles Chan
b87d9f17b2 Allow NextObjective to refer to another NextObjective by NextId
Change-Id: I4bc5381be8241ddd765668275f02f795ba06a632
(cherry picked from commit 7fbd2b167ac2a8981255dc17aa53b2ba93073018)
(cherry picked from commit f261d5cbaf8e936b5e3b2f0c55d8e9e698922d2d)
2018-12-11 22:30:00 +00:00
Ray Milkey
2cd3736f7b Add log message to display the JVM version
Change-Id: I94bde3d825df80761a250364b5c7fc2e565a142f
2018-12-10 17:23:40 +00:00
Ray Milkey
2921abc388 In Karaf 4.2, dynamic service injections must be declared as volatile
Change-Id: I4eb90b7364b7bc436280e4f0f2c71c3e83d86554
2018-12-10 17:23:28 +00:00
arjunek1992
f6353d4fc8 ONOS audit REST API support
Change-Id: Ic2910785f1f16fe5e36b33c1a73f44539cd8fbea
2018-12-07 21:13:07 +00:00
alessio
3039bdbb06 [ONOS-7839] suggestedPath for optical connectivity intent with optical-rest support
Change-Id: I2b5093ac26149e450a14467c71656447233b5ce2
2018-12-06 21:37:20 +00:00
Ray Milkey
718e43826e Sonar suggestions - don't reuse formal parameter, guard agains NPE
Change-Id: I5bbdb950e6f1bec40d466344f45bcaf2d0d44135
2018-12-05 09:08:01 -08:00
Rafał Szalecki
de5cf84e30 [ONOS-7842] Implement host annotation using netcfg
Change-Id: I2c5c516d642b34f11cae994b3fea31ebd7d76219
2018-12-04 17:56:16 +00:00
ONOS Jenkins User
395c51f1d3 Starting snapshot 2.0.0-SNAPSHOT 2018-11-29 18:45:15 +00:00
ONOS Jenkins User
be47795516 Tagging 2.0.0-b1 2018-11-29 18:45:10 +00:00
Jordan Halterman
2b3ed3e376 Upgrade to Atomix 3.1.0-beta3
Change-Id: Ic55798690b89db8b9e866d7ecae47d746d0e89c2
2018-11-28 18:49:08 +00:00
Ray Milkey
89bbf815f5 Clean up left over commented out code from the Karaf 4.X port
Change-Id: Iaa7231c2acb33c229e698776f10476fefd0f0732
2018-11-27 20:57:43 +00:00
Ray Milkey
9ff95fdac4 Enable unregisterProperties() method that had been disabled during the karaf 4.0 work
Change-Id: Ifdf11bc882b6ae8d83b68db0005a3244f03d4663
2018-11-27 00:14:59 +00:00
Ray Milkey
cd3f3dcd22 suppress warning stack trace when an intent fails to compile
Change-Id: I04f7c66fb4c24f7db47ba89344bffeaa291f2392
2018-11-19 16:52:15 +00:00
Jordan Halterman
28b21d1e13 Upgrade to Atomix 3.1
Change-Id: I2039286b49dafacc786e9ba66db74ef8619ed151
2018-11-14 18:47:00 +00:00
Thomas Vachuska
52f2cd1520 Detangling incubator: virtual nets, tunnels, resource labels, oh my
- virtual networking moved to /apps/virtual; with CLI & REST API
- tunnels and labels moved to /apps/tunnel; with CLI & REST API; UI disabled for now
- protobuf/models moved to /core/protobuf/models
- defunct grpc/rpc registry stuff left under /graveyard
- compile dependencies on /incubator moved to respective modules for compilation
- run-time dependencies will need to be re-tested for dependent apps

- /graveyard will be removed in not-too-distant future

Change-Id: I0a0b995c635487edcf95a352f50dd162186b0b39
2018-11-13 22:14:50 +00:00
Ray Milkey
d175194107 Fix for ONOS-7840 - Flows stuck in PENDING_ADD state
Revert change to how app IDs are handled in the packet manager.
The change cause the HostLocationManager and the NeighbourResolutionManager
to fight over ARP packets

Change-Id: Ie7a276775d86c95a3f8be94ce5857e3d0058bb49
2018-11-13 22:03:24 +00:00
Ray Milkey
123f0e08ad Merge branch 'master' into dev-karaf-4.2.1
Change-Id: If6c7d5f1dc6434ac8ea2fd9716b8ebeee38daa50
2018-11-08 14:18:52 -08:00
Daniele Moro
3a6e1517e1 Added suggest path to PointToPointIntent
Change-Id: Ie8ae3af6bd97af3628334d37482e63196d15b094
2018-11-08 11:12:50 -08:00
DongRyeol Cha
ce65cc0055 Make a link depends on packet-in LLDP packet.
The ONOS does not process the incoming LLDP packet from switches.
The ONOS only process LLDP packets if LLDP packet has "ONOS Discovery" optional TLV.

So, this changes process incoming LLDP packet from switch and make a link information and onos can utilize it.

Also, this patch changes the requested appId of DefaultForwardingObjective generated by PacketManager.
So, AppId in result of flows cli will be printed to actual requested appId.

ONOS-7748

Change-Id: I2611b34655bec2369b8817ce0cd29fb2edbed845
2018-11-08 18:36:54 +00:00
Charles Chan
5cf77f54e3 Do not invalidate the cache again if the dequeue is triggered by the cache timeout
Change-Id: Ie5a043f39a673004d5b29021a854fb4eeef0075a
2018-11-08 17:10:24 +00:00
Ray Milkey
a349da9d6b Merge branch 'master' into dev-karaf-4.2.1
Change-Id: I3c87139d15508e16a15df62fe73590b2a2ef7a04
2018-11-07 16:20:46 -08:00
Alan Lo
5e2b705713 Update spectrum pipeline config
Change-Id: I6d663e1a2851d812ab64cf6cb268c20914520570
2018-11-06 23:47:09 +00:00
Ray Milkey
e52652ced3 Merge branch 'master' into dev-karaf-4.2.1
Change-Id: I059c6a95489ff5cdc51dd7e98ba44a8415238bc2
2018-11-02 17:12:33 -07:00
Charles Chan
c88ebaa1e4 Save developers from wasting hours on wrong bucket type
Enforce bucket type to be consistent with group type
Update unit tests accordingly

Change-Id: Ia5f56ca4b5445268ebee09e321c34ed3f3f39827
(cherry picked from commit 5c00be8b143eb73d42b98820641da5c20e458579)
2018-11-02 23:24:02 +00:00
Jordan Halterman
dfc4855437 Update components monitor to check enabled component states
Change-Id: I1485df83fa793fcfc48adc3b8fe4c51b5dacb64c
2018-11-02 11:08:30 -07:00
Thomas Vachuska
e17756d128 Changing version from 1.15.0-SNAPSHOT to 2.0.0-SNAPSHOT.
Change-Id: I61a586cfc769275db78f4059a630ab0e0f87c6e7
2018-11-01 00:04:30 +00:00
Thomas Vachuska
f566fa2503 Removing commented out @Property annotations from the core.
Change-Id: I336f6a21db531187b8e2fcfb51e7da315c615771
2018-10-30 23:43:48 +00:00
Thomas Vachuska
1bb2a285a8 Fixing issue with superfluous exception when installing apps.
Change-Id: Ic802227afc0218ed1999a1509ea0aee62e1d52a3
2018-10-30 20:10:50 +00:00
Ray Milkey
a218d43062 Merge branch 'master' into merge
Change-Id: Id77bb2de77dd288404c83e331b076aaf9aafacc5
2018-10-30 12:44:55 -07:00
wu
66460c9cb6 The tableAction should be checked if it is null.
Change-Id: Id88a40f21754362dd28529264a0fdf3671c364d4
2018-10-30 02:22:03 +00:00
hjtsao
1e8a1bd5ce [ONOS-7818] Implement a device behaviour to get table statistics. Make FlowRuleDriverProvider periodically call FlowRuleProviderService.pushTableStatistics().
Change-Id: Ife2b67b8c6c3582281704afe6f9a90538afbc798
2018-10-26 22:47:29 +00:00
Tian Jian
b7a595855c Make the code more explicit.
Change-Id: I2933d437f974e3329fb9484035c8a1753063c1a2
2018-10-26 18:45:14 +00:00
Ray Milkey
956bb1691a Merge remote-tracking branch 'origin/master' into dev-karaf-4.2.1
Change-Id: If611105632e508cb17352c6f5b1cbcfd85f716d1
2018-10-26 10:53:44 -07:00
hjtsao
1a4333c51c Enhance CLI command 'tablestats' to support P4 switch
Change-Id: Icb7bae93840bac1ad8d49240f61a4f5bf08dac4c
2018-10-26 17:26:35 +00:00
steven30801
7632e150e1 [ONOS-7596] Support reading table entries with counter data in P4Runtime
Change-Id: I85bacb1697a6c881dd69ba74a2162c73ec0b8aee
2018-10-26 17:25:13 +00:00
Thomas Vachuska
22ea6126e4 Removing BUCK files and other Buck-related auxiliaries.
Change-Id: I23691380efcd9bce4906695605214ed59ada0e87
2018-10-24 20:02:31 +00:00
ghj0504520
ec1a420030 ONOS-7810 calculate cookie field when pipeconf registered
Change-Id: Iea29fc447b34c49d4e8fcc831812385459c1ccbb
2018-10-24 19:59:22 +00:00
Ray Milkey
d542568b21 Merge branch 'master' into dev-karaf-4.2.1
Change-Id: Iec1b8947c898b0bf10db8caece0c3a064d1c63ae
2018-10-23 10:50:43 -07:00
Tian Jian
855b108bcc [tiny-fix] Missing deviceId for log.
Change-Id: I1855510df180b098023ef9d073c5baab7d2464a7
2018-10-23 17:20:06 +00:00
Tian Jian
9cb2e9e93d [tiny-fix] Wrong location of deviceId in the log.
Change-Id: Ib74ba2f152cc7554f930b49289e3697ac1d3f23f
2018-10-23 13:45:10 +00:00