On Thu, 2010-07-08 at 12:07 -0700, Zou, Yi wrote:
>
>
> > feature flag change event will occurs after ndo_fcoe_disable()
> called
> > from fcoe_interface_cleanup and by then all fcoe receive handlers
> are
> > already removed by fcoe_interface_cleanup. At that point no more rx
> pkts
> > and therefore fix should be to also stop tx pkts to netdev at that
> > point, maybe by dropping pkts in fcoe_xmit and then updating feature
> > flags won't matter after calling fcoe_interface_cleanup.
> >
> > Vasu
>
> Hmm...stop tx is not a bad idea, but I would think that as a separate
> patch.
> This one is to capture netdev events from LLD properly for offload at
> all
> time received as offload is still happening in fc_fcp.
That could still occur with your patch for inflight fc_fcp offload IOs
while your added feature change handler is still working on turning off
offloads on NETDEV_FEAT_CHANGE event upon ndo_fcoe_disable.
Therefore if you want to fully prevent anymore offload IOs requests
hitting to ethX driver after ndo_fcoe_disable called then stopping any
more tx is one approach as suggested above, there might be better ways
than that but added may be proper changes event doesn't seems sufficient
to fully curb all offload IO requests after ndo_fcoe_disable issued to
disable fcoe offloads.
I guess all ethX driver should be able to drop any such offload IOs
after fcoe offload disabled, so may be not an issue to continue allowing
such IOs as they are and anyway all pending IOs will get purged on fcoe
destroy completion.
Vasu
_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel