On Wed, Jan 18, 2023 at 9:15 PM Rongwei Liu <rongw...@nvidia.com> wrote: > > When a DPDK application must be upgraded, > the traffic downtime should be shortened as much as possible. > During the migration time, the old application may stay alive > while the new application is starting and being configured. > > In order to optimize the switch to the new application, > the old application may need to be aware of the presence > of the new application being prepared. > This is achieved with a new API allowing the user to change the > new application state to standby and active later. > > The added function is trying to apply the new state to all probed > ethdev ports. To make this API simple and easy to use, > the same flags have to be accepted by all devices. > > This is the scenario of operations in the old and new applications: > . device: already configured by the old application > . new: start as active > . new: probe the same device
How to probe same device if is already bind to another application? vfio-pci wont allow this. Good to see any implementation and example application to exercise this APIs > . new: set as standby > . new: configure the device > . device: has configurations from old and new applications > . old: clear its device configuration > . device: has only 1 configuration from new application > . new: set as active > . device: downtime for connecting all to the new application > . old: shutdown > > The active role means network handling configurations are programmed > to the HW immediately, and no behavior changed. This is the default state. > The standby role means configurations are queued in the HW. > If there is no application with active role, > any configuration is effective immediately. > > Signed-off-by: Rongwei Liu <rongw...@nvidia.com>