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/.

#26  2014-08-05 17:58:15

  Jacekalex - Podobno człowiek...;)

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

Re: Błąd przy nakładaniu patcha IMQ

Dodać łatkę do iproute, coby powstał odpowiedni cel w poleceniu tc.
Sznurek:
https://github.com/pcduino/OpenWrt-pcDuino/blob/mas … onnmark.patch

A potem użyć ten cel connmark (czy jak się nazywa) zamiast fwmark.

Ostatnio edytowany przez Jacekalex (2014-08-05 19:00:36)


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

Offline

 

#27  2014-08-05 19:25:27

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Błąd przy nakładaniu patcha IMQ

Na iproute2 też łata weszła bez problemu i paczka się zbudowała.

Co do fwmark to chyba w poleceniu ip, a nie tc. Przecie te pakiety w tc w oparciu o marki to łapie się przy pomocy linijek typu:

Kod:

tc filter add dev ifb0 protocol ip parent 1:0 prio 5 handle 2 fw classid 1:200

Ten handle 2 to mark 2. Także nie mam zielonego pojęcia jak to się ma do tc i co gdzie teraz dopisać. xD

Offline

 

#28  2014-08-05 19:39:55

  Jacekalex - Podobno człowiek...;)

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

Re: Błąd przy nakładaniu patcha IMQ

Spróbuj na eth0 ingress użyć tc, i tam użyć tego connmark w miejsce fw.

Dokumentacji łatki nie widziałem jeszcze, ale masz kod łatki, także coś tam wykombinujesz. ;)

EDIT:
W samej łatce jest dokumentacja:

Kod:

+ fprintf(stderr, "Usage: ... connmark\n");

;)

Ostatnio edytowany przez Jacekalex (2014-08-05 19:46:48)


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

Offline

 

#29  2014-08-05 22:05:59

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Błąd przy nakładaniu patcha IMQ

Takie coś?

Kod:

# tc filter add dev ifb1 protocol ip parent 2:0 prio 5 handle 2 connmark classid 2:200
Unknown filter "connmark", hence option "classid" is unparsable

Offline

 

#30  2014-08-06 14:06:04

  grzmot - Nowy użytkownik

grzmot
Nowy użytkownik
Zarejestrowany: 2014-08-04

Re: Błąd przy nakładaniu patcha IMQ

Ja aktualnie korzystam z sektorów u32 i filtrów mieszących, więc mi pasuje. Będzie super jak zamiast imq będzie mi działo z ifb, nie będzie trzeba czekać na nowego patch imq.

Jest sens zakładania łatki gre dla serwera, który robi nata i dzieli łączę i nic poza tym?

Offline

 

#31  2014-08-06 14:30:05

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Błąd przy nakładaniu patcha IMQ

to się nazywa router a nie serwer.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#32  2014-08-06 18:58:18

  grzmot - Nowy użytkownik

grzmot
Nowy użytkownik
Zarejestrowany: 2014-08-04

Re: Błąd przy nakładaniu patcha IMQ

Tak z funkcjonalności jest to router ale fizycznie server :D

Offline

 

#33  2014-08-06 19:29:26

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Błąd przy nakładaniu patcha IMQ

No a czemu po założeniu łaty nie widzi tego filtra? xD

Z tego "mana" w łacie można wyczytać coś w stylu:

fprintf(stderr, "Usage: ... connmark\n");

To przypomina trochę:


# tc filter add fw help
Usage: ... fw [ classid CLASSID ] [ police POLICE_SPEC ]
       POLICE_SPEC := ... look at TBF
       CLASSID := X:Y

NOTE: CLASSID is parsed as hexadecimal input.

Problem w tym, że

Kod:

# tc filter add connmark help
Unknown filter "connmark", hence option "help" is unparsable

Czyli wygląda jakby ta łata nic nie robiła. :]

Offline

 

#34  2014-08-07 11:39:34

  Jacekalex - Podobno człowiek...;)

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

Re: Błąd przy nakładaniu patcha IMQ

Poszukaj na forum/liście_mailingowej Openwrt.

Względnie

Kod:

strace -f tc

i patrzysz, gdzie szuka modułu, na jakim wywołaniu się wykłada ,
i czemu modułu nie potrafi znaleźć.
Ja do tc nie doszedłem, bo mi się nie chce wracać na jajo 3.14, a na 3.15.6 i nowszych  łatka na jajo się nie kompiluje na razie.

EDIT:

setsockopt(3, SOL_SOCKET, SO_SNDBUF, [32768], 4) = 0
setsockopt(3, SOL_SOCKET, SO_RCVBUF, [1048576], 4) = 0
bind(3, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0
getsockname(3, {sa_family=AF_NETLINK, pid=2292, groups=00000000}, [12]) = 0
open("/lib64/tc//f_connmark.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
write(2, "Unknown filter \"connmark\", hence"..., 61Unknown filter "connmark", hence option "help" is unparsable
) = 61

Masz tą bibliotekę, o którą woła w wytłuszczeniu?

Jeśli jej nie ma, to trzeba będzie trochę przepytać  autora łatki.

Łatka jest chyba na jakąś zabytkową wersję iproute, u mnie się z tą łątką skompilował grzecznie, ale biblioteki czy funkcji ani śladu.

Ostatnio edytowany przez Jacekalex (2014-08-07 12:11:42)


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

Offline

 

#35  2014-08-07 16:40:12

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Błąd przy nakładaniu patcha IMQ

Właśnie odpaliłem:

Kod:

root:~# strace tc filter add connmark help

I mi wyrzucił:

Kod:

....
open("/usr/lib/tc//f_connmark.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

A w tym katalogu tylko:

Kod:

root:/usr/lib/tc# ls -al
total 164K
drwxr-xr-x   2 root root 4.0K Aug  5 22:25 ./
drwxr-xr-x 148 root root  36K Aug  6 21:52 ../
-rw-r--r--   1 root root  23K Aug  5 22:22 experimental.dist
lrwxrwxrwx   1 root root    7 Aug  5 22:23 m_ipt.so -> m_xt.so
-rw-r--r--   1 root root  11K Aug  5 22:23 m_xt.so
-rw-r--r--   1 root root  24K Aug  5 22:22 normal.dist
-rw-r--r--   1 root root  24K Aug  5 22:22 pareto.dist
-rw-r--r--   1 root root  23K Aug  5 22:22 paretonormal.dist
-rw-r--r--   1 root root 9.6K Aug  5 22:23 q_atm.so

Także chyba dupa z tego patcha. :]

Offline

 

#36  2014-08-07 17:23:08

  Jacekalex - Podobno człowiek...;)

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

Re: Błąd przy nakładaniu patcha IMQ

Do autora łatki napisać nie potrafisz?

Ta łatka to praktycznie bliźniak modułu fw, powinna wyglądać podobnie.
Tylko że łatka na jajo 3.14 jakoś wyszła niedawno, a ta łatka na iproute jest z 2011, od tego czasu pewnie sporo się zmieniło w kodzie.
Krótko pisząc, trzeba by zapukać do autora łatki, masz maila w źródełku.


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

Offline

 

#37  2014-08-07 17:30:17

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Błąd przy nakładaniu patcha IMQ

Napisałem zanim posłałem tutaj tego poprzedniego posta. Ja tylko stwierdziłem fakt. xD

Offline

 

#38  2014-08-07 18:41:41

  Jacekalex - Podobno człowiek...;)

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

Re: Błąd przy nakładaniu patcha IMQ

morfik napisał(-a):

Napisałem zanim posłałem tutaj tego poprzedniego posta. Ja tylko stwierdziłem fakt. xD

To teraz trzeba troszkę poczekać, a w razie czego w sprawie łatki do iproute zapukać do Aleksieja Kuzniecowa, autora modułu fw.

Zastanawiam się tylko, jak zapukać skutecznie na LKML, żeby w jaju i w iproute connmark był OTB, a nie w jakichś łatkach, które raz działają, a trzy razy nie.


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

Offline

 

#39  2014-09-30 00:00:34

  maczeta - Nowy użytkownik

maczeta
Nowy użytkownik
Zarejestrowany: 2014-09-29

Re: Błąd przy nakładaniu patcha IMQ

Rozwiązanie problemu "hunks FAILED" przy nakładaniu patcha IMQ na standardowy kernel 3.2 w debianie wheezy (stable). Dokładna wersja kernela: 3.2.60-1+deb7u3

Poprawiony plik patch: http://s000.tinyupload.com/index.php?file_id=09646843631107441645 albo tu https://www.sendspace.com/file/1tsgao

Trafiłem na ten sam problem co autor pierwszego posta. Robiłem update debiana z wersji 6 do 7 i zrobiłem aktualizacje kernela z 2.6 do 3.2. Pobrałem debianowe źródła przez "apt-get source linux"
i zadowolony chciałem szybko dodać patch na IMQ, skompilować i mieć spokój. Niestety "hunks FAILED" i lipa.. jak to bywa w debianie coś się zje* po upgrade. Okazuje się że debian ma swoje kilkaset patchy i zmieniają one niektóre pliki, które muszą być spatchowane żeby zadziałał IMQ.
Musiałem wybierać: poprawić patch IMQ tak żeby wszedł na kernel debiana albo ściągnąć kernel bez patchy debiana, dodać patch IMQ, skompilować i modlić się że system wstanie i nie będe musiał serwera wyciągać z piwnicy. Wybrałem opcje nr. 1. Jakoś się udało. Patch dodany, imq działa i wszystko gra.

Zostawiam ten post dla szukających przez google rozwiązania tego popieprzonego błędu. Ja nie znalazłem nic przydatnego poza tym tematem.

Naprawa patcha polega na użyciu programu "quilt" do zarządzania patchami. Debianowy pakiet kernela używa quilta do zarządzania swoimi patchami i w ogóle bardzo pomógł w naprawieniu IMQ.
W skrócie:

1. quilt import patch-imq.diff
2. quilt push -f (tworzy pliki .rej z odrzuconymi fragmentami patcha ale większość się importuje)
3. Ręczne kopiowanie z plików .rej fragmentów odrzuconego kodu do plików .c i .h
4. quilt refresh (przebudowuje patch i zapamiętuje zmiany)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)