There is no valid reason to have it in the p4rtmeterprogrammable:
- some devices cannot guarantee r/w symmetry
- meters can be only modified
- removal is a modify with default values
Change-Id: I6d859f2d65195f3e7068390fee5e3a943972cac5
There is no need to further process meters default
config in ONOS, there will not be any trace in the
ONOS stores. Filtering out in advance allows to save
memory and time.
Change-Id: I57f598aba3f2ba32923e8170f6c47f9efe27edd4
p4runtime probe reachability is based on GetPipelineConfig gRPC that
can timeout if we are setting in parallel the pipeline: the two requests
concur for the same lock. For our purposes it is enough to check if the
device is still there; for this reason stratum handshaker now relies
on gNOI reachability which is based on getTime RPC.
Additionally increase short timeouts: we have consistenly measured a
time of 14s to push the pipeline on the new QS devices.
Change-Id: I8837540241d8a68f648e47ae165ea53a2d0a865c
Leverage the dep already in place between gnmi driver and gnmi protocol
and expose readPortId as cfg property of GnmiControllerImpl
Change-Id: I34defd8928589129dc84cae45033f7f7c3c673bb
The id is available through /interfaces/interface[name=*]/state/id,
if the device does not support `id` leaf uses as fall back ifindex
Change-Id: I22ff5e1df11485ba277644778f4309b1bd407849
ifacename is used as key when changing the admin state of
a port through GNMI. This patch guarantees that we use the
state contained in the device store to fill the gnmi blob.
This results to be necessary because the requests coming
from the north may be incomplete (without port name).
When this happens, PortNumber class fills the name with
the number which is wrong for the GNMI devices
Change-Id: I308538ae30cfe3fbf62d42c9a059114e8ff5b4b3
- fixed long standing bug in DeviceDescription behaviour
- added a form of LinkDiscovery behaviour
- added PortAdmin and InternalConnectivity behaviours
- added a CLI command 'get-output-ports' to exploit the InternalConnectivity behaviour
- overloaded the loadXml method in drivers/utilities/XmlConfigParser class to allow suppression of comma delimitation within
XML tags
Change-Id: I042e5559cf358d969686a63da99e91371a085d83
- Code clean up (unused code, unuseful comments)
- Remove deprecated internal APIs
- Prevent the ejection of the meter pollers
- Prevent the ejection of the mf pollers
- Fix unproper filter of device events
- Fix delete on store which updated existing meters with dummy value
- Fix NPE in TofinoMeterProgrammable caused by default config
- Update unit tests
Change-Id: Ib2767e3ab3cf146693e61b7e1890419c9743d521
(cherry picked from commit a770879a950d1cc985db1a659da701551700e886)
This is achieved by implementing device specific methods to verify if
ONOS store meters and values read from the devices are similar
Change-Id: I95b6a2c728536f08b47ce9d0d30d1b8888a353d7
- Improve ONOS cli enabling CRUD of p4rt trtcm
- Improve ONOS rest enabling CRUD of p4rt trtcm
- Improve MeterService with scope defined reads and integrate in cli/rest
- Add support along the stack for BYTE_PER_SEC unit
- Add support along the stack for COMMITTED and PEAK bands
- Fix several bugs in ONOS cli/rest interfaces
- Improve REST codecs
- Fix NPE in MeterDriverProvider
- Improve PiMeterTransalation by enforcing trtcm config
- Implement explicit translation of the bands
- Fix ONOS reconciliation by removing from the mirror the wrong configs
- Remove unnecessary checks in MeterEntryCodec
- Update unit tests
It will follow a 2nd patch to complete SDFAB-527
Change-Id: I855235b17f60cb1d39f5b9a042c1015105a8a269
This is achieved by translating SIMPLE next objective into
INDIRECT groups. By default SELECT groups are always used
which has as side effect the creation of action profile groups
with the maxGroupSize derived from the action profile model.
Instead, PiGroupTranslator sets always to 1 the maxGroupSize
of action profile groups derived from a INDIRECT groups which
allows us to achieve a better scale for target devices pre-allocating
memory according to the maxGroupSize.
Change-Id: I7079a99ca9a7474eafae7f258da06770453b05f9
A P4 table annotated with @oneshot annotation can be programmed
only with the action profile action set. For these kind of tables
we don't issue read request for action profile groups and members.
Change-Id: I7b6a743f4f4df4190f17d958ebb4807aca5feda5
- Add parsing in OpenConfigGnmiDeviceDescriptionDiscovery and
defaults to 0 for the devices not providing last-change
- Remove hack in OpenConfigGnmiPortStatisticsDiscovery and set
the duration to 0 for the devices that do not support last-change
- Subscribe to the state changes of a given port and add parsing of
last-change timestamp in GnmiDeviceStateSubscribe
Note that if the device does not aggregate updates into a single notification
two PORT_UPDATED events will be generated. The first as consequence of the
operational status change and the second caused by the reconciliation which
updates correctly last-change
Change-Id: I6b2cb3652b306358bd9e701780946864a1ed324b
A default entry according to the P4RT spec should be reset to its original value
and not removed. The client can send a specially crafted write request with action field
unset to reset default actions to the original value
Change-Id: I451a3be395b212e14ae8eaf060cc048500705091
This is required for targets that are not P4RT-compliant
and do not support table-specific wildcard reads.
The all tables wildcard read are activated via
tableWildcardReads driver property.
Change-Id: I675e6f876648ad7634ea0a13ecf44aa366739d3f
Default and Table mirrors were using the same name for their internal EC map.
This was leading to empty EC maps in the standby nodes.
Change-Id: I575dfbf5ba5339f8c94c4e5ed218887a11f14d36
Core changes supporting fabric traceable implementation.
Includes minor fixes to the OFDPA traceable unit tests
Change-Id: I2f0d1172022a8fc725df9e96526092c59ddc0e0b
- Introduces a new driver for stratum-odtn devices
- The new driver depends on stratum and not viceversa
- Removes the odtn dep from stratum
- Updates stratum and tost bazel profiles
Change-Id: I7118c54c865305a7ace28b7316e3731833ddf7b4
ONOS is unable to load ODTN service, some Ciena drivers and OpenROADM
due to the recent pruning commits which removed some deprecated/defunct code.
Change-Id: I09d3981a4439021c3559250ad240bdf1764f008d
This would be used mostly for optical devices which typically have many connectivity constraints.
The patch also includes a CLI command to using driver behavior and an empty driver implementation.
patch 1: first draft: behaviour, CLI, empty driver, xml.
patch 2,3,4,6: checkstyle.
patch 5: comments by Andrea.
Change-Id: Ia1573a9f14b49c39c96fa3351ccc37988f1526ec
- Exposes some ofdpa specific tables and types
- Introduces a new driver behavior PipelineTraceable
- OfdpaPipelineTraceable is the first implementation of the
new driver behavior
- New abstractions are introduced to encapsulate the input/output
of the traceables processing
- Implements some basic unit tests for Ofdpa implementation
Change-Id: I89d3fdeda445983ec7ebfa9ebb78afb1c6d3fd8f
- Inserting VLAN and PCP in the treatment of the IGMP trap flow. Uniforming it to VOD flow.
- Removing VLAN match and insertinbg VLAN push for EAPOL.
- Removing VLAN match if not required, pushing it or swapping it and setting the PCP in DHCP.
Change-Id: I40a6a75f81c582735f54186e165fab7c2d21b355
(cherry picked from commit a93905c0c4e866441fe15c0fff93c774c3e35166)
This reverts commit 992bf52f25d491afec8d8e54efb5c3a8125b77bb.
Reason for revert: Broke the master build.
Change-Id: If47508a8cff95bd6e9c57f7234baa517879a54cf
Also:
* REST attributes according to Contansts
* Additional action per rule
* Alphabetical order of static variables
Change-Id: I887ad2fe828ded217b707e9f914e1624232c4979
Signed-off-by: Georgios Katsikas <katsikas.gp@gmail.com>
* Additional behaviours implemented
* BasicSystemOperations
* DeviceHandshaker
* InterfaceConfig
* PortAdmin
* QueueConfig
* TableStatisticsDiscovery
* DeviceSystemStatisticsQuery
* New device abstractions on CPU cache and main memory
* Additional statistics (main memory)
* New UI with Memory statistics (based on the old gui)
* Constants decoupled from implementations
* More builders used for interface implementations
* Style fixes and refactoring
Change-Id: Ie54ed0fb4760456cfd6339c74b36486dd3c20f87
Signed-off-by: Georgios Katsikas <katsikas.gp@gmail.com>