Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2009-05-07 23:22:28

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

hfsc - filtry mieszajace - podklasy dla usera

witam forumowiczow.
do tej pory do ciecia lacza wystarczaly mi troche przerobione skrypty baroo z inet.one.pl, ale ostatnio zauwazylem, iz przez nie obciazenie mojego kernela siega zenitu, mam tyle przerywac ze w szczycie load mam ok 3. jak zastopuje hfsc obciazenie wraca do normalnosci.
wobec czego zmuszony jestem zrobic hfsc z filtrami mieszajacymi a i przydalo by sie tez zrobic qosa dla kazdego usera z osobna.
jesli chodzi o zrobienie hfsc na filtrach bez qos na kazdego usera to sklecilem cos takiego:

Kod:

#!/bin/bash
#
tmplik="qos_tmp"                #tymczasowy plik do wykonania polecec
DOWN="55296"                    #max download lacza
UPL="55296"                     #max upload lacza

# podnosze interfejsy
echo "ip link set imq0 up" >> $tmplik
echo "ip link set imq1 up" >> $tmplik

# kasuje klasy a zarazem i filty
echo 'tc qdisc del root dev imq0 2> /dev/null' >> $tmplik
echo 'tc qdisc del root dev imq1 2> /dev/null' >> $tmplik

#------------ Tworzenie kolejek odbieranie ---------------
# tworzenie korzenia kolejek

echo "tc qdisc add dev imq0 root handle 1:0 hfsc default 99 " >> $tmplik
# tworzenie glownej klasy
echo "tc class add dev imq0 parent 1:0 classid 1:1 hfsc ls m2 ${DOWN}kbit ul m2 ${DOWN}kbit" >> $tmplik


#tworze defaultowa klase
echo "tc class add dev imq0 parent 1:1 classid 1:99 hfsc ls m2 128kbit ul m2 256kbit" >> $tmplik


# tworze klase dla ruchu normalnego, ruchu dla uzytkownikow
echo "tc class add dev imq0 parent 1:1 classid 1:5 hfsc ls m2 48000kbit ul m2 ${DOWN}kbit" >> $tmplik

# zakladam root filter
echo "tc filter add dev imq0 parent 1:0 protocol ip u32" >> $tmplik

# zakladam tabele na rootfiltrze
# dla kazdej sieci po jednej tabeli
echo "tc filter add dev imq0 parent 1:0 prio 5 handle 2: protocol ip u32 divisor 256" >> $tmplik
echo "tc filter add dev imq0 parent 1:0 prio 5 handle 3: protocol ip u32 divisor 256" >> $tmplik
echo "tc filter add dev imq0 parent 1:0 prio 5 handle 4: protocol ip u32 divisor 256" >> $tmplik
echo "tc filter add dev imq0 parent 1:0 prio 5 handle 5: protocol ip u32 divisor 256" >> $tmplik

# do kazdej z tych tabel wrzucam jedna siec
echo "tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 800:: \
match ip dst 192.168.0.0/24 \
hashkey mask 0x000000ff at 16 \
link 2:" >> $tmplik
echo "tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 800:: \
match ip dst 192.168.1.0/24 \
hashkey mask 0x000000ff at 16 \
link 3:" >> $tmplik
echo "tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 800:: \
match ip dst 192.168.2.0/24 \
hashkey mask 0x000000ff at 16 \
link 4:" >> $tmplik
echo "tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 800:: \
match ip dst 192.168.3.0/24 \
hashkey mask 0x000000ff at 16 \
link 5:" >> $tmplik

# ruch dla userow
MARK=100
# userow jak i ich predkosci trzymam w pliku podzial_qos
# w formacie adres_ip:min_download:max_download:min_upload:max_upload

        MAX_DOWN=`echo $i|cut -d':' -f3`
        LIP=`echo $ADDRESS|cut -d'.' -f4`
        LINK=`echo $ADDRESS |cut -d'.' -f3`
        PHEX=`echo "obase=16;$LIP"|bc -q`
# tworze klase dla usera

echo "tc class add dev imq0 parent 1:5 classid 1:$MARK hfsc ls m2 ${MIN_DOWN}kbit ul m2 ${MAX_DOWN}kbit" >> $tmplik
# dla sprawiedliwosci na clase zaloze sfq
echo "tc qdisc add dev imq0 parent 1:$MARK sfq perturb 10" >> $tmplik

echo "tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht ${LINK}:0x${PHEX} \
match ip dst $ADDRESS flowid 1:$MARK" >> $tmplik


echo "" >> $tmplik
echo "" >> $tmplik
MARK=$((MARK+1))
done

co testowo daje mi taki wynik:

Kod:

ip link set imq0 up
ip link set imq1 up
tc qdisc del root dev imq0 2> /dev/null
tc qdisc del root dev imq1 2> /dev/null
tc qdisc add dev imq0 root handle 1:0 hfsc default 99
tc class add dev imq0 parent 1:0 classid 1:1 hfsc ls m2 55296kbit ul m2 55296kbit
tc class add dev imq0 parent 1:1 classid 1:99 hfsc ls m2 128kbit ul m2 256kbit
tc class add dev imq0 parent 1:1 classid 1:5 hfsc ls m2 48000kbit ul m2 55296kbit
tc filter add dev imq0 parent 1:0 protocol ip u32
tc filter add dev imq0 parent 1:0 prio 5 handle 2: protocol ip u32 divisor 256
tc filter add dev imq0 parent 1:0 prio 5 handle 3: protocol ip u32 divisor 256
tc filter add dev imq0 parent 1:0 prio 5 handle 4: protocol ip u32 divisor 256
tc filter add dev imq0 parent 1:0 prio 5 handle 5: protocol ip u32 divisor 256
tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 800:: match ip dst 192.168.0.0/24 hashkey mask 0x000000ff at 16 link 2:
tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 800:: match ip dst 192.168.1.0/24 hashkey mask 0x000000ff at 16 link 3:
tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 800:: match ip dst 192.168.2.0/24 hashkey mask 0x000000ff at 16 link 4:
tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 800:: match ip dst 192.168.3.0/24 hashkey mask 0x000000ff at 16 link 5:

tc class add dev imq0 parent 1:5 classid 1:100 hfsc ls m2 512kbit ul m2 640kbit
tc qdisc add dev imq0 parent 1:100 sfq perturb 10
tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 0:0x14 match ip dst 192.168.0.20 flowid 1:100


tc class add dev imq0 parent 1:5 classid 1:101 hfsc ls m2 512kbit ul m2 640kbit
tc qdisc add dev imq0 parent 1:101 sfq perturb 10
tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 0:0x15 match ip dst 192.168.0.21 flowid 1:101


tc class add dev imq0 parent 1:5 classid 1:102 hfsc ls m2 512kbit ul m2 640kbit
tc qdisc add dev imq0 parent 1:102 sfq perturb 10
tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 0:0x16 match ip dst 192.168.0.22 flowid 1:102


tc class add dev imq0 parent 1:5 classid 1:103 hfsc ls m2 512kbit ul m2 640kbit
tc qdisc add dev imq0 parent 1:103 sfq perturb 10
tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 0:0x17 match ip dst 192.168.0.23 flowid 1:103

problem zaczal sie jak chcialem dodac podklasy do klas usera.
np user ma klase 1:100 to tworzac nowa klase
... parent 1:100 classid 1:1100 ... classid 1:2100 ...
ale jesli bedzie tysieczny wpis to ten klient jako swoja glowna klase otrzyma 1:1100 a takowa by istniala. niestety moge uzyc do oznaczania tylko 4 cyfr. w sumie mozna by oznaczyc na poczatku 9,8,7 ale ogolnie to nie rozwiazuje problemu, bo jak czysto teoretycznie bedzie 7000 wpisow to sytuacja sie powtorzy.

chcialbym osiagnac cos takiego jak na rysunku
[url=http://www.postimage.org/][img]http://www.postimage.org/Pq1m15vS.png[/img][/url]
moglby mi ktos podpowiedziec jak to osiagnac?

Kod:

tc qdisc add dev eth0 root handle 1: hfsc
tc class add dev eth0 parent 1: handle 1:2 hfsc ls m2 128kbit ul m2 512kbit
tc class add dev eth0 parent 1: classid 1:2 hfsc ls m2 128kbit ul m2 512kbit
tc class add dev eth0 parent 1: classid 1:5 hfsc ls m2 51200kbit ul m2 51200kbit

tc qdisc add dev eth0 parent 1:5 handle 5: hfsc 
tc class add dev eth0 parent 5: classid 5:100 hfsc ls m2 512kbit ul m2 512kbit
tc class add dev eth0 parent 5: classid 5:101 hfsc ls m2 128kbit ul m2 512kbit

powyzszy kod daje mi:

Kod:

qdisc hfsc 1: root 
qdisc hfsc 5: parent 1:5 


class hfsc 1: root 
class hfsc 1:2 parent 1: ls m1 0bit d 0us m2 128000bit ul m1 0bit d 0us m2 512000bit 
class hfsc 1:5 parent 1: leaf 5: ls m1 0bit d 0us m2 51200Kbit ul m1 0bit d 0us m2 51200Kbit 
class hfsc 5: root 
class hfsc 5:101 parent 5: ls m1 0bit d 0us m2 128000bit ul m1 0bit d 0us m2 512000bit 
class hfsc 5:100 parent 5: ls m1 0bit d 0us m2 512000bit ul m1 0bit d 0us m2 512000bit

1. czy to jest mniejwiecej to co chce osiagnac? chodzi mi o to drzewko.
2. i jak zastosowac filtry hashujace?

z gory wielkie dzieki za pomoc

{edited}

na podstawie sryptu zlyzwierz zrobilem cos takiego:

Kod:

qdisc del root dev eth0
qdisc add dev eth0 root handle 1:0 hfsc default 99
class add dev eth0 parent 1:0 classid 1:1 hfsc ls m2 1500kbit ul m2 1500kbit
class add dev eth0 parent 1:1 classid 1:99 hfsc ls m2 128kbit ul m2 256kbit
class add dev eth0 parent 1:1 classid 1:5 hfsc ls m2 1500kbit ul m2 1500kbit
filter add dev eth0 parent 1:0 protocol ip u32
filter add dev eth0 parent 1:0 prio 5 handle 1: protocol ip u32 divisor 256
filter add dev eth0 parent 1:0 prio 5 handle 2: protocol ip u32 divisor 256
filter add dev eth0 protocol ip parent 1:0 prio 5 u32 ht 800:: match ip src 192.168.1.0/24 hashkey mask 0x000000ff at 12 link 1:
filter add dev eth0 protocol ip parent 1:0 prio 5 u32 ht 800:: match ip src 192.168.2.0/24 hashkey mask 0x000000ff at 12 link 2:
qdisc add dev eth0 parent 1:5 handle 5: hfsc

class add dev eth0 parent 5: classid 5:100 hfsc ls m2 128kbit ul m2 256kbit
qdisc add dev eth0 parent 5:100 handle 100: hfsc
class add dev eth0 parent 100: classid 100:11 hfsc sc d 30ms m2 15kbit ul m2 25kbit
filter add dev eth0 protocol ip prio 1 parent 1:0 u32 ht 1:0x67 match ip protocol 1 0xff flowid 100:11
class add dev eth0 parent 100: classid 100:13 hfsc sc d 20ms m2 15kbit ul m2 100kbit
filter add dev eth0 protocol ip prio 2 parent 1:0 u32 ht 1:67 match ip protocol 6 0xff match u8 0x05 0x0f at 0 match u16 0x0000 0xffc0 at 2 match u8 0x10 0xff at 33 flowid 100:13
class add dev eth0 parent 100: classid 100:14 hfsc ls m2 10kbit ul m1 1500kbit d 3000ms m2 500kbit
filter add dev eth0 protocol ip prio 3 parent 1: u32  ht 1:0x67 match ip sport 80 0xffff flowid 100:14
class add dev eth0 parent 100: classid 100:15 hfsc ls m2 10kbit ul m2 400kbit
filter add dev eth0 protocol ip prio 4 parent 1: u32  ht 1:0x67 match ip dst 0.0.0.0/0 flowid 100:15

ale niestety caly ruch wpada mi do defaultowej klasy :(

Kod:

   pią maj  8 14:05:15 2009

        Mode: HFSC        ^C to QUIT


 1:1             -     61.2 kbit/s  (  4pps)
    1:5             -      0.0 kbit/s  (  0pps)
    1:99            -     61.2 kbit/s  (  4pps)
 5:100           -      0.0 kbit/s  (  0pps)
 100:11          -      0.0 kbit/s  (  0pps)
 100:13          -      0.0 kbit/s  (  0pps)
 100:14          -      0.0 kbit/s  (  0pps)
 100:15          -      0.0 kbit/s  (  0pps)^C

Kod:

# tc -s qdisc show dev eth0
qdisc hfsc 1: root default 99 
 Sent 1101860 bytes 6064 pkt (dropped 0, overlimits 1036 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
qdisc hfsc 5: parent 1:5 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
qdisc hfsc 100: parent 5:100 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 

# tc -s class show dev eth0
class hfsc 1: root 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 period 0 level 2 

class hfsc 1:99 parent 1:1 ls m1 0bit d 0us m2 128000bit ul m1 0bit d 0us m2 256000bit 
 Sent 1105952 bytes 6108 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 period 5658 work 1105952 bytes level 0 

class hfsc 1:1 parent 1: ls m1 0bit d 0us m2 1500Kbit ul m1 0bit d 0us m2 1500Kbit 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 period 5658 work 1105952 bytes level 1 

class hfsc 1:5 parent 1:1 leaf 5: ls m1 0bit d 0us m2 1500Kbit ul m1 0bit d 0us m2 1500Kbit 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 period 0 level 0 

class hfsc 5: root 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 period 0 level 1 

class hfsc 5:100 parent 5: leaf 100: ls m1 0bit d 0us m2 128000bit ul m1 0bit d 0us m2 256000bit 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 period 0 level 0 


# tc -s filter show dev eth0
filter parent 1: protocol ip pref 1 u32 
filter parent 1: protocol ip pref 1 u32 fh 802: ht divisor 1 
filter parent 1: protocol ip pref 2 u32 
filter parent 1: protocol ip pref 2 u32 fh 803: ht divisor 1 
filter parent 1: protocol ip pref 3 u32 
filter parent 1: protocol ip pref 3 u32 fh 804: ht divisor 1 
filter parent 1: protocol ip pref 4 u32 
filter parent 1: protocol ip pref 4 u32 fh 805: ht divisor 1 
filter parent 1: protocol ip pref 5 u32 
filter parent 1: protocol ip pref 5 u32 fh 2: ht divisor 256 
filter parent 1: protocol ip pref 5 u32 fh 1: ht divisor 256 
filter parent 1: protocol ip pref 5 u32 fh 1:67:800 order 2048 key ht 1 bkt 67 flowid 100:11  (rule hit 6171 success 225)
  match 00010000/00ff0000 at 8 (success 225 ) 
filter parent 1: protocol ip pref 5 u32 fh 1:67:801 order 2049 key ht 1 bkt 67 flowid 100:13  (rule hit 5946 success 4095)
  match 00060000/00ff0000 at 8 (success 5715 ) 
  match 05000000/0f00ffc0 at 0 (success 4177 ) 
  match 00100000/00ff0000 at 32 (success 4095 ) 
filter parent 1: protocol ip pref 5 u32 fh 1:67:802 order 2050 key ht 1 bkt 67 flowid 100:14  (rule hit 1851 success 0)
  match 00500000/ffff0000 at 20 (success 0 ) 
filter parent 1: protocol ip pref 5 u32 fh 1:67:803 order 2051 key ht 1 bkt 67 flowid 100:15  (rule hit 1851 success 1851)
  match 00000000/00000000 at 16 (success 1851 ) 
filter parent 1: protocol ip pref 5 u32 fh 801: ht divisor 1 
filter parent 1: protocol ip pref 49152 u32 
filter parent 1: protocol ip pref 49152 u32 fh 800: ht divisor 1 
filter parent 1: protocol ip pref 49152 u32 fh 800::800 order 2048 key ht 800 bkt 0 link 1:  (rule hit 6171 success 0)
  match c0a80100/ffffff00 at 12 (success 6171 ) 
    hash mask 000000ff at 12 
filter parent 1: protocol ip pref 49152 u32 fh 800::801 order 2049 key ht 800 bkt 0 link 2:  (rule hit 0 success 0)
  match c0a80200/ffffff00 at 12 (success 0 ) 
    hash mask 000000ff at 12

cos chyba pogibane jest z filtrami. podpowiedzcie w ktorym miejscu?

Ostatnio edytowany przez Nicram (2009-05-08 14:17:00)

Offline

 

#2  2009-09-05 01:05:14

  zlyZwierz - Moderator

zlyZwierz
Moderator
Zarejestrowany: 2005-02-18
Serwis

Re: hfsc - filtry mieszajace - podklasy dla usera

Pozwolę sobie odkopać suchara, ale znalazłem zajebiaszczy programik do generowania filtrów mieszających, co ważne - umie też wielopoziomowe haszowanie.

http://vcalinus.gemenii.ro/?p=9&cpage=1


[url=http://www.netfix.pro]www.netfix.pro[/url]

Offline

 

#3  2009-09-05 09:51:27

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: hfsc - filtry mieszajace - podklasy dla usera

[quote=zlyZwierz]Pozwolę sobie odkopać suchara, ale znalazłem zajebiaszczy programik do generowania filtrów mieszających, co ważne - umie też wielopoziomowe haszowanie.

http://vcalinus.gemenii.ro/?p=9&cpage=1[/quote]
dzieki. programik fajny. tyko jeszcze musze go rozgryzc, jak mu podac dane zby zrobil to co ja chce :)

{edited}

moglbys mi powiedziec, co on dokladnie za filtry tworzy?
dla testu w pliku in umiescilem wpis

Kod:

10.11.0.11/32  1:102

a on mi rowniez zrobil dla 10/8

Kod:

./program test u32.tc imq0 src
lines parsed: 1
total hashtables: 3

$ cat u32.tc 
##### Generated with prefixtree v1.0 #####

tc filter add dev imq0 parent 1:0 prio 5 protocol ip u32
tc filter add dev imq0 parent 1:0 prio 5 handle 10: protocol ip u32 divisor 256
tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 800:: match ip src 0.0.0.0/0 hashkey mask 0xff000000 at 12 link 10: 


## entries for 10.0.0.0/8

tc filter add dev imq0 parent 1:0 prio 5 handle 11: protocol ip u32 divisor 256
tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 10:a:  match ip src 0.0.0.0/0 hashkey mask 0xff0000 at 12 link 11: 

    
## entries for 10.11.0.0/16

    tc filter add dev imq0 parent 1:0 prio 5 handle 12: protocol ip u32 divisor 256
    tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 11:b:  match ip src 0.0.0.0/0 hashkey mask 0xff00 at 12 link 12: 

        
## entries for 10.11.0.0/24

        tc filter add dev imq0 parent 1:0 prio 5 handle 13: protocol ip u32 divisor 256
        tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 12:0:  match ip src 0.0.0.0/0 hashkey mask 0xff at 12 link 13: 

            tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 13:b:  match ip src 0.0.0.0/0 flowid 1:102

Ostatnio edytowany przez Nicram (2009-09-05 10:05:23)

Offline

 

#4  2009-09-05 12:59:28

  zlyZwierz - Moderator

zlyZwierz
Moderator
Zarejestrowany: 2005-02-18
Serwis

Re: hfsc - filtry mieszajace - podklasy dla usera

Tworzy zagnieżdżone filtry mieszające, haszują w oparciu o 3 ostatnie oktety - dobra wydajność.


[url=http://www.netfix.pro]www.netfix.pro[/url]

Offline

 

#5  2009-09-05 15:07:30

  marg1 - Gentoowy Głupek

marg1
Gentoowy Głupek
Skąd: Bytom
Zarejestrowany: 2009-05-15

Re: hfsc - filtry mieszajace - podklasy dla usera

Może się teraz wygłupię - ale tyle co przeczytałem co to są to filtry - to jeśli chodzi o dynamiczny przydział transferu - to u nas używa się tego:
http://niceshaper.jedwabny.net/
Jeśli to zupełnie nie o to chodzi to sorry :P


marg1@jid.dug.net.pl
Linux User Registration Number: #488674
CISCO CCNA Alumni :)

Offline

 

#6  2009-09-05 18:09:54

  zlyZwierz - Moderator

zlyZwierz
Moderator
Zarejestrowany: 2005-02-18
Serwis

Re: hfsc - filtry mieszajace - podklasy dla usera

Nic się nie stało :)
Niceshaper to trochę za mały kaliber dla poważniejszych zastosowań..


[url=http://www.netfix.pro]www.netfix.pro[/url]

Offline

 

#7  2009-09-06 14:30:34

  marg1 - Gentoowy Głupek

marg1
Gentoowy Głupek
Skąd: Bytom
Zarejestrowany: 2009-05-15

Re: hfsc - filtry mieszajace - podklasy dla usera

No u mnie jest tylko 20 userów :)


marg1@jid.dug.net.pl
Linux User Registration Number: #488674
CISCO CCNA Alumni :)

Offline

 

#8  2009-09-06 19:17:09

  zlyZwierz - Moderator

zlyZwierz
Moderator
Zarejestrowany: 2005-02-18
Serwis

Re: hfsc - filtry mieszajace - podklasy dla usera

Gdyby ktoś chciał to sklikałem toto w perlu:

http://wklej.org/hash/876411a8a7/?zawin=0

Na razie brudnopis,  ale działający:) - wystarczy wywalić printy i jest jak nowe.

Funkcja zwraca uchwyt tablicy i numer wiadra dla podawanego adresu IP (w postaci integer), więc ostatni filter trzeba kliknąć samemu w oparciu o te zwracane wartości (coś a'la                filter add dev eth0 protocol ip parent 1:0 prio 5 u32 ht 18:5:  match ip src 0.0.0.0/0 flowid 1:1af).


[url=http://www.netfix.pro]www.netfix.pro[/url]

Offline

 

#9  2009-09-06 19:36:12

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: hfsc - filtry mieszajace - podklasy dla usera

[quote=zlyZwierz]Gdyby ktoś chciał to sklikałem toto w perlu:

http://wklej.org/hash/876411a8a7/?zawin=0

Na razie brudnopis,  ale działający:) - wystarczy wywalić printy i jest jak nowe.

Funkcja zwraca uchwyt tablicy i numer wiadra dla podawanego adresu IP (w postaci integer), więc ostatni filter trzeba kliknąć samemu w oparciu o te zwracane wartości (coś a'la                filter add dev eth0 protocol ip parent 1:0 prio 5 u32 ht 18:5:  match ip src 0.0.0.0/0 flowid 1:1af).[/quote]
troche sie napracowales.
kombinowales moze z tym "drzewkiem" co jest wyzej? znaczy sie podklasy kazdemu userowi.

Offline

 

#10  2009-09-06 19:47:19

  zlyZwierz - Moderator

zlyZwierz
Moderator
Zarejestrowany: 2005-02-18
Serwis

Re: hfsc - filtry mieszajace - podklasy dla usera

Jest na liście TODO. U siebie mam płaskie kolejki - bez wyszczególniania rodzaju ruchu.


[url=http://www.netfix.pro]www.netfix.pro[/url]

Offline

 

#11  2009-09-06 19:55:18

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: hfsc - filtry mieszajace - podklasy dla usera

[quote=zlyZwierz]Jest na liście TODO. U siebie mam płaskie kolejki - bez wyszczególniania rodzaju ruchu.[/quote]
mam tak samo

Offline

 

#12  2010-10-07 19:31:28

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: hfsc - filtry mieszajace - podklasy dla usera

Może prowrócimy do problemu??

Offline

 

#13  2012-02-17 18:30:01

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: hfsc - filtry mieszajace - podklasy dla usera

Witam Ponownie.

@zlyZwierz, wykombinowałeś coś w sprawie podklas dla userów? muszę wrócić do tematu.

Offline

 

#14  2012-02-17 22:48:02

  BiExi - matka przelozona

BiExi
matka przelozona
Skąd: Gorlice
Zarejestrowany: 2004-04-16
Serwis

Re: hfsc - filtry mieszajace - podklasy dla usera

Nicram - dlaczego tak bardzo chesz robic podklasy dla user'a, generalnie wedlug mnie nie ma to specjalnie sensu.... (Nie widze specjalnie kategorii po jakich niby miał byc sens)
Przy wiekszej ilosci userow wystarcy zrobic filtry mieszajace po ost oktecie i dziala to wydajnie


[url=http://dug.net.pl][b]DUG[/b][/url]

Offline

 

#15  2012-02-17 22:50:41

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: hfsc - filtry mieszajace - podklasy dla usera

[quote=BiExi]Nicram - dlaczego tak bardzo chesz robic podklasy dla user'a, generalnie wedlug mnie nie ma to specjalnie sensu.... (Nie widze specjalnie kategorii po jakich niby miał byc sens)
Przy wiekszej ilosci userow wystarcy zrobic filtry mieszajace po ost oktecie i dziala to wydajnie[/quote]
Tak, działa to wydajnie, nie zaprzeczam. ale mam dość tłumaczenia, że komputer "syna" ma włączone jakieś torrenty i dlatego klient nie może porozmawiać przez skype czy voip. to jest głównym powodem.

Offline

 

#16  2012-02-17 23:58:00

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: hfsc - filtry mieszajace - podklasy dla usera

A nie prościej to puścić przez htb, i ustalić priorytety dla poszczególnych komputerów?
Komputer ze Skype/voip prio 1 komp "syna" prio 2, i gotowe.

Tu masz [url=http://pl.wikibooks.org/wiki/Sieci_w_Linuksie/iproute2/tc/qdisc]przykład[/url].
Prosciej się chyba nie da, a rezultat zazwyczaj jest niezły.

Pozdro
;-)

Ostatnio edytowany przez Jacekalex (2012-02-18 00:02:44)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#17  2012-02-18 10:07:40

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: hfsc - filtry mieszajace - podklasy dla usera

[quote=Jacekalex]A nie prościej to puścić przez htb, i ustalić priorytety dla poszczególnych komputerów?
Komputer ze Skype/voip prio 1 komp "syna" prio 2, i gotowe.[/quote]
Pod warunkiem, że widzę oba komputery z różnymi adresami. W moim przypadku widzę jeden, gdyż są za routerem klienta.

Na "drzewku" powyżej widać to co chcę osiągnąć

--edited--

Zastanawiam się nad tym fragmentem

Kod:

qdisc hfsc 1: root 
qdisc hfsc 5: parent 1:5 

class hfsc 1: root 
class hfsc 1:2 parent 1: ls m1 0bit d 0us m2 128000bit ul m1 0bit d 0us m2 512000bit 
class hfsc 1:5 parent 1: leaf 5: ls m1 0bit d 0us m2 51200Kbit ul m1 0bit d 0us m2 51200Kbit 
class hfsc 5: root 
class hfsc 5:101 parent 5: ls m1 0bit d 0us m2 128000bit ul m1 0bit d 0us m2 512000bit 
class hfsc 5:100 parent 5: ls m1 0bit d 0us m2 512000bit ul m1 0bit d 0us m2 512000bit

jeśli chodzi o qdisc to jwst ok, mam główne 1: oraz 5:, która jest "pod klasą" dla klasy 1:5
ale już w klasach ma 2 clasy root.

powiedzcie mi, jak przebiega pakiet? jaka jest różnica między qdisc a class?

Ostatnio edytowany przez Nicram (2012-02-22 21:49:06)

Offline

 

#18  2012-05-16 21:29:07

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: hfsc - filtry mieszajace - podklasy dla usera

Chciałbym odświeżyć temat.
nadal utykam w tym samym momencie :(
pomożecie?

Ostatnio edytowany przez Nicram (2012-05-21 16:25:56)

Offline

 

#19  2015-03-12 14:05:20

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: hfsc - filtry mieszajace - podklasy dla usera

Witam,
trochę czasu minęło od ostatniego posta :)

coś się zmieniło tym temacie? jakieś nowości?

Offline

 

#20  2015-03-12 22:10:36

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: hfsc - filtry mieszajace - podklasy dla usera

Skoro to nie ja suchara wykopałem ;), to się dopiszę z pytaniem:
HSFC jest dużo lepszy od kolejki (drzewko 3 poziomowe) HTB + dla każdego pacjenta SFQ?
Mam na myśli wydajność  HSFC vs HTB.

Ostatnio edytowany przez Jacekalex (2015-03-12 22:56:50)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.021 seconds, 21 queries executed ]

Informacje debugowania

Time (s) Query
0.00009 SET CHARSET latin2
0.00014 SET NAMES latin2
0.00126 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.144.103.20' WHERE u.id=1
0.00069 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.144.103.20', 1732247493)
0.00038 SELECT * FROM punbb_online WHERE logged<1732247193
0.00071 DELETE FROM punbb_online WHERE ident='18.188.132.71'
0.00060 DELETE FROM punbb_online WHERE ident='18.222.121.24'
0.00060 DELETE FROM punbb_online WHERE ident='18.227.0.255'
0.00067 DELETE FROM punbb_online WHERE ident='3.136.23.132'
0.00074 DELETE FROM punbb_online WHERE ident='3.141.42.41'
0.00083 DELETE FROM punbb_online WHERE ident='3.145.115.139'
0.00066 DELETE FROM punbb_online WHERE ident='3.148.117.237'
0.00079 DELETE FROM punbb_online WHERE ident='3.15.141.155'
0.00078 DELETE FROM punbb_online WHERE ident='3.17.154.144'
0.00073 DELETE FROM punbb_online WHERE ident='85.208.96.198'
0.00076 SELECT topic_id FROM punbb_posts WHERE id=127339
0.00011 SELECT id FROM punbb_posts WHERE topic_id=14098 ORDER BY posted
0.00054 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=14098 AND t.moved_to IS NULL
0.00007 SELECT search_for, replace_with FROM punbb_censoring
0.00527 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=14098 ORDER BY p.id LIMIT 0,25
0.00088 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=14098
Total query time: 0.0173 s