Hi to all! Sorry for my English :) The problem: We have a shaper software based on tc linux shaper/filter. This software (''shaper'') work with one interface (''eth0'') with fixed bandwidth and limit user (above 100 user each time) bandwidth accordingly user''s tariff plan. User traffic filter based on destination (user) ip. There a lot of connection types: OpenVPN, ipip, PPP... But we want to provide guaranted bandwidth to ONE userspace application (filter may be applied by port number). Moreover - packets must not be dropped! One of the obviously decisions: Module (kernel) must inform userspace about current bandwidth or data amout, that programm can be send this moment. How it can be done? Thanks....
On Sun, Jan 15, 2006 at 12:41:31AM +0300, Vladimir S. Petukhov wrote:> Moreover - packets must not be dropped!Sorry for this useless answer, but... How strong is this condition? I mean, even if you don''t drop a packet locally, it can still be dropped by the target machine, or by one of the routers in between. You have no influence on that whatsoever, so no matter what you do, your application must be able to handle dropped packets. If you think about it that way, is it still critical when a packet gets dropped locally? If not, you could just do this the usual way.> One of the obviously decisions: Module (kernel) must inform > userspace about current bandwidth or data amout, that programm can be send > this moment.Does the kernel even know about that? Regards, Andreas Klauer
>> Moreover - packets must not be dropped!>Sorry for this useless answer, but... How strong is this condition?> I mean, even if you don''t drop a packet locally, it can still be > dropped by the target machine, or by one of the routers in between. > You have no influence on that whatsoever, so no matter what you do, > your application must be able to handle dropped packets.No. There are no routers and no any other hosts between server and client machine. There are only ... air and space :) . I talk about sattelite link with 100% qality within fixed bandwidth. In way from server to client only a shaper can drop packets. This programm (client-server) use this characteristic (this and some other) and "accellerate Internet access". But any packet loss entail speed fall and a lot off "land" high-proced traffic.> Does the kernel even know about that?Of course. We use HTB to separate speed between user, and may be logic implemented, that guaranted package delivering to the network adapter. That all we need: do not filter THIS traffic at all - talk about availible "traffic" to userspace programm (using tokens, e.g. or in some other way).