Samudrala, Sridhar
2018-May-22 15:28 UTC
[PATCH net-next v11 2/5] netvsc: refactor notifier/event handling code to use the failover framework
On 5/22/2018 2:08 AM, Jiri Pirko wrote:> Tue, May 22, 2018 at 11:06:37AM CEST, jiri at resnulli.us wrote: >> Tue, May 22, 2018 at 04:06:18AM CEST, sridhar.samudrala at intel.com wrote: >>> Use the registration/notification framework supported by the generic >>> failover infrastructure. >>> >>> Signed-off-by: Sridhar Samudrala <sridhar.samudrala at intel.com> >> In previous patchset versions, the common code did >> netdev_rx_handler_register() and netdev_upper_dev_link() etc >> (netvsc_vf_join()). Now, this is still done in netvsc. Why? >> >> This should be part of the common "failover" code.Based on Stephen's feedback on earlier patches, i tried to minimize the changes to netvsc and only commonize the notifier and the main event handler routine. Another complication is that netvsc does part of registration in a delayed workqueue. It should be possible to move some of the code from net_failover.c to generic failover.c in future if Stephen is ok with it.>> > Also note that in the current patchset you use IFF_FAILOVER flag for > master, yet for the slave you use IFF_SLAVE. That is wrong. > IFF_FAILOVER_SLAVE should be used.Not sure which code you are referring to.? I only set IFF_FAILOVER_SLAVE in patch 3.
Jiri Pirko
2018-May-22 15:36 UTC
Shepherd request (P83): Multipath TCP: Present Use Cases and an Upstream Future
Tue, May 22, 2018 at 05:28:42PM CEST, sridhar.samudrala at intel.com wrote:> >On 5/22/2018 2:08 AM, Jiri Pirko wrote: >> Tue, May 22, 2018 at 11:06:37AM CEST, jiri at resnulli.us wrote: >> > Tue, May 22, 2018 at 04:06:18AM CEST, sridhar.samudrala at intel.com wrote: >> > > Use the registration/notification framework supported by the generic >> > > failover infrastructure. >> > > >> > > Signed-off-by: Sridhar Samudrala <sridhar.samudrala at intel.com> >> > In previous patchset versions, the common code did >> > netdev_rx_handler_register() and netdev_upper_dev_link() etc >> > (netvsc_vf_join()). Now, this is still done in netvsc. Why? >> > >> > This should be part of the common "failover" code. > >Based on Stephen's feedback on earlier patches, i tried to minimize the changes to >netvsc and only commonize the notifier and the main event handler routine. >Another complication is that netvsc does part of registration in a delayed workqueue.:( This kind of degrades the whole efford of having single solution in "failover" module. I think that common parts, as netdev_rx_handler_register() and others certainly is should be inside the common module. This is not a good time to minimize changes. Let's do the thing properly and fix the netvsc mess now.> >It should be possible to move some of the code from net_failover.c to generic >failover.c in future if Stephen is ok with it. > > >> > >> Also note that in the current patchset you use IFF_FAILOVER flag for >> master, yet for the slave you use IFF_SLAVE. That is wrong. >> IFF_FAILOVER_SLAVE should be used. > >Not sure which code you are referring to.? I only set IFF_FAILOVER_SLAVE >in patch 3.The existing netvsc driver.
Michael S. Tsirkin
2018-May-22 15:46 UTC
Shepherd request (P83): Multipath TCP: Present Use Cases and an Upstream Future
On Tue, May 22, 2018 at 05:36:14PM +0200, Jiri Pirko wrote:> Tue, May 22, 2018 at 05:28:42PM CEST, sridhar.samudrala at intel.com wrote: > > > >On 5/22/2018 2:08 AM, Jiri Pirko wrote: > >> Tue, May 22, 2018 at 11:06:37AM CEST, jiri at resnulli.us wrote: > >> > Tue, May 22, 2018 at 04:06:18AM CEST, sridhar.samudrala at intel.com wrote: > >> > > Use the registration/notification framework supported by the generic > >> > > failover infrastructure. > >> > > > >> > > Signed-off-by: Sridhar Samudrala <sridhar.samudrala at intel.com> > >> > In previous patchset versions, the common code did > >> > netdev_rx_handler_register() and netdev_upper_dev_link() etc > >> > (netvsc_vf_join()). Now, this is still done in netvsc. Why? > >> > > >> > This should be part of the common "failover" code. > > > >Based on Stephen's feedback on earlier patches, i tried to minimize the changes to > >netvsc and only commonize the notifier and the main event handler routine. > >Another complication is that netvsc does part of registration in a delayed workqueue. > > :( This kind of degrades the whole efford of having single solution > in "failover" module. I think that common parts, as > netdev_rx_handler_register() and others certainly is should be inside > the common module. This is not a good time to minimize changes. Let's do > the thing properly and fix the netvsc mess now. > > > > > >It should be possible to move some of the code from net_failover.c to generic > >failover.c in future if Stephen is ok with it. > > > > > >> > > >> Also note that in the current patchset you use IFF_FAILOVER flag for > >> master, yet for the slave you use IFF_SLAVE. That is wrong. > >> IFF_FAILOVER_SLAVE should be used. > > > >Not sure which code you are referring to.? I only set IFF_FAILOVER_SLAVE > >in patch 3. > > The existing netvsc driver.We really can't change netvsc's flags now, even if it's interface is messy, it's being used in the field. We can add a flag that makes netvsc behave differently, and if this flag also allows enhanced functionality userspace will gradually switch. Anything breaking userspace I fully expect Stephen to nack and IMO with good reason. -- MST
Possibly Parallel Threads
- Shepherd request (P83): Multipath TCP: Present Use Cases and an Upstream Future
- [PATCH net-next v11 2/5] netvsc: refactor notifier/event handling code to use the failover framework
- [PATCH net-next v11 2/5] netvsc: refactor notifier/event handling code to use the failover framework
- [PATCH net-next v11 2/5] netvsc: refactor notifier/event handling code to use the failover framework
- [PATCH net-next v11 2/5] netvsc: refactor notifier/event handling code to use the failover framework