mirror of
https://github.com/opennetworkinglab/onos.git
synced 2025-10-15 09:21:06 +02:00
Refactoring aims at providing a more robust connection procedure of P4Runtime-based devices. Refactoring requires devices to be registered to the core with available=false (i.e. offline), and marked online only when the P4 pipeline has been deployed to the device. Also, it leaves the duty of handling pipeconf-specific drivers to the driver subsystem, instead of having the GeneralDeviceProvider take care of it, which resulted to be brittle. Changes include: - Choose not to mark device online when re-asserting mastership role by declaring special device annotation. - Lookup drivers in device projectable model unsing driver service device-based method, which is consistent with the way other subsystems look for device drivers. - In DriverManager, when looking for device drivers, consider the case of pipeconf-programmable devices, in which case a special "merged" driver needs to instantiated at runtime. - In PacketManager, push flow objectives only if device is available (i.e. after pipeline has been deployed). Change-Id: I80f78a4f40730a06cb82fa55fefab08a91a89268