On Thu, Oct 25, 2018 at 01:32:23PM -0700, Slava Ovsiienko wrote: > > -----Original Message----- > > From: Yongseok Koh > > Sent: Thursday, October 25, 2018 3:37 > > To: Slava Ovsiienko <viachesl...@mellanox.com> > > Cc: Shahaf Shuler <shah...@mellanox.com>; dev@dpdk.org > > Subject: Re: [PATCH v2 7/7] net/mlx5: e-switch VXLAN rule cleanup routines > > > > On Mon, Oct 15, 2018 at 02:13:35PM +0000, Viacheslav Ovsiienko wrote: > > > The last part of patchset contains the rule cleanup routines. > > > These ones is the part of outer interface initialization at the moment > > > of VXLAN VTEP attaching. These routines query the list of attached > > > VXLAN devices, the list of local IP addresses with peer and link scope > > > attribute and the list of permanent neigh rules, then all found > > > abovementioned items on the specified outer device are flushed. > > > > > > Suggested-by: Adrien Mazarguil <adrien.mazarg...@6wind.com> > > > Signed-off-by: Viacheslav Ovsiienko <viachesl...@mellanox.com> > > > --- [...] > > > -4100,12 +4596,9 @@ static LIST_HEAD(, mlx5_flow_tcf_vtep) > > > uint16_t pcnt; > > > > > > /* Not found, we should create the new attached VTEP. */ > > > -/* > > > - * TODO: not implemented yet > > > - * flow_tcf_encap_iface_cleanup(tcf, ifouter); > > > - * flow_tcf_encap_local_cleanup(tcf, ifouter); > > > - * flow_tcf_encap_neigh_cleanup(tcf, ifouter); > > > - */ > > > + flow_tcf_encap_iface_cleanup(tcf, ifouter); > > > + flow_tcf_encap_local_cleanup(tcf, ifouter); > > > + flow_tcf_encap_neigh_cleanup(tcf, ifouter); > > > > I have a fundamental questioin. Why are these cleanups needed? If I read the > > code correctly, it looks like cleaning up vtep, ip assginment and neigh > > entry > > which are not created/set by PMD. The reason why we have to clean up > > things is that PMD exclusively owns the interface (ifouter). Is my > > understanding correct? > > Because this is the most simple approach. I have no guess how > to co-exist with unknown pre-created rules and how to get into account > all their properties and side effects. > > While debugging I see the situations when application crashes and > leaves a "leftovers" as VXLAN devices, neigh and local rules. If we run > application again - > these leftovers were the sources of errors (EEXIST on rule creations and so > on).
Okay, makes sense. Thanks for clarification. Yongseok