Перейти к содержимому
Калькуляторы

Вопрос к участникам топика: Если количество прерываний от интерфейса в ~2 раза меньше количества пакетов на этом адаптере (как на прием так и на передачу) - можно считать что NAPI работает?

 

параметры пока не менял, все по дефолту.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вопрос к участникам топика: Если количество прерываний от интерфейса в ~2 раза меньше количества пакетов на этом адаптере (как на прием так и

нет, есть же ещё аппаратный mitigation почти в каждом чипе сейчас

NAPI точно работает, если прерываний очень мало, пакетов дофига и ksoftirqd жрёт процессорное время

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо.

Придется таки все патчить.

 

mitigation, это если я правильно понял обработка за одно прерывание нескольких пакетов? грубо говоря...

где его можно подкрутить кстати? (linux 2.6.18-92)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

нет, есть же ещё аппаратный mitigation почти в каждом чипе сейчас

NAPI точно работает, если прерываний очень мало, пакетов дофига и ksoftirqd жрёт процессорное время

А есть всё-таки какое-то универсальное решение этой проблемы? :)

cat /proc/interrupts показывает

           CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7
  0: 1562814301 1549578480 1549994529 1544905266 1560963649 1571410789 1568273182 1568285439   IO-APIC-edge      timer
  1:          0          0          0          0          0          1          1          0   IO-APIC-edge      i8042
  8:          0          0          0          0          0          1          0          2   IO-APIC-edge      rtc0
  9:          0          0          0          0          0          0          0          0   IO-APIC-fasteoi   acpi
12:          1          0          0          0          1          0          1          1   IO-APIC-edge      i8042
14:          4          5          7          4          6          3          4          4   IO-APIC-edge      ata_piix
15:          0          0          0          0          0          0          0          0   IO-APIC-edge      ata_piix
18:  455280420  460072525  461290963  463303288  455449870  451472224  452187560  452275578   IO-APIC-fasteoi   eth0
19:  516189690  524537300  522968416  525956613  517966338  511646217  514012348  513983094   IO-APIC-fasteoi   eth1
20:   26074302   26169997   26102433   26191590   25976186   25827978   25883677   25815456   IO-APIC-fasteoi   ahci
22:          0          0          0          0          0          0          0          0   IO-APIC-fasteoi   uhci_hcd:usb3, uhci_hcd:usb5
23:          0          0          0          0          0          0          0          0   IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb2, uhci_hcd:usb4
NMI:          0          0          0          0          0          0          0          0   Non-maskable interrupts
LOC: 2006850366 1999651542 1882310260 1847929215 1931208731 1864046718 1814793937 1789130247   Local timer interrupts
RES: 1810464052 1618423759 1430671627 1524660401 1367995856 1431495941 1518026369 1317115226   Rescheduling interrupts
CAL:     794644     795401     738610     797235     728682     731757     801147     746862   function call interrupts
TLB:    1909395    1938160    6021155    1875073    6093067    5973964    1806645    5655024   TLB shootdowns
TRM:          0          0          0          0          0          0          0          0   Thermal event interrupts
SPU:          0          0          0          0          0          0          0          0   Spurious interrupts
ERR:          0
MIS:          0

Здесь есть что-нибудь полезное в плане "как быть дальше"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для броадкома (HP DL380G5) : (видимо Napi всетаки работает)

 

ethtool -C eth0 rx-usecs 1023 rx-frames 250 rx-usecs-irq 1023 rx-frames-irq 250 \

tx-usecs 1023 tx-frames 250 tx-usecs-irq 1023 tx-frames-irq 250

 

ethtool -G eth0 rx 1020 tx 255

 

 

ethtool -C eth1 rx-usecs 1023 rx-frames 250 rx-usecs-irq 1023 rx-frames-irq 250 \

tx-usecs 1023 tx-frames 250 tx-usecs-irq 1023 tx-frames-irq 250

 

ethtool -G eth1 rx 1020 tx 255

 

10:34:10 CPU intr/s

10:34:11 all 1144.55

10:34:11 0 469.31

10:34:11 1 470.30

 

10:43:18 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

10:43:19 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

10:43:19 eth0 30399.01 33446.53 15610.46 28359.79 0.00 0.00 0.00

10:43:19 eth1 31457.43 28580.20 27945.78 15539.67 0.00 0.00 0.00

 

interuppts:

 

39: 2845199508 2845311973 PCI-MSI-edge eth0

40: 2414901041 2414789361 PCI-MSI-edge eth1

 

 

Linux 2.6.29.4 (az) 07/14/09 _i686_ (2 CPU)

 

10:48:15 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle

10:48:16 all 2.48 0.00 0.00 41.09 0.00 26.73 0.00 0.00 29.70

10:48:16 0 1.98 0.00 0.00 32.67 0.00 25.74 0.00 0.00 39.60

10:48:16 1 2.97 0.00 0.00 49.50 0.00 27.72 0.00 0.00 19.80

 

 

роутов под 300к, ULOG ipset

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Аналогичная проблема как у топикостартера.

После 40кpps начинаются тормоза, и повышенная нагрузка от ksoftird.

 

Интересно что в этот момент по cat /proc/interrupts, ядро как будто не генерирует прерывания для данной сетевой карты.

 

По vmstat постоянно висит один или два процесса на обработке.

procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----

r b swpd free buff cache si so bi bo in cs us sy id wa

2 0 0 3153812 1340 36472 0 0 0 0 9932 7695 3 30 68 0

1 0 0 3153580 1340 36472 0 0 0 0 9342 5857 2 28 69 0

 

На сетевой карте дропы

ifconfig eth1

eth1 Link encap:Ethernet HWaddr 00:18:71:EC:3B:40

UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1

RX packets:691343878 errors:0 dropped:2931829 overruns:0 frame:6246776

TX packets:477170189 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:877183562 (836.5 MiB) TX bytes:129386047 (123.3 MiB)

Interrupt:17

 

cat /proc/net/softnet_stat

103f8690 00000000 0001d091 00000000 00000000 00000000 00000000 00000000 00000000

0fd484ec 00000000 00017ddf 00000000 00000000 00000000 00000000 00000000 00000000

10c2f0a5 00000000 000227be 00000000 00000000 00000000 00000000 00000000 00000000

103c94b3 00000000 0001c2c8 00000000 00000000 00000000 00000000 00000000 00000000

11aa96ed 00000000 000274c6 00000000 00000000 00000000 00000000 00000000 00000000

1045c738 00000000 000190e2 00000000 00000000 00000000 00000000 00000000 00000000

108715bd 00000000 0001ac05 00000000 00000000 00000000 00000000 00000000 00000000

1060ee69 00000000 0001bb9c 00000000 00000000 00000000 00000000 00000000 00000000

 

в соответсвии http://www.opennet.ru/docs/RUS/GigabitEthernet/

столбики:

1) Количество пакетов

2) Отброшенные пакета

3) Сколько раз обработка пакетов с устройства занимала слишком много времени

4) Переполнение backlog очереди

5) Количество fast routes

6) Количество успешных fast routes

7) Количество отложенных fast routes

8) Количество отброшенных fast routes

 

Кто может что подсказать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

_ruslan_

Посмотрите загрузку CPU, в частности si% по каждому CPU отдельно. Судя по всему просто не хватает производительности. Отсюда - оптимизировать правила iptables/tc, если есть, ставить производительнее CPU, ставить сетевую, которая умеет работать с несколькими CPU, добавлять сервак еще один.

 

повышенная нагрузка от ksoftird.

 

Интересно что в этот момент по cat /proc/interrupts, ядро как будто не генерирует прерывания для данной сетевой карты.

Драйвер переходит в режим поллинга и выгребает данные с сетевой карты как закончит обрататывать старые, а данные постоянно поступают - прерывание просто нет необходимости делать.

 

Еще можно route cache попробовать увеличить, но это полумера из разряда оптимизации правил tc/iptables...

 

Изменено пользователем vitalyb

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

_ruslan_

Посмотрите загрузку CPU, в частности si% по каждому CPU отдельно. Судя по всему просто не хватает производительности. Отсюда - оптимизировать правила iptables/tc, если есть, ставить производительнее CPU, ставить сетевую, которая умеет работать с несколькими CPU, добавлять сервак еще один.

 

повышенная нагрузка от ksoftird.

 

Интересно что в этот момент по cat /proc/interrupts, ядро как будто не генерирует прерывания для данной сетевой карты.

Драйвер переходит в режим поллинга и выгребает данные с сетевой карты как закончит обрататывать старые, а данные постоянно поступают - прерывание просто нет необходимости делать.

 

Еще можно route cache попробовать увеличить, но это полумера из разряда оптимизации правил tc/iptables...

Спасибо.

Буду разбираться.

Отпишусь потом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Убрал вообещ шейпер с него, упростил по максимум iptables помогло стало лучше, но все же далеко от идела бывают разного рода всплески и опять потери.

Мне не понятно откуда могут быть drop на интерфесах, вида:

 

bond0 Link encap:Ethernet HWaddr 00:18:71:EC:3B:40

inet addr:172.17.0.1 Bcast:172.17.0.255 Mask:255.255.255.0

UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1

RX packets:1638754357 errors:0 dropped:13193423 overruns:0 frame:9427441

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

TX packets:1317691332 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:3589397770 (3.3 GiB) TX bytes:3367247811 (3.1 GiB)

 

Может кто что может подсказать?

Изменено пользователем _ruslan_

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

_ruslan_

 

а что с bond0 - что в нем сбондено? и зачем? Какой процессор?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

_ruslan_

Что за сетевые карты( ethtool -i ethX, ethtool -g ethX )?

Чем еще загружен компьютер( желателен вывод top )?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 сетевые карты объеденины в виртуальный bond0.

Статистика Bonding:

 

Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)

 

Bonding Mode: load balancing (round-robin)

MII Status: up

MII Polling Interval (ms): 100

Up Delay (ms): 0

Down Delay (ms): 0

 

Slave Interface: eth0

MII Status: up

Link Failure Count: 0

Permanent HW addr: 00:18:71:ec:3b:40

 

Slave Interface: eth1

MII Status: up

Link Failure Count: 0

Permanent HW addr: 00:23:7d:06:92:f3

 

ethtool -i eth0

driver: e1000e

version: 0.3.3.4-k4

firmware-version: 5.11-10

bus-info: 0000:05:00.0

 

ethtool -i eth1

driver: tg3

version: 3.98

firmware-version: 5722-v3.07

bus-info: 0000:07:00.0

 

ethtool -g eth0

Ring parameters for eth0:

Pre-set maximums:

RX: 4096

RX Mini: 0

RX Jumbo: 0

TX: 4096

Current hardware settings:

RX: 256

RX Mini: 0

RX Jumbo: 0

TX: 256

 

ethtool -g eth1

Ring parameters for eth1:

Pre-set maximums:

RX: 511

RX Mini: 0

RX Jumbo: 0

TX: 511

Current hardware settings:

RX: 200

RX Mini: 0

RX Jumbo: 0

TX: 511

 

В каком виде htop?

 

Вообще кроме accel-pptp там более ничего и нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я, конечно, могу ошибаться, но по-моему сеевуха некошераня

driver: tg3
Я не знаю что это за чип, но может поставить интел? )

 

У меня в такой схеме наблюдается равнмерная загрузка от softrqd/Х (при условии что сетевки без MSI-X и висят на разных прерываниях)

 

cat /proc/interrupts в студию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно просто тупо выключить кабель из неё, и посмотреть конечно что изменится, но думаю что с картой все нормально.

 

cat /proc/interrupts

CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7

0: 1217 0 0 0 0 0 0 0 IO-APIC-edge timer

1: 0 0 0 0 0 0 0 0 IO-APIC-edge i8042

9: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi acpi

16: 45563172 45710066 45499149 45836313 534353457 534269510 534348903 534267480 IO-APIC-fasteoi uhci_hcd:usb3, eth0

17: 564859774 564713464 564924364 564714439 43589960 43673916 43520632 43602080 IO-APIC-fasteoi eth1

18: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb8

19: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb5, uhci_hcd:usb7

21: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb4

23: 218 206 224 233 197 188 224 199 IO-APIC-fasteoi ehci_hcd:usb2, uhci_hcd:usb6

NMI: 0 0 0 0 0 0 0 0 Non-maskable interrupts

LOC: 186023005 182670492 185383001 181856061 153044995 153809258 151503390 151181381 Local timer interrupts

SPU: 0 0 0 0 0 0 0 0 Spurious interrupts

RES: 34060 31141 100584 29140 112829 131990 23089 118184 Rescheduling interrupts

CAL: 24870 48132 46934 48320 45978 45823 48407 45876 Function call interrupts

TLB: 2111106 2243534 4326126 2141975 3847186 3590731 749821 3909423 TLB shootdowns

TRM: 0 0 0 0 0 0 0 0 Thermal event interrupts

ERR: 0

MIS: 0

 

Вначале было афинити ff, далее я изменил маску на f0 и 0f соответсвенно для разных сетевых.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

_ruslan_

На первый взгляд нужно поднимать Rx буферы до 511-1024( см. ethtool -G )

Под какую шину карточки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

_ruslan_

frame:9427441

Что-то дофига frame ошибок. Их в принципе быть не должно. На eth0 и eth1 тоже есть такие ошибки?

 

Попробуйте патчкорды сменить (хотя интерфейс виртуальный, хз что оно там считает).

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Он суммирует ошибки на обоих интерфейсах и показывает их на bond0.

Патч-корды фирменные. Сменить конечно могу, но уж в двух фирменных патчах проблемы ... как то маловероятно :-).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

_ruslan_

На первый взгляд нужно поднимать Rx буферы до 511-1024( см. ethtool -G )

Под какую шину карточки?

pci express обе.

 

tg3 - встроенная Broadcom Corporation NetXtreme BCM5722 Gigabit Ethernet PCI Express

e1000e - докупленная hp nc110t

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если карточки PCI-Express, то желательно заставить их работать через MSI, нужно проверить включена-ли в kernel'e его поддержка.

Проверить flow-control - должен быть выключен.

Попробовать использовать карточки поотдельности - может быть проблема в bond'e.

И для высоких скоростей весьма желательно повысить Rx дескрипторы - можно даже до максимально возможных значений.

Вывод top'a хотелось-бы увидеть, чтобы понять, что запущено и что кушает процессор.

Каковы функции компьютера - сервер или роутер?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вечером сделаю top. Отпишусь.

MSI нет в кернеле. Сегодня пересоберу и завтра с утреца обновлю ядро.

RX дискрипторы сегодня подниму.

 

Сервер - концентратор VPN каналов в инет.

Изменено пользователем _ruslan_

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

в 2.6.31 ведре линукса добавили статистику softirq:

 

http://git.kernel.org/?p=linux/kernel/git/...f17716fcc38ac5a

 

http://git.kernel.org/?p=linux/kernel/git/...7c10514f3644b30

Изменено пользователем Max P

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно просто тупо выключить кабель из неё, и посмотреть конечно что изменится, но думаю что с картой все нормально.

посмотри в сторону conntrack

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Коллеги, поделюсь своими результатами: есть роутер на базе hp dl140g6: 2 двухъядерных Intel® Xeon® CPU E5405 @ 2.00GHz, 1 гб памяти, две встроенных Broadcom Corporation NetXtreme BCM5722, в него дополнительно вставлена PCI с двумя Intel Corporation 82571EB Gigabit Ethernet Controller. Приходят два гигабитных линка из пиринговой сети, объединены бондингом и из двух других сетевых они уходят дальше в две сети. iptables около 10 правил, из них два ipset общим объемом около 10000 записей, резрешающих доступ пользователям с положительным балансом к пирингу. Вот как это хозяйство работает под нагрузкой:

 

cat /proc/interrupts
           CPU0       CPU1       CPU2       CPU3
  0:       2755       2667        136         44   IO-APIC-edge      timer
  1:          0          0          0          0   IO-APIC-edge      i8042
  2:          0          0          0          0    XT-PIC-XT        cascade
  8:         22         20         20         22   IO-APIC-edge      rtc0
14:          0          0          0          0   IO-APIC-edge      ata_piix
15:          0          0          0          0   IO-APIC-edge      ata_piix
16:          0          0          0          0   IO-APIC-fasteoi  uhci_hcd:usb4
18:          0          0          0          0   IO-APIC-fasteoi  uhci_hcd:usb3
19:      26053     275594    2922779    3839030   IO-APIC-fasteoi  ata_piix, uhci_hcd:usb2
23:          9         10         10         10   IO-APIC-fasteoi  uhci_hcd:usb1
501:   38263390   28502569 1977733517 4212008242   PCI-MSI-edge      eth3
502:   21617918   10776611 3834247345 2130725974   PCI-MSI-edge      eth2
503:   49333572   21167409 2293799977 2367620650   PCI-MSI-edge      eth1
504:    6038821   51622140 2825306791 2100860037   PCI-MSI-edge      eth0
NMI:          0          0          0          0   Non-maskable interrupts
LOC:  130696505   32134698   96901214   96414408   Local timer interrupts
RES:       3420       1956       7920       9877   Rescheduling interrupts
CAL:     111313     111361     111352        108   Function call interrupts
TLB:      25997      24192      62530      72723   TLB shootdowns
TRM:          0          0          0          0   Thermal event interrupts
SPU:          0          0          0          0   Spurious interrupts
ERR:          0
MIS:          0

sar -n DEV 1
Linux 2.6.28-hardened-r9 (peer)         09.09.2009      i686  (4 CPU)

22:41:52        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s  txcmp/s  rxmcst/s
22:41:53           lo      0,00      0,00      0,00      0,00      0,00     0,00      0,00
22:41:53         eth2  70018,81  56774,26  78251,12  42309,03      0,00     0,00      0,99
22:41:53         eth3  60036,63  49616,83  66420,76  24430,99      0,00     0,00      0,99
22:41:53         eth0  69968,32  86043,56  43968,65  95298,16      0,00     0,00     14,85
22:41:53         eth1  30875,25  38429,70  18985,35  42520,22      0,00     0,00      0,00
22:41:53        bond0 130055,45 106391,09 144671,88  66740,02      0,00    0,00      1,98
22:41:53      vlan257  69968,32  86093,07  43012,05  95372,14      0,00     0,00     12,87
22:41:53       vlan11  30875,25  38310,89  18563,22  42395,66      0,00     0,00     11,88

sar -u ALL 1
Linux 2.6.28-hardened-r9 (peer)         09.09.2009      i686  (4 CPU)

22:42:06        CPU      %usr     %nice      %sys   %iowait    %steal     %irq     %soft    %guest     %idle
22:42:07        all      0,24      0,00      0,00      0,00      0,00     0,24     22,14      0,00     77,38
22:42:08        all      0,00      0,00      0,00      0,00      0,00     0,00     22,44      0,00     77,56
22:42:09        all      0,00      0,00      0,47      0,00      0,00     0,47     20,05      0,00     79,01
22:42:10        all      0,00      0,00      0,00      0,00      0,00     0,49     32,52      0,00     66,99
^C

 

Теперь собственно вопросы. На встроенных бродкомах (eth0, eth1) периодически появляются ошибки rx. Сейчас их около 10 в секунду максимум, было очень много, пока не поставил на максимум параметры кольцевого буфера:

 

ethtool -g eth0
Ring parameters for eth0:
Pre-set maximums:
RX:             4096
RX Mini:        0
RX Jumbo:       0
TX:             4096
Current hardware settings:
RX:             4096
RX Mini:        0
RX Jumbo:       0
TX:             4096

 

Пробовал изменять параметры сoalesce как писали выше, однако ничего не получается: ethtool -C eth0 rx-usecs 1023 rx-frames 250 rx-usecs-irq 1023 rx-frames-irq 250 tx-usecs 1023 tx-frames 250 tx-usecs-irq 1023 tx-frames-irq 250 выполняется, однако никакие параметры не меняются:

 

ethtool -c eth0
Coalesce parameters for eth0:
Adaptive RX: off  TX: off
stats-block-usecs: 0
sample-interval: 0
pkt-rate-low: 0
pkt-rate-high: 0

rx-usecs: 1024
rx-frames: 0
rx-usecs-irq: 0
rx-frames-irq: 0

tx-usecs: 0
tx-frames: 0
tx-usecs-irq: 0
tx-frames-irq: 0

rx-usecs-low: 0
rx-frame-low: 0
tx-usecs-low: 0
tx-frame-low: 0

rx-usecs-high: 0
rx-frame-high: 0
tx-usecs-high: 0
tx-frame-high: 0

 

Что еще можно подкрутить, чтобы избавиться от ошибок? Какую максимальную пропускную способность можно получить от объединения двух гигабитных каналов? Какую максимальную пропускную способность можно получить от объединения 4-х гигабитных каналов, если поставить 4-х портовую карту типа Intel® PRO/1000 GT Quad Port Server Adapter?

Изменено пользователем a0d75

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня такое было если траф гонялся через conntrack. попробуй через notrack снизить нагрузку на проц

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хм, NOTRACK проблему не решил. Есть еще идеи?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.