Additionally, fix similar issues in GUI2 and add initial
support for ports with name in GUI/GUI2.
This is also the first step towards supporting port with name widely in ONOS
Change-Id: Ib04f780bf0b7171e82a6beb69b39c0aaeb4be957
(cherry picked from commit 178046ba11ab21d94a1e818fb893931bb015734b)
dp_desc represents the human readable description of a given datapath
and is provided by an OpenFlow switch when it connects to the controller
in the response to the OFPMP_DESC request. ONOS already has access to
this information when the OpenFlowSwitch object is constructed (accessed
via sw.datapathDescription()) but it does not save it or propagate it in
any way. dp_desc, unlike the dp_id which is "random", works like a switch
label. Accessing this information from the controller app layer is
important so that different business logic can be applied according to
the provided "marking". Thus, save the value into the Device Annotations
if available.
Change-Id: Ifaa715a0440e99ce31fdd8d4753c2e892385e33b
Changes in the GDP are done to make sure the default availability is always
updated through the two step process defined in the provider and to prevent
the disconnection of the devices when an instance rejoins the cluster
Finally, the patch improves logging inside the GossipDeviceStore and improve
the stability of PiPipeconfWatchdogManager by getting rid of the timer and
timer task and by executing the event listeners inside an executor.
Change-Id: Ibc6ce711e15e86bde05dbf3b1c37d2a93516fae3
- 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)
- 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
- Introduce a boolean to control the meter service modes
- User defined mode does not provide any coordination to the apps
- Only one mode can be active at time
- In addition some sanity checks are peformed by the meter service
- Update existing unit tests and add new ones to test the new behaviors
- Initial clean up of the meters subsystems
Change-Id: I61500b794f27e94abd11637c84bce0dbb2e073f3
To support truncate by P4Runtime clone/mirror session, we need to pass the
truncate size/length from ONOS northbound to the southbound.
As discussed in the SDFabric syncup, we decide to pass this information via
the instruction in group bucket so applications or pipeliners can simply
reuse current APIs.
Change-Id: I15cc822b7c8008b6b9f8b02f3f399769ae396ef0
(cherry picked from commit 9f94a13bf5695996708eedc17166b5b09308147f)
In FabricUpfProgrammable, make sure to get and remove only flow entries generated
for the specific device ID and by the UpfProgrammable driver behaviour. Otherwise,
we might remove or get entries from different devices or insert by different driver
behaviour.
Also, add a way to check if a flow rule has been created by a UPF programmable behvaiour.
Change-Id: I7a66885154963fdba8e69f10e187560a1662ad33
(cherry picked from commit d5e3fcbf73f53470a8940630243f439edc1fa549)
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
This patch allows for adding key value elements in the meter request and in the meter generated from it.
An example is:
Annotations annotations = DefaultAnnotations.builder().set("MeterForDeviceType", "olt").build();
DefaultMeterRequest.builder().withAnnotations(annotations)
Generates:
DefaultMeter{device=of:00000a0a0a0a0a0b, cellId=2, appId=org.opencord.olt, unit=KB_PER_SEC, isBurst=true, state=ADDED, bands=[DefaultBand{rate=100000, burst-size=5000, type=DROP, drop-precedence=null}, DefaultBand{rate=100000, burst-size=5000, type=DROP, drop-precedence=null}, DefaultBand{rate=100000, burst-size=0, type=DROP, drop-precedence=null}], annotations={MeterForDeviceType=olt}}
Change-Id: Ifaded96ebeb7956bc60cdf311180c984c3ba954e
Some PI elements can encode in their value a string (e.g., when
a P4Runtime translation is used), for this reason we allow users
to specify matches and action parameters as strings.
From southbound, during decode, we interpret the elements as
string if the P4 model suggests that.
Change-Id: I5884de1500437ab647abc200d65de442e23bd1a8
- add "watchSubnets" to the netcfg of INT app
Change-Id: I271d9c27692c8969999ece32f8aa08b4392216e0
(cherry picked from commit 906febe058507758b67f7074bb1139e3c6170b52)
Setting the host "uiType" to 'cellphone' will make the links "wireless"
and appear as dashed lines.
Additionally, a new annotation "connectionType" was added for hosts,
which when set to "wireless" will make links change appearance for any
type of hosts.
Change-Id: Iad87eb5c180b0a9175108c1179d9d28ae906e924
This patch includes:
- New methods in the PortNumber to take into account the port name
- PortCriterion uses the new toString method to avoid mismatch
in the flowId computation
- The original toString() method is left unchanged to avoid
disply issues of the ports with names
Change-Id: I392281b5eee160227886f9738fae97f237b1b04f
New master after taking over a switch was pushing again the pipeline
and all the flows and groups. This was happening because DefaultPiPipeconf
fingerprint was not calculated in a deterministic way across the cluster.
This patch introduces the following changes:
- Implements toString method in each abstraction representing a pipeline
- Hashes the p4Info file to generate a consistent hash of the pipeline model
- Uses a sorted collection to generate a consistent hash of the extensions
Change-Id: I792283b0a9b821284add36b3aba52843f33527c3
Core changes supporting fabric traceable implementation.
Includes minor fixes to the OFDPA traceable unit tests
Change-Id: I2f0d1172022a8fc725df9e96526092c59ddc0e0b
This commit goes into the direction of supporting user-defined types in P4Runtime.
The modification is focusing on supporting fields and params with arbitrary bit width, that is the
case of using a String with the p4runtime_translation annotation on the user-defined type.
Change-Id: I7db7a6d97211378ff78ab4f1b3734a0bec4558e6
The suggested identifier is used on each link, if available.
In case it is not available on one or more links, the identifier is selected with the active policy.
Patch 2: addressed comments by Pier.
Patch 3: addressed comments by Pier.
Tested with VLAN ids and MPLS labels.
Change-Id: Icdf901ef8d0786b2061d6be4db511cb89d26ddfd
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
Include the following changes:
- INT application now can install reuls/configs to the device based on the
Int intent telemetry mode and the functionality supported by device.
- Add "Telemetry Mode" option to INT app GUI
Change-Id: I1a9938b076030497a3b2984abe66fed09c190c7d
- 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
[INT App]
- Load INT report config when activate the app
- Remove config listener and config factory from app when deactivate
- Check INT intent map before remove a INT intent
- Add more check to check the input from frontend UI
- Change log level of UI message handler from info to debug
[GUI1]
- Reformat CSS code
- Remove '$scope.sendIntConfigString' which breaks the UI
- Fix regular expression that matches IP prefix
- Remove "required" attribute from all field
- Add additional check to prevent sending invalid input to backend
- Use 'let' instead of 'var' to limit the scope of variable
- Make INT button aligned with other elements
- Show message if any field is invalid
[GUI2]
- Remove INT collector config panel
- Reformat HTML code
- Fix regular expression which matches the IP prefix
[API]
- Add default value '0' for all fields in INT device config
- Skip checking the metadata types when building the IntObjective since
some pipeline won't need it
Change-Id: I3f37c3fd385bf4df067393717e1afc5fe58cb8b0
Use network config subsystem to handle such configs
Change-Id: I8ec14d31c30e3d1d8cd2c703d8db5535bb8b5cd4
(cherry picked from commit 0f1ffd162f0a8fd2a12ac26f12b54519064c4a3b)
The existing code checks for onos-core-net only due to the bug
In addition, this patch introduces a new REST API to check health of given app.
Active in app status only indicates that the app has been activated.
This new API will look deeper and make sure all OSGi features, bundles and components of given app are all ready.
Change-Id: If91326ba9cffdbe25821eeaaa092ec9d2ab952ea
(cherry picked from commit 5bdaf106e4b30208d6acee6ad5bf1d58c9057d66)