Hirokazu Takahashi wrote: > TBF --- Simple Token Bucket Filter --- packet scheduler doesn't > work correctly with TSO on that it slows down to send out packets. > TSO packets will be discarded since the size can be larger than > the scheduler expects. But it won't cause serious problems > because the retransmitted packets can be passed. > > So I made the scheduler allow to pass TSO packets: > > - tbf_enqueue() accepts packets with any size if the netdevice > has TSO ability. > > - tbf_dequeue() can handle the packets whose size is larger than > the bucket, which keeps tokens. > Any packet, which may be TSO packet, can be sent if the bucket is > full of tokens. this may lead that the number of tokens in > the bucket turns into negative value, which means kind of debt. > But we don't have to mind it because this will be filled up > with tokens in a short time and it will turns into positive value > again. > > I'm not sure if this approach is the best. I appreciate any comments. I don't see why this is needed, the correct way to use TBF with TSO is to specify a larger MTU value, in which case it won't drop TSO packets. - 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