witam.
do tej pory zmiany prędkości wiązały się z ręczną edycją pliku z prędkościami. plik ten ma postać:
IP:DOWNMIN:DOWNMAX:UPMIN:UPMAX
spłodziłem zapytanie pobierające prędkości z bazy i zapisujące je do pliku.
SELECT lower(nn.name) as Nazwa,inet_ntoa(nn.ipaddr) as adres, z.downrate AS downloadmin, z.downceil AS downloadmax, z.uprate AS uploadmin, z.upceil AS uploadmax FROM nodes nn
LEFT JOIN (
SELECT n.id, MIN(n.name) AS name,SUM(t.downrate) AS downrate, SUM(t.downceil) AS downceil, SUM(t.uprate) AS uprate, SUM(t.upceil) AS upceil
        FROM nodeassignments na
        JOIN assignments a ON (na.assignmentid = a.id)
        JOIN tariffs t ON (a.tariffid = t.id)
        JOIN nodes n ON (na.nodeid = n.id)
        JOIN (
                SELECT assignmentid, COUNT(*) AS cnt
                FROM nodeassignments
                GROUP BY assignmentid
             ) o ON (o.assignmentid = na.assignmentid)
        WHERE (a.datefrom <= unix_timestamp() OR a.datefrom = 0)
        AND (a.dateto > unix_timestamp() OR a.dateto = 0)
        AND a.suspended = 0
        GROUP BY n.id
) z ON z.name = nn.name
  WHERE (nn.ipaddr BETWEEN inet_aton('x.x.x.x) and inet_aton('x.x.x.y')
ORDER BY ipaddr

prędkości ładnie mi lądują do pliku. z tym, że mam pewien problem. jeden z klientów, firma ma przydzielone 5 adresów x/29. jak to pisałem ręcznie to poprostu w pliku miałem wpis:
x.x.x.112/29 gdzie skrypt tc rozpoznawał mi adres z maską, robił jedną klasę dla tej sieci i adresy z tej sieci wrzucał do tej klasy. w sumie ta sieć miała jedną, współdzieloną prędkość.
w tej chwili pobierając w ten sposób prędkości z bazy nie wyszczególniam tej sieci i klient ma na każdy host prędkość gdzie w sumie jest to 5xpredkość.

jak rozwiązać ten problem, że jeśli klient ma x komputerów należących do "jednej" sieci to w wyniku było /29?
z góry dzięki za sugestie.

--
Pozdrawiam
Marcin / nicraM