Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Onos 2.5 #105

Open
wants to merge 235 commits into
base: master
Choose a base branch
from
Open

Onos 2.5 #105

wants to merge 235 commits into from

Conversation

XiaoM1573
Copy link

Do anyone know why indirect meter installed by onos would be invalid after 10-15s?
And i tried to add translator to record the pimeterconfig, but it seems not work.
Could anyone help me?

Here is my code:

public void installEgressPortMeter(PortNumber portNumber, Long rate) {
    PiMeterId egressPortMeterId = PiMeterId.of("egress.port_meters_egress.egress_port_meter");
    PiMeterCellId egressMeterCellId = PiMeterCellId.ofIndirect(egressPortMeterId, 1);
    PiMeterCellConfig meterConfig = PiMeterCellConfig.builder()
            .withMeterCellId(egressMeterCellId)
            .withMeterBand(new PiMeterBand(PiMeterBandType.COMMITTED, rate, rate))
            .withMeterBand(new PiMeterBand(PiMeterBandType.PEAK, rate + 1, rate + 1))
            .build();
    P4RuntimeWriteClient.WriteRequest request = client.write(1, piPipeconf)
            .entity(meterConfig, P4RuntimeWriteClient.UpdateType.MODIFY);
    log.info("write meters for device={} ", deviceId);
    if (!request.pendingUpdates().isEmpty()) {
        boolean result = request.submitSync().isSuccess();
        log.info("response is successful: {}", result);
    }
}

ray-milkey and others added 30 commits December 1, 2020 11:27
Change-Id: I10c2968b88c7d42bcec28c2e74945fc82929a98d
…header to prevent iframe embedding

Change-Id: Ib58e452e291c4df407d30e8b914ab6aa20ae77bc
(cherry picked from commit de3e6f5)
…confSessionMinaImpl

Change-Id: If27435c5ff9e1855696246326243eabe92a20335
(cherry picked from commit fb36217)
For consumption by third-party apps built via mvn

Change-Id: Ic9c1eccb2519b2952cdb632e1f07ccefbba00396
Publish fabric.p4 constants with fabric-api artifact

For consumption by third-party apps who wish to operate directly on
fabric.p4 tables and other entities.

(cherry picked from commit 8f6b5cd)

Backport fabric-tna dbuf support to v1model
(cherry picked from commit 4d1d67f)

Update SPGW p4 namespace to match fabric-tna
(cherry picked from commit 35e4d19)

Change-Id: I3230a508a601180060e1041d4369a54f519658e1
PiTranslators can be used by external apps by adding pom dependency:

        <dependency>
            <groupId>org.onosproject</groupId>
            <artifactId>onos-core-net</artifactId>
            <version>${onos.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.onosproject</groupId>
            <artifactId>onos-core-net</artifactId>
            <version>${onos.version}</version>
            <classifier>tests</classifier>
            <scope>test</scope>
        </dependency>

These deps are used to access the adapters and the impl classes

Change-Id: If526a2600d1b2d6d7db906d61c41b3b0d0e5b951
Core changes supporting fabric traceable implementation.
Includes minor fixes to the OFDPA traceable unit tests

Change-Id: I2f0d1172022a8fc725df9e96526092c59ddc0e0b
AETHER-538 introduces a new design for the egress pipeline
where the tagged ports are explicitily matched in the
egress_vlan table. Moreover, no match means dropped with
this new design.

Change-Id: If6f8c73aad0effd01f18c87c147535378e8db84c
…own along with some fixes for NPE in NetconfControllerImpl

Change-Id: I4ea6100ce4c4e56ff8219cf846f107f49c50cd2d
Change-Id: If53686f2475c4f367909de577b4da95de8e16768
(cherry picked from commit 436c60a)
Change-Id: Iaca2fd0b3bb5fac0ae6ab5f31da23fb0ade1f409
Change-Id: Ib078f67e37365bbd429a9b9f47d4b1ba83a3cdde
Change-Id: Ie71af2f80b12b8ad99c8f597af1c3f026a532c4b
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
This was leading to not proper replication of the state
and some EC maps being empty

Change-Id: Id39660c2ce3b5507e796801c0213c194f0a2009a
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
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
…xtObjective

This patch allows:
- to MODIFY completely the L3 unicast chain
- to MODIFY the L2 configuration of a port

Moreover, it includes support for metadata signaling:
- to not remove the fwd classifier rules during the port
  update scenarios (dynamic config changes)
- add new unit tests for verifying the scenario

Change-Id: I54168653a730573ec0650f25ec670c36282b0419
The 'action' attribute was depricated and finally removed probably at
the Bazel 3.4.0 release.

Change-Id: I2aafae3e780b8e68a3ad9a162d62210743f9f2fd
…ion on OltPipeline.

Signed-off-by: Gustavo Silva <[email protected]>
Change-Id: I1a6f318d71b8c1f59fdf582edacd44e9c46cd061
(cherry picked from commit 2bcc805)
Shared executors are shut down by CoreManager during bundle refresh,
which creates issues in many apps/subsystems. This change fixes only
those issues seen in TOST.

- Fix NPE, by shutting down executors only if initialized
- Fix timer already cancelled by re-creating resources depending
  on terminated executors

Change-Id: I00cfb451c54ada67ab94b09edb486d49a5bd084f
Change-Id: Ie79b61d2ecfc5a52c8b027a5384b86a555623db7
pierventre and others added 18 commits March 3, 2022 01:15
Logs only meaningful mastership changes

Change-Id: Ibbe4f85526df01b3c1b6eab317a2c15716098d80
Currently, we are not able to understand what's exactly went
wrong on the new master and is preventing to activate the
new term. This build improves logging and move to WARN some
useful error prints

Change-Id: Ia00d65dd4fb9ff70d60ccdac3f39882f3c916814
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
This will give us a much cleaner output in CI.

Change-Id: If3182f1baead52673fb137663c95d7ee3d6a8cf5
Also, TC in terminations entities is now required when not dropping.

Change-Id: Ia7e371376ca4f61564ba52a1e8c85a0ff76bb202
If the store is already in sync re-issueing a batch
request is dangerous (race with conflictual writes)
and wrong. In this case, if the device is still reporting
the flow, it is enough to send a flow removal directly.

Instead, if the flow is expired it is important to update
the store accordingly and then issue a flow removal as
consequence of the batch request.

Change-Id: I11a595e0a91f0efdc1cac3bf1d589a5108f1ae06
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
In ONOS, we still use non-canonical byte strings when sending P4Runtime
write requests.

Ref: https://p4.org/p4-spec/p4runtime/v1.3.0/P4Runtime-Spec.html#sec-bytestrings

Change-Id: I27d7977660bea462de82ebe2a4cb5d14500d3b69
Extends the FlowRuleService and its api by adding in-order processing
capabilities. This is achieved by introducing stripe key as way to
indicate how to process the flowrules. Key is an object which is used
to select a specific executor. Operations having the same key is guaranteed
that will be processed by the same executor.

Change-Id: I5ab4d42e8a2b8cb869f3dc2305dbc5084d31f08b
stripeKey now exposes an Optional instead of an Integer

Change-Id: I9a13fcea85ba3e0b52c004ece5a47fc50e99c9d6
@onf-cla-manager
Copy link

onf-cla-manager bot commented Apr 21, 2022

Hi @XiaoM1573, this is the ONF bot 🤖 I'm glad you want to contribute to our projects! However, before accepting your contribution, we need to ask you to sign a Contributor License Agreement (CLA). You can do it online, it will take only a few minutes:

✒️ 👉 https://cla.opennetworking.org

After signing, make sure to add your Github user ID XiaoM1573 to the agreement.

For more information or help:"
https://wiki.opennetworking.org/x/BgCUI

Andrea-Campanella and others added 11 commits April 28, 2022 21:20
…disconnections.

Change-Id: Ie44f2c485446e29ef4c39198e8bfe8461bd13c93
Change-Id: I957754bc3f12d2e8f6d9d5748bb0b8c2b01a924c
Change-Id: Iabd2f0343ca42a1956c1f7c6e471d8e141d29bc7
Change-Id: Ie8664189d236431a5f2ee42476d0f99fdfe5f1d7
This was a quite big jump (3.7.2 -> 6.x.x) and we had
to face the deprecation of several components.

- javabase/host_javabase -> java_language_version and
java_runtime_version

- java_toolchain/host_java_toolchain -> java_language_version
and java_runtime_version

- Turnedoff "ReturnValueIgnored" related to ErrorProne

- Moved to bazelisk v1.11.0

- patched again the grpc code due to the deprecation of host_javabase
as java_toolcahin contains already this information.

- resource_jars are also handled as resources because java constructs
do not accept them anymore.

- Use the OSGIWrapper to fix the path of the resource_hars and untar them.
Additionally clean up the code and enable/disable logging through a param.

- Fix absolute_javabase in the Dockerfile by providing the absolute
path of the local jvm through local_java_repository. The latter is
appended to the WORKSPACE file on demand inside the Dockerfile.

Change-Id: I96e06fe52b3b49a1a34f01443eec583a95347323
Update has been performed only on the scripts and the
executables strictly necessary for the following use cases:

- Build (including Intellij)
- Tests (including Intellij)
- Docker build (including dev and yourkit)
- Upload snapshot (including local)
- Release

Finally, fix the ability to run ONOS using onos-local targets,
stc and docker stc (aka up4 stc env). Last but not least, updated
the azul image to a newer one which exports also the PYTHONENCODING

Change-Id: Ie96f3a9c76dbba83b1fc3896a372f1045d3d7ccc
Fix api docs upload. Upload is done now in the CI
script by using rsync (see ci-management)

Change-Id: I29f435850cb74a72b50288725dd6e9508783dbce
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.