On Wed, Mar 31, 2010 at 11:03:44AM +0100, Ben McKeegan wrote: > I needed to do something similar a while back and I took a very > different approach, which I think is more flexible. Rather than > implement a new round-robin scheduler I simply introduced a target > minimum fragment size into the fragment size calculation, as a per > bundle parameter that can be configured via a new ioctl. This > modifies the algorithm so that it tries to limit the number of > fragments such that each fragment is at least the minimum size. If > the minimum size is greater than the packet size it will not be > fragmented all but will instead just get sent down the next > available channel. > > A pppd plugin generates the ioctl call allowing this to be tweaked > per connection. It is more flexible in that you can still have the > larger packets fragmented if you wish. I like this a lot better than the other proposed patch. It adds less code because it uses the fact that ppp_mp_explode() already has a round-robin capability using the ppp->nxchan field, plus it provides a way to control it per bundle via pppd. If you fix up the indentation issues (2-space indent in some of the added code -- if you're using emacs, set c-basic-offset to 8), I'll ack it and hopefully DaveM will pick it up. Paul. -- To unsubscribe from this list: send the line "unsubscribe linux-ppp" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html