On Wed, Dec 21, 2022 at 3:02 PM Rongwei Liu <rongw...@nvidia.com> wrote: > > HI Jerin: >
Hi Rongwei > BR > Rongwei > > > -----Original Message----- > > From: Jerin Jacob <jerinjac...@gmail.com> > > Sent: Wednesday, December 21, 2022 17:13 > > To: Rongwei Liu <rongw...@nvidia.com> > > Cc: Matan Azrad <ma...@nvidia.com>; Slava Ovsiienko > > <viachesl...@nvidia.com>; Ori Kam <or...@nvidia.com>; NBU-Contact- > > Thomas Monjalon (EXTERNAL) <tho...@monjalon.net>; Ferruh Yigit > > <ferruh.yi...@amd.com>; Andrew Rybchenko > > <andrew.rybche...@oktetlabs.ru>; dev@dpdk.org; Raslan Darawsheh > > <rasl...@nvidia.com> > > Subject: Re: [RFC v3 2/2] ethdev: add API to set process to active or > > standby > > > > External email: Use caution opening links or attachments > > > > > > On Wed, Dec 21, 2022 at 2:31 PM Rongwei Liu <rongw...@nvidia.com> wrote: > > > > > > Users may want to change the DPDK process to different versions > > > > Different version of DPDK? If there is any ABI change how to support this? > > > There is a new member which was introduced into rte_eth_dev_info but it > shouldn’t be ABI breaking since using reserved fields. That is just for rte_eth_dev_info. What about the ABI change in different ethdev structure and rte_flow structures across different DPDK ABI versions. > > > such as hot upgrade. > > > There is a strong requirement to simplify the logic and shorten the > > > traffic downtime as much as possible. > > > > > > This update introduces new rte_eth process role definitions: active or > > > standby. > > > > > > The active role means rules are programmed to HW immediately, and no > > > > Why it has to be specific only to rte_flow rule? If it spedieic to > > rte_flow, why it > > is in rte_eth_process_ name space? > For now, this design focuses on the flow rule offloading and traffic > redirection. > When switching process version, it' important to make sure which application > receives and handles the traffic. Changing the DPDK version runtime is just beyond rte_flow driver. > The changing should be effective across all probing eth devices, that' why it > was put under rte_eth_process_ (for all rte_eth_dev) name space. > > > > Also, if we are moving the standby, What about the rule whose ABI is changed > > between versions? > > Like the comments mentioned: " Before role transition, all the rules set by > the active process should be flushed first. " What happens to rte_flow flow handles for existing ones which is created with version X? Also What if new version Y has ABI change in rte_flow_pattern and rte_flow_action structure? For me, If DPDK version change is needed, simply reload the application. This API will soon bloat, and it will be a mess if to start handling Different DPDK version which is not ABI compatible at all. > > > behavior changed. This is the default state. > > > The standby role means rules are queued in the HW. If no active roles > > > alive or back to active, the rules are effective immediately. > > > > > > Signed-off-by: Rongwei Liu <rongw...@nvidia.com>