Re: [PATCH net-next] net/core: ensure features get disabled on new lower devs

From: Jarod Wilson
Date: Tue Nov 03 2015 - 16:58:46 EST


Michal Kubecek wrote:
On Tue, Nov 03, 2015 at 03:36:57PM -0500, Jarod Wilson wrote:
With moving netdev_sync_lower_features() after the .ndo_set_features
calls, I neglected to verify that devices added *after* a flag had been
disabled on an upper device were properly added with that flag disabled as
well. This currently happens, because we exit __netdev_update_features()
when we see dev->features == features for the upper dev. We can retain the
optimization of leaving without calling .ndo_set_features with a bit of
tweaking and a goto here.

I haven't reviewed the patch yet (I'm going to take a look with fresher
mind in the morning) but if you are going to handle this in a generic
way, you may want to remove the LRO specific hacks added to
bond_enslave() and team_port_add() by commit fbe168ba91f7 ("net: generic
dev_disable_lro() stacked device handling").

Yeah, that's on tap for a follow-up series. I wanted to get all this in first and soaked before pulling those bits out. My current haven't-yet-fully-investigated thinking is that dev_disable_lro() can go away entirely, not just the hacks added to bond and team.

--
Jarod Wilson
jarod@xxxxxxxxxx


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/