Brownian motion

around the essentials…

 

Posts Tagged ‘Linux’

Діаграми з pic/[g]roff

Простенька діаграма — справді простенька, можливостей значно більше:

.PS
A: box "foo" fill 0.2; move;
B: box "moo";
arrow right at 1/4 <A.e,A.ne>;
arrow left at 1/4 <B.w,B.sw>;
.PE
 
.PS
A: box "moo" fill 0.2; move;
B: box "foo"; move;
C: box "moo";
arrow right at 0 <A.e,A.ne>;
arrow right at 1/3 <B.e,B.ne>;
arrow left at 1/3 <C.w,C.sw>;
.PE
 
.PS
A: box "moo" fill 0.2; move;
B: box "foo";
arrow right at 0 <A.e,A.ne>;
.PE
 
\"
\" Make it:
\" groff -Tpdf -p test.roff > test.pdf
\"
\" Manual:
\" https://www.complang.tuwien.ac.at/doc/groff-base/html/pic.html

(No Ratings Yet)

LilyPond → WordPress: update your sheets easy

Sorry, but this post is not available in English yet

(1 votes, average: 5.00 out of 5)

Трохи роботи .)

Щойно дописав підтримку IPv6 для свого конфігуратора (Django/Python) шейпера (HTB/Linux).

«Воно жахливе, але працює чудово»™ .)

(No Ratings Yet)

Любителям руської мови — книжка :-)

Вже надрукували, ще не отримали надруковане, але вже опублікували «повноякісний» PDF (лише обрізаний по формату, та ще з підсвіченими гіперпосиланнями — у надрукованому немає ані підсвітки, ні гіперпосилань.)).

«Це було славне полювання» © Акела

Усім любителям дякую :-)

(No Ratings Yet)

bc як конвертор основи

Утиліту bc (an arbitrary precision calculator language) можна досить зручно використовувати для конвертування чисел між основами, в тому числі у скриптах:

$ echo "ibase=16; obase=2; 5F" | bc
1011111
 
$ echo "ibase=16; obase=8; 32" | bc 
62
 
$ echo "ibase=10; obase=4; 12" | bc 
30

Може, комусь і згодиться.

(No Ratings Yet)

tc filter … protocol 802.1q … u32 and filtering VLAN tagged packets

This info was tested with kernels 2.6.26 and 2.6.32. Caution, 2.6.31, looks like, has some nitpicks.

Well, I did not examine cls_u32.c etc-etc — so I can be wrong .)

Some notes regarding «filtering logic»:

  • When we write tc filter ... protocol <proto> u32 match u<length> <value> <mask> at <offset> — we mention an offset «from ZERO», the kernel does it «from the beginning of IP packet».
  • If an Ethernet frame does not contain IP packet inside — it’s possible to filter all packets for protocol specified (as, for example, one can filter all STP packets here), but not with an offset/mask. Such frames do not contain «zero» position, I guess.
  • Filter tree should/may/can contain only filters for the same protocol. If we need to filter different protocols, we can do this, but this is another topic.

Here is a «demo» script (fully working however), which will filter packets in vlan 22 and 310 into different classes (as usually, I am talking of linux bridge with shaper on it; and this bridge passes throught vlan tagged traffic):

» Script and comments… »

(No Ratings Yet)

“Tweaking” photographed text pages

This time we have this task: we need to print badly taken digital pictures, so we have to improve them in some way — raise contrast, sharpen, make them «looking better».

As always, this result can be achieved going both easy (easy-to-use) and hard (where-am-i?..) way — we will pass both.

(Surely, below is not a single algorithm to do this job.)

Contents

  1. «Easy» — graphical — way
  2. «Hard» — from a command-line
  3. Conclusion

» Read more — algorithms, screenshots, explanations… »

(No Ratings Yet)

Finally: my django-based configurator for HTB shaper works

Well.. I’ve done my django based configurator for my HTB shaper (bridge/linux).

I will try to translate this post in english; if you can read Ukrainian, try here.

*subj* :-)

Давно було зрозуміло, що без нормального конфігуратора керувати нормальним шейпером «важкувато», але… все ускладнювала одна обставина — я не програміст (тм).

Чим мене не влаштовують наявні інструменти?

По-перше, всі знайдені вирішують трохи інші задачі, простіші; зокрема, я так і не знайшов конфігуратора для «свого шейпера» — шейпера на мості (bridge/linux), з використанням хеш-таблиць. Для великої кількості клієнтів, для великої кількості IP адрес.

Отже, мені треба було написати щось своє.

Я собі спростив задачу:

  1. Хай його всі сварять — я використовуватиму django.
  2. Поєднувати в одній схемі «службові» («кістякові») та «клієнтські» класи здалося заважким — вирішив зробити інакше: для генерування «кістяка» шейпера використовуватиметься окремий скрипт, а для конфігурування (генерування відповідного скрипта) клієнтських класів зроблю собі GUI.

Мій шейпер (тм,-) використовує хеш-таблиці; ці таблиці створює вищезгаданий «окремий скрипт», а заповнюються вони вже скриптами, які генеруються автоматично, засобами django, через специфічні представлення даних.

Отже, «схема» містить такі сутності:

» Read more — code and comments… »

(No Ratings Yet)

Use Windows “alt codes” in Linux but better

The one thing that most of us Linux users miss when leaving Windows behind is that «alt codes» are not supported. Well here is an under documented feature that should allow you to type alt codes and access all of the special characters with Ubuntu, Red Hat or whatever flavour of Linux you play or work with.

Windows «Alt Codes» for Linux works like this.

Ctrl+Shift+u

Hold down Control and then Shift and press the «u» key. You should get an odd looking character that is waiting for input. Type the numeric code and press space. You can use more than just ASCII but can use hex values too!

Now you can type and unicode value and get the character in you Linux text field. Feel free to say how fantastic I am.

So now you can type your «æ» or «Þ» or whatever. Spend only ¼ of the time typing characters and more time being cool.

Need a better look up for characters? http://unicode.org/charts/ is a full collection of PDF charts of all the information you should ever need.

ps. This took word-by-word from here: Use Windows «alt codes» in Linux but better, by Lord Matt.

(No Ratings Yet)

HTB/8021q: That was my fault

Regarding the problem with shaping vlan-tagged traffic on linux bridge — it was my fault :-)

I asked community@lists.altlinux.org, and Sergey Vlasov answered me with some info and hint — thanks a lot!-)

As Sergey told, «a packet is being passed to bridge module before 8021q can process it». That’s why the classifier decides that a packet does not match a filter rule — because filter contains «protocol ip» condition, however a packet contains «protocol 802.1q» actually. It look like it’s enough to use «protocol 802.1q» in filter condition — after that ip addresses (offsets from IP packet’s start) will be counted correctly.

This offers a possibility to build «aggregating shapers» on linux bridges, which will be able to shaper clients” traffic regardless of «traffic direction» (regardless of a particular vlan membership). And it will be very easy to migrate from an «usual» shaper on linux bridge — we will have to replace «protocol ip» with «protocol 802.1q» in a filter template (or we can add one more filter — if it is really necessary).

(No Ratings Yet)

Problem with shaping vlan-tagged traffic on linux bridge

Update: there are no any problem with vlans in classifiers, that was my fault.

Have been playing with shapers and run into such a problem: u32 classifier does not work (?) for tagged traffic on «non-tagged» linux bridge.

In more details:

Test bed:

Let’s take three linux boxes. One will be two-ports switch (SW), on two another (BoxA and BoxB) we will configure IP addresses 172.17.2.10/24 and 172.17.2.11/24, for example.

So.. For the beginning BoxA should ping BoxB on crossover cable.

» Read more — code and comments… »

(No Ratings Yet)

Recent Posts

Tags

Archives