Witam,
 
tak się bawię własnym skryptem generującym 
rc.limits i zastanawiam się nad rozwiązaniem problemu dowiązania komputera 
klienta do taryfy.
W czym rzecz. Oto przykład:
 
Klient BB Aa (np ID 1240) ma trzy 
komputery:
 
komputer A - osobna taryfa 128kbps
komputer B - osobna taryfa 128kbps
komputer C - osobna taryfa 610kbps
 
na chwilę obecną lms-traffic-htbiptlimits generuje 
coś mniejwięcej takiego:
 
/usr/sbin/iptables -t mangle -A LIMITS -s 
xx.xx.88.183 -j MARK --set-mark 964
/usr/sbin/iptables -t mangle -A LIMITS -s 
xx.xx.89.4 -j MARK --set-mark 964
/usr/sbin/iptables -t mangle -A LIMITS -s 
xx.xx.89.5 -j MARK --set-mark 964
/sbin/tc class add dev eth1 parent 1:19999 
classid 1:482 htb rate 264kbit ceil 866kbit burst 33kbit
/sbin/tc filter add 
dev eth1 protocol ip parent 1: handle 964 fw classid 1:482
 
czyli sumuje downceil/downrate i tworzy z tego 
jedną klasę. Czy w w/w przypadku nie lepiej było by zrobić coś w ten deseń 
?
 
/usr/sbin/iptables -t mangle -A LIMITS -s 
xx.xx.88.183 -j MARK --set-mark 964
/usr/sbin/iptables -t mangle -A LIMITS -s 
xx.xx.89.4 -j MARK --set-mark 965
/usr/sbin/iptables -t mangle -A LIMITS -s 
xx.xx.89.5 -j MARK --set-mark 966
/sbin/tc class add dev eth1 parent 1:19999 
classid 1:482 htb rate 264kbit ceil 866kbit burst 33kbit
/sbin/tc class add 
dev eth1 parent 1:482 classid 1:483 htb rate 128kbit ceil 128kbit burst 
33kbit
/sbin/tc class add dev eth1 parent 1:482 classid 1:484 htb rate 
128kbit ceil 128kbit burst 33kbit
/sbin/tc class add dev eth1 parent 1:482 
classid 1:485 htb rate 8kbit ceil 610kbit burst 33kbit
/sbin/tc filter add dev eth1 protocol 
ip parent 1: handle 965 fw classid 1:483 
/sbin/tc filter add dev eth1 protocol ip parent 1: 
handle 966 fw classid 1:484
 /sbin/tc filter add dev 
eth1 protocol ip parent 1: handle 964 fw classid 1:485
  
 
dla wielu komputerów w jednej taryfie generuje 
poprawnie. Sam algorytm budowania klas w klasie jest prosty, o tyle mam problem 
z zapytaniem SQL, które wiąże komputery klienta z odpowiednią 
taryfą.
 
w pliku lms-traffic-htbiptlimits "zauważyłem", że 
jest tam robiona suma wartości downceil/downrate - to samo tyczy się z 
wartościami dla uploadu.
 
I teraz moje pytanie -  o odpowiednie 
zapytanie SQL, które mogło by dopasować odpowiedni "IP" do danej 
taryfy.
Jak rozwinąć ten przykład ?
 
mysql> SELECT tariffid FROM assignments WHERE 
customerid = 1240;
+----------+
| tariffid 
|
+----------+
|       44 
|
|       44 
|
|       32 |
+----------+
3 rows in set 
(0.00 sec)
 
widzę, ze customerid = 1240 to trzy osobne taryfy - 
odpowiednio 44, 44, 32 dla różnych komputerów. Jednakże jak to "dowiązać" 
wyciągająć z BAZY dopisane do taryfy komputery klienta ? (jeśli są dwie "taryfy" 
te same z osobna ?)
 
-- 
dzimi