O víkendu probíhá konference OpenAlt 2025. Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma.
Josef Průša představil novou velkoformátovou uzavřenou CoreXY 3D tiskárnu Prusa CORE One L a nový open source standard chytrých cívek OpenPrintTag i s novou přepracovanou špulkou.
Na GOG.com běží Autumn Sale. Při té příležitosti je zdarma hororová počítačová hra STASIS (ProtonDB: Platinum).
Ubuntu 25.10 má nově balíčky sestavené také pro úroveň mikroarchitektury x86-64-v3 (amd64v3).
Byla vydána verze 1.91.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Ministerstvo průmyslu a obchodu vyhlásilo druhou veřejnou soutěž v programu TWIST, který podporuje výzkum, vývoj a využití umělé inteligence v podnikání. Firmy mohou získat až 30 milionů korun na jeden projekt zaměřený na nové produkty či inovaci podnikových procesů. Návrhy projektů lze podávat od 31. října do 17. prosince 2025. Celková alokace výzvy činí 800 milionů korun.
Google v srpnu oznámil, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Iniciativa Keep Android Open se to snaží zvrátit. Podepsat lze otevřený dopis adresovaný Googlu nebo petici na Change.org.
Byla vydána nová verze 18 integrovaného vývojového prostředí (IDE) Qt Creator. S podporou Development Containers. Podrobný přehled novinek v changelogu.
Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 2.0. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Google Chrome 142 byl prohlášen za stabilní. Nejnovější stabilní verze 142.0.7444.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 20 bezpečnostních chyb. Za nejvážnější z nich bylo vyplaceno 50 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.
- ja jsem spise slysel narky, jak HTB neni dost presne pri vyssich (nad 512kbps) rychlostech... nevim, nejak jsem zamrzl v ere CBQ a nikdo si nikdy na moji implementaci nestezoval...
. Také nevím, jak by jsi efektivněji shapoval např. na více výstupních zařízeních. Myslím, že asi docela ztuha. Jsou hold případy, kdy se použití imq nevyhneme. Nelze říci, že je imq zcela zbytečné a k shapování není třeba. Jsou případy, kdy třeba je a případy, kdy třeba není. To jsem se snažil vysvětlit v článu. Tvoje rekce je celkem zavádějící a nepřesná.
).
$ uptime 14:11:45 up 66 days, 21:26, 1 user, load average: 0.46, 0.45, 0.32pouzivam IMQ pro shapovani provozu pres 4 rozhrani.
--- imq.c.orig 2006-11-18 00:08:42.000000000 +0100
+++ imq.c 2006-12-17 23:34:03.000000000 +0100
@@ -201,13 +201,14 @@
ret = 0;
}
}
- if (spin_is_locked(&dev->xmit_lock))
- netif_schedule(dev);
- else
-
- while (!netif_queue_stopped(dev) &&
- qdisc_restart(dev)<0)
- /* NOTHING */;
+
+
+if (spin_trylock(&dev->xmit_lock)) {
+ qdisc_run(dev);
+ spin_unlock(&dev->xmit_lock);
+}else{
+ netif_schedule(dev);
+}
spin_unlock_bh(&dev->queue_lock);
Asi tak 4 roky zpet jsem potreboval IMQ pro spojeni dvou sitovek v routeru, na ktery jsem potreboval udelat shaping. Brzy to nejspis budu potrebovat znovu, proto jsem se koukal, jestli uz neni nejaka nahrada, protoze patchovat jadro bych jeste prezil, ale jeste dalsi 2 baliky (iproute2 a iptables), to uz je trochu moc.
Prvni vec kterou jsem nasel, byla naprogramovana tusim clovekem s jmenem Jamal Hadi Salim, se zajimavym napadem: Doprogramoval funknost IMQ jako rozsireni vlastnosti dummy zarizeni. Bohuzel jsem uz nenasel zadnou zpravu, zda se to do kernelu dostalo ci nikoliv. Diskuze dummy
Druou vec, kterou jsem nasel je nove zarizeni IFB (Intermediate Functional Block). O tom vim, ze uz se do kernelu dostalo.
Nemate s IFB zkusenot? Mozna by to bylo dobre tema pro dalsi clanek. Diskuze o IFB
iptables -t mangle -A FORWARD -i eth0 -j IMQ --todev 0 iptables -t mangle -A FORWARD -i eth1 -j IMQ --todev 1 ip link set imq0 up ip link set imq1 upZdar Max

iptables -t mangle -A PREROUTING -i eth0 -j IMQ --todev 0 iptables -t mangle -A POSTROUTING -o eth0 -j IMQ --todev 0Nebo použít dvě imq zařízení :
iptables -t mangle -A PREROUTING -i eth0 -j IMQ --todev 0 iptables -t mangle -A PREROUTING -i eth1 -j IMQ --todev 0 iptables -t mangle -A PREROUTING -i eth2 -j IMQ --todev 0 iptables -t mangle -A PREROUTING -i eth3 -j IMQ --todev 0Tvůj první případ by ti omezil (kdyby to fungovalo) jen jeden směr. Říká, že příchozí traffic z eth0 bude posílat do imq0 a odchozí traffic do ostatních interfaceůbude posílán také do imq0. Je to prostě jeden směr. Asi jsi myslel něco, jako je můj druhý příklad. Prostě nasypat vše do PREROUTINGů
iptables -t mangle -A PREROUTING -i eth0 -j IMQ --todev 0 iptables -t mangle -A PREROUTING -i eth1 -j IMQ --todev 1 iptables -t mangle -A PREROUTING -i eth2 -j IMQ --todev 1 iptables -t mangle -A PREROUTING -i eth3 -j IMQ --todev 1Zdar Max
Mluvim o koncepcni zmene s tim, ze CBQ, HTB spolu s IMQ (RedHat asi vi, proc ho nedodadava ve svem enterprise kernelu, ackoli ma spoustu jinych vychytavek, vcetne treba ipt_recent - relativne nova vec v teto oblasti) a podobnymi ostruvky bez ladu a skladu neni jiz nejaky patek treba... jenze to radsi budeme debatovat nad vecmi leta starymi s dobrou dokumentaci, tutorialy atd. (uvadene demostrace jsou stejne spise teoreticka "zakladni" cviceni... a takovych cookbooku na slusny dotaz Googleho najdeme hafo) misto toho abychom psali opravdu o novych, uzitecnych a zajimavych vecech (u kterych je dokumentace poskrovnu a o cookboocich nemuze byt vubec rec) a to nejen z pohledu "kernel trafficu", ale predevsim z pohledu praktickeho vyuziti neceho, co uz je v produkcni fazi od jadra 2.6.11 (?)... Psat takto o IMQ melo smysl pred 2 lety, kdy se v LinuxCz konfere kazdou chvili vyskytoval dotaz na reseni shappingu, ktery inklinoval na vyuziti IMQ (pak by ten clanek mel smysl, protoze zdroju na IMQ bylo malo a mnoha lidem by to pomohlo, dnes se ten smysl znacne vytraci - krome nutnosti vydat denne aspon jeden clanek a odmeny autora), dnes, kdyz mame moderni a ve std. jadre obsazenou alternativu je to mysim trochu zastarale... - je mi lito, ze jsem Vam to musel takto po lopate nasazet a nejste schopen se dovtipit z kratkeho a presne vystizneho sdeleni... A pokud Vam to stale nesecvaklo nevadi, bud mate opravdovy zajem a najdete si podrobnosti, o kterych hovorim, a nebo to stejne nema smysl...
( Robert ví, o čem mluvím ) ..
Dalsi tema k debate na tema charita a co kdo dela/dokazal?
PS: A s tou charitou, docela jste mi nabeh na smec, kupodivu mezi nase reference lze zaradit dve charitativni organizace... (se specialnimi smluvnimi podminkami) - tak zas tak nevyskakujte...

jenže asi jinak než myslíš :) Jakožto člověka s rakovinou mě nemůže nějaký Pavel Janousek rozhodit
Zatím jsem se nedal zubaté, tak proč bych měl nějakému prudiči
To víš, někteří lidé neocení ani snahu ani čas vynaložený pro ty, co nemrskají anglinu jak bozi, potřebují to polopatě ale rádi by tomu přišli na kloub. Já ti děkuju za smysluplné, pěkně ilustrované a hlavně ČESKÉ články, kterých je opravdu málo.
"$TC qdisc add dev eth1 root handle 1:0 prio"hlavní třídu (jestli jsem to napsal správně). Problém je pouze ten že já QoS nechci používat na hlavní bráně. QoS chci použít na router kde každé rozhraní bude komunikovat s každým rozhraním a to ještě o různých rychlostech, tam se toto použít bohužel nedá.
Patch je zde:
--- imq.c.orig 2006-11-18 00:08:42.000000000 +0100
+++ imq.c 2006-12-17 23:34:03.000000000 +0100
@@ -201,13 +201,14 @@
ret = 0;
}
}
- if (spin_is_locked(&dev->xmit_lock))
- netif_schedule(dev);
- else
-
- while (!netif_queue_stopped(dev) &&
- qdisc_restart(dev)<0)
- /* NOTHING */;
+
+
+if (spin_trylock(&dev->xmit_lock)) {
+ qdisc_run(dev);
+ spin_unlock(&dev->xmit_lock);
+}else{
+ netif_schedule(dev);
+}
spin_unlock_bh(&dev->queue_lock);
--- imq.c.orig 2006-11-18 00:08:42.000000000 +0100
+++ imq.c 2006-12-17 23:34:03.000000000 +0100
@@ -201,13 +201,14 @@
ret = 0;
}
}
- if (spin_is_locked(&dev->xmit_lock))
- netif_schedule(dev);
- else
-
- while (!netif_queue_stopped(dev) &&
- qdisc_restart(dev)<0)
- /* NOTHING */;
+
+
+if (spin_trylock(&dev->xmit_lock)) {
+ qdisc_run(dev);
+ spin_unlock(&dev->xmit_lock);
+}else{
+ netif_schedule(dev);
+}
spin_unlock_bh(&dev->queue_lock);
(mezery si budete muset asi bohužel dosadit sami)
Toto neni pravda, pokud mate linux jako router (a o tom tenhle serial je, ne?) a udelate si na nem bridge z nekolika (ne vsech) fyzickych rozhrani, br0 bude mit ip adresu a je to stejne zarizeni jako napr. ethernet a muzete na nej tedy pouzivat i iptables a QoS (ja to takto provozuji bez problemu s HTB). Vase pripominka plati pouze v pripade, ze z linuxu delate switch a ne router, tedy neprochazi "skrz" nej zadna data a ani nemusi mit IP adresu (i kdyz kvuli vzdalene sprave si ji tam zrejme date).
Jinak hezky clanek, uz o pouziti IMQ uvazuji dost dlouho, ale stale cekam, az se to vic usadi a pripadne dostane do distribucniho jadra.
Tiskni
Sdílej: