Re: Does the bonding driver honour dev->features of slave devices

From: Shmulik Hen <hidden>
Date: 2003-09-11 13:15:17

Subject: Re: Does the bonding driver honour dev->features of slave 
devices
Date: Thu, 11 Sep 2003 10:44:46 +0300
From: Shmulik Hen <redacted>
To: "Tomar, Nagendra" <redacted>, 
[off-list ref]

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.

-- 
| Shmulik Hen   Advanced Network Services  |
| Israel Design Center, Jerusalem          |
| LAN Access Division, Platform Networking |
| Intel Communications Group, Intel corp.  |
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help