Hi, > > > I'm now thinking I can make it just hold a TSO packet until > > > p->tokens reaches the size of the packet. I think it is > > > straightforward implementation. I'll try this. > > > > I re-implemented the patch, which is simpler than the previous one. > > > > sch->dev->mtu is used to determine how many segments are included > > in a TSO packet. The point is that the value of sch->dev->mtu has to > > be treated possibly broken because it is set by administrators. > > > > There are cases where the TSO packet will be divided into chunks > smaller than the MTU. If path MTU discovery is being used, the chunk > size of the TSO skb will be smaller. To be accurate you need to look > at mss (gso_size) and compute actual packet size based on protocol > (IPV4/IPV6 and UDP/TCP). Uhh, you are right. skb_shinfo(skb)->gso_segs and skb_shinfo(skb)->gso_size should be used. Thanks. - To unsubscribe from this list: send the line "unsubscribe linux-net" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html