Now it uses the model stored in device annotations. Also refactored flow
rule translator classes to reflect this change.
Change-Id: I46541bcc2ab5a267eef4becb6250b9a99684056a
- Implementation of a Behavior OpticalDevice has the knowledge of
translating annotations into optical specific port.
- OpticalDeviceServiceView checks if the Device is a OpticalDevice
and translate all the Ports to optical specific port before returning.
- This commit contains feedbacks, issues, and fixes by Michele Santuari.
- Note: 3 more Port types to go (OduClt, Oms, Otu)
Change-Id: I4cbda8bc1922fbdd4dac8de8d02294bad74b8058
Due to the multi-threaded nature of drivers, calls to a Bmv2ThriftClient
could result in a race condition if not properly synchronized. Also,
once open, transport session might close due to several reasons. Now the
client calls are synchronized and automatically wrapped in a try/catch
that tries to re-open the session for fixed number of times before
giving up.
Change-Id: I5dcdd5a6304406dc6d9d3a0ccf7f16cdbf3b9573
and 1.6 . In ONOS Version 1.5 and 1.6, Instructions.CreateDrop interface
is missed, which cased the pipiline judging condition can not be
matched, and the flowrule of tunnel in can not be applied to device.
Change-Id: Ibe892098b37f7f9f4d3b542ee31b1b6039f8b471
bug fix for host IP and MAC flows not being generated sometimes in multi-controller scenarios
bug fix for filtering objectives not being sent sometimes when ports become available later
npe fixes in ofdpa driver for cases where selectors or treatments may not be available
new cli command to manually trigger routing and rule population
portstats option on cli to display only those ports with non-zero stats
group cli command tab completion displays choices in lower case (similar to flows)
segment routing cli commands now start with sr-
Change-Id: Idcd641882d180acbd304e5560ed3483b5a943f96
Removed old parsing logic. Now it uses Bmv2FlowRuleTranslator to
translate ONOS flow rule into Bmv2 model-dependent table entries.
Change-Id: I1febc23b334acade027e806c8a8c266acc061277
In Bmv2, tables, header fields and actions all depend on the packet
processing model configuration (Bmv2Model) currently deployed on the
device. For this reason, translation is needed from protocol-aware ONOS
FlowRule objects into properly formatted, protocol-independent
Bmv2TableEntry objects. Translation is based on a TranslatorConfig that
provides a mapping between ONOS types and Bmv2 model-dependent types.
Change-Id: I620802c2024b5250867dc6b1b988b739177f582a
translator (ONOS-4044)
- Added new classes for different match parameters (exact, ternary, lpm,
valid)
- Divided api package in two sub-packages, model (previously under
drivers) and runtime (old api package)
- Improved Bmv2ThriftClient caching and table entry handling
Change-Id: I23c174cf3e8f9f6ecddb99c2d09dc531e8f1c73f
Such a model is used to define the way BMv2 should process packets
(i.e. it defines the device ingress/egress pipelines, parser, tables,
actions, etc.) and can be generated (i.e. JSON) by compiling a P4
program using p4c-bm.
Change-Id: Ic08df68bed5a0261cb50b27dc7dbfe9d35e1fb71
- 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
In this submission:
* Setup/teardown multicast route according to SinkAdded/SinkRemoved event
- ingressVlan and egressVlan is configurable through network config
* Change behavior of OFDPA VLAN assignment
- Always use the VLAN in metadata if present
* Bugfix of writing immutable object
NOT in this submission (coming soon):
* Error handling (e.g. link/device failure recovery)
Change-Id: I9be11af04eb2d6456b865c7e59e96cc02370f846
GroupBucketEntryBuilder now shares the same treatment builder as FlowEntryBuilder.
Therefore, we also need to use the extension when building group buckets.
https://gerrit.onosproject.org/#/c/8485/
Change-Id: Ic85dd10d1bfd8c0ca26f5811369f0587dc286761
- Using osgi_jar for all modules except apps
- Adding target for installation of core modules to .m2 repo
Change-Id: I65d9e3a9567918e275191724842d7d9b1f485128