On Wednesday 10 September 2003 09:25 pm, Tomar, Nagendra wrote: > Hello All, > I am going throgh the "Link Aggregation" module in Linux > (bonding.c). The code seems to suggest that the dev->features of > slave devices is simply ignored while bundling into the master > device. Suppose I have two Intel epro1000 cards that can support > TCP Segmentation Offload. Now if I bond these two slave cards into > a new master card, the new bonding device that is the master device > will be used in the routing table. When a TCP connection is > established sk->route_caps is assigned from the dev->features of > the assigned outgoing device. If the outgoing device is the bonding > device then the dev->features won't have NETIF_F_TSO as the feature > and hence upper layers will believe that the outgoing device cannot > do TSO. > I believe that at best we can take an OR of the dev->features of > all the slave devices and assign it to the dev->features of the > bonding device. This way we are sure that we are taking the Least > Common Denominator while deciding the features for the master > device. > > > Thanx, > tomar That's one of the new things we've started working on. There are multiple things exported by dev->features that need to be taken care of, but since they belong to different categories, they'll have to be handled separately. For example, 8021q VLAN hardware offloading can be exported through the master device, but then the module will need to handle tagged packets differently for "strong" or "weak" slaves. Zero copy and CSUM offloading is also a possibility we're adding and it should be even easier since the packets go again through the slave's device queue and are linearized and summed automatically if the slave is not capable. TSO is kind of new for us, but it is definitely something worth our attention. We'll first need to study what is the meaning of TSO and how it is handled throughout the stack and then see what can be done. Would you mind if I forwarded this to netdev and bond-devel lists ? -- | Shmulik Hen Advanced Network Services | | Israel Design Center, Jerusalem | | LAN Access Division, Platform Networking | | Intel Communications Group, Intel corp. | - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html