mirror of
https://github.com/opennetworkinglab/onos.git
synced 2025-10-23 13:21:21 +02:00
This patch is an attempt to solve issues observed when restarting both switches and ONOS nodes. Most of the issues seemed to depend on a brittle mastership handling when deploying the pipeline. With this patch, GDP registers devices to the core with available=false (i.e. offline) and marks them online only when the P4 pipeline has been deployed to the device. A new PiPipeconfWatchdogService takes care of deploying pipelines and producing event when devices are ready. Moreover, we fix a race condition where pipeconf-related behaviors were not found. This was caused by GDP enforcing the merged driver name in the network config, while external entities (e.g. Mininet) were pushing a JSON blob with the base driver name. This patch removes the need to rely on such a trick and instead uses pipeconf-aware logic directly in the driver manager (change #19622). Finally, we fix issues in P4RuntimeClientImpl that were causing the stream channel not detecting unreachable devices. The solution is to follow gRPC APIs and re-instantiate a new channel once the first fails. Change-Id: I6fbc91859c0fb58a6db3bc197b7081a8fe9f97f7
29 lines
851 B
Python
29 lines
851 B
Python
# Buck build of P4-related modules is no longer supported, please use Bazel
|
|
# GRPC_VER = '1.3.1'
|
|
# PROTOBUF_VER = '3.2.0'
|
|
#
|
|
# COMPILE_DEPS = [
|
|
# '//lib:CORE_DEPS',
|
|
# '//lib:KRYO',
|
|
# '//protocols/grpc/api:onos-protocols-grpc-api',
|
|
# '//protocols/p4runtime/api:onos-protocols-p4runtime-api',
|
|
# '//protocols/p4runtime/proto:onos-protocols-p4runtime-proto',
|
|
# '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
|
|
# '//lib:grpc-stub-' + GRPC_VER,
|
|
# '//lib:grpc-netty-' + GRPC_VER,
|
|
# '//lib:protobuf-java-' + PROTOBUF_VER,
|
|
# '//core/store/serializers:onos-core-serializers',
|
|
# ]
|
|
#
|
|
# TEST_DEPS = [
|
|
# '//lib:TEST',
|
|
# '//lib:GRPC_TEST_1.3',
|
|
# '//lib:minimal-json',
|
|
# '//lib:grpc-protobuf-lite-' + GRPC_VER,
|
|
# ]
|
|
#
|
|
# osgi_jar_with_tests(
|
|
# deps = COMPILE_DEPS,
|
|
# test_deps = TEST_DEPS,
|
|
# )
|