Re: [patch net-next-2.6 V3] net: convert bonding to use rx_handler
From: Nicolas de Pesloüan <hidden>
Date: 2011-02-27 20:59:27
Le 27/02/2011 21:06, Jiri Pirko a écrit :
Sun, Feb 27, 2011 at 03:17:01PM CET, nicolas.2p.debian@gmail.com wrote:
quoted
quoted
+ if (bond_should_deliver_exact_match(skb, slave_dev, bond_dev)) { + skb->deliver_no_wcard = 1; + return skb;Shouldn't we return NULL here ?No we shouldn't. We need sbk to be delivered to exact match.
So, if I understand properly: - If skb->dev changed, loop, - else, if skb->deliver_no_wcard, do exact match delivery only, - Else, if !skb, drop the frame, without ever exact match delivery, - Else, do normal delivery. Right?
quoted
The vlan_on_bond case used to be cost effective. Now, we clone the skb and call netif_rx...This should not cost too much overhead considering only few packets are going thru this. This hook shouldn't have exited in the fisrt place. I think introducing this functionality was a big mistake.
What would you have proposed instead? Anyway, I think the feature is broken, because it wouldn't provide the expected effect on the following configuration: eth0/eth1 -> bond0 -> br0 -> br0.100. We probably need a more general way to fix this, after your patch have been accepted. [snip]
quoted
I would instead consider NULL as meaning exact-match-delivery-only. (The same effect as dev_bond_should_drop() returning true).we can change the behaviour later on.
Agreed. Nicolas.