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

Привет всем.
Тут, на форуме, кто-то говорил, что tcpdump это мастдай и надо юзать dpdk. Сказано - apt-установлено. Что дальше?
 

# dpdk-devbind --status

...
Network devices using kernel driver
===================================
0000:01:00.0 'RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller 8168' if=enp1s0 drv=r8169 unused=r8168 
0000:06:01.0 'DGE-528T Gigabit Ethernet Adapter 4300' if=enp6s1 drv=r8169 unused= *Active*
0000:06:04.0 'RTL-8110SC/8169SC Gigabit Ethernet 8167' if=enp6s4 drv=r8169 unused= 
...

Хорошо. Видим 3 сетевых. Пробуем биндить.

# dpdk-devbind -b r8169 0000:06:04.0

Warning - no supported modules(DPDK driver) are loaded
0000:06:04.0 already bound to driver r8169, skipping

И получаем такой ответ. Это ответ типа "Иди и купи себе нормальную сетевуху нищеброд"? Или как?

 

С dpdk-pdump, dpdk-pmdinfo, dpdk-procinfo я вообще не понял что делать. Ну есть они. Ответ "примерно" такой же, как и выше.

# dpdk-pdump
EAL: Detected 4 lcore(s)
PANIC in rte_eal_config_attach():
Cannot open '/var/run/.rte_config' for rte_mem_config
6: [dpdk-pdump(_start+0x2a) [0x55ae85dbb8da]]
5: [/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7fb1ef94bb97]]
4: [dpdk-pdump(main+0x157) [0x55ae85dc4489]]
3: [/usr/lib/x86_64-linux-gnu/librte_eal.so.17.11(rte_eal_init+0xf97) [0x7fb1eff42427]]
2: [/usr/lib/x86_64-linux-gnu/librte_eal.so.17.11(__rte_panic+0xbd) [0x7fb1eff40d0d]]
1: [/usr/lib/x86_64-linux-gnu/librte_eal.so.17.11(rte_dump_stack+0x2e) [0x7fb1eff4923e]]
Aborted (core dumped)

 

Как быть?

Спасибо.

 

 

 

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

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


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

Скормил библиотеку
 

# modprobe uio_pci_generic 
# lsmod | grep uio_pci_generic 
uio_pci_generic        16384  0
uio                    20480  1 uio_pci_generic

Теперь хоть 

# dpdk-devbind -u 0000:06:04.0 
0000:06:04.0 RTL-8110SC/8169SC Gigabit Ethernet  is not currently managed by any driver

Иначе ругается, а также 

# dpdk-devbind -b r8169 0000:06:04.0

ничего не выдает. раньше ругалась, что драйвер не то и прочее.

 

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


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

нужно биндить драйвер igb_uio

ну и вообще какая версия dpdk?

 

$ cat /opt/url_filter/startup.sh
#/bin/bash
sudo modprobe uio
sudo insmod /opt/dpdk-stable-17.05.1/build/kmod/igb_uio.ko
echo 2048 | sudo tee /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
sudo mount -t hugetlbfs nodev /mnt/huge/
sudo /opt/dpdk-stable-17.05.1/usertools/dpdk-devbind.py --bind=igb_uio 06:00.0
sudo /opt/dpdk-stable-17.05.1/usertools/dpdk-devbind.py --bind=igb_uio 06:00.1

вот мой скриптец который делает всё, для примера :)

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


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

31 минуту назад, zstas сказал:

ну и вообще какая версия dpdk?

# dpkg -l | grep dpdk
ii  dpdk                                   17.11.3-3~ubuntu0.18.04           amd64        Data Plane Development Kit (runtime)
ii  dpdk-dev                               17.11.3-3~ubuntu0.18.04           amd64        Data Plane Development Kit (development files)
ii  libdpdk-dev:amd64                      17.11.3-3~ubuntu0.18.04           amd64        Data Plane Development Kit (basic development files)

Установка из репозитория.

К сожалению, igb_uio.ko в системе не нашлось. Пришлось apt-get install dpdk-igb-uio-dkms

В процессе сборки установился модуль /lib/modules/4.15.0-32-generic/updates/dkms/igb_uio.ko

 

А за скрипт спасибо)

 

 

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

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


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

интересно, предлагаю сконпелять dpdk, у меня такая же версия есть в проде и там всё есть

 

zstas@dpdk-test:~/dpdk-stable-17.11.3/build/kmod$ ls -la
total 72
drwxrwxr-x 2 zstas zstas  4096 Jul  2 10:47 .
drwxrwxr-x 7 zstas zstas  4096 Jul  2 10:48 ..
-rw-rw-r-- 1 zstas zstas 20784 Jul  2 10:47 igb_uio.ko
-rw-rw-r-- 1 zstas zstas 40928 Jul  2 10:47 rte_kni.ko

 

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


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

37 минут назад, zstas сказал:

echo 2048 | sudo tee /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages

С вашего позволения вопрос. Что тут, собственно, происходит? Каким образом она понимает куда складывать трафик? Или я опять не понял ничего?)

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

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


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

1 минуту назад, default_vlan сказал:

С вашего позволения вопрос. Что тут, собственно, происходит?

тут просто выделяется 2048 hugehages.

ну мне нужно много оперативы отдать в hugepages, для дампа можно и поменьше наверное.
 

через sysctl можно тоже самое сделать в принципе

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


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

Только что, zstas сказал:

через sysctl можно тоже самое сделать в принципе

а как он понимает куда именно складывать трафик? Тут как бы mount -t hugetlbfs nodev /mnt/huge/ без устройства.

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


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

3 минуты назад, default_vlan сказал:

а как он понимает куда именно складывать трафик? Тут как бы mount -t hugetlbfs nodev /mnt/huge/ без устройства.

что значит "складывать трафик"?

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


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

3 минуты назад, default_vlan сказал:

а как он понимает куда именно складывать трафик? Тут как бы mount -t hugetlbfs nodev /mnt/huge/ без устройства.

мой скрипт - он нужен чтобы в принципе dpdk запуститься мог. а куда складывать трафик - это уже к вашей утилите ман читать надо.

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


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

10 минут назад, TheUser сказал:

А что, DPDK поддерживает REALTEK???

То же удивляет. Не нашел реалтека в поддерждке. https://core.dpdk.org/supported/

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


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

5 минут назад, Nickollla сказал:

То же удивляет. Не нашел реалтека в поддерждке

# dpdk-devbind --status

Network devices using DPDK-compatible driver
============================================
0000:06:04.0 'RTL-8110SC/8169SC Gigabit Ethernet 8167' drv=igb_uio unused=r8169

совместимые дрова igb_uio и uio

 

 

7 минут назад, zstas сказал:

а куда складывать трафик - это уже к вашей утилите ман читать надо.

к какой именно? У меня их 6

 

# dpdk-pdump 
EAL: Detected 4 lcore(s)
PANIC in rte_eal_config_attach():
Cannot open '/var/run/.rte_config' for rte_mem_config
6: [dpdk-pdump(_start+0x2a) [0x55c6795408da]]
5: [/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7f05258deb97]]
4: [dpdk-pdump(main+0x157) [0x55c679549489]]
3: [/usr/lib/x86_64-linux-gnu/librte_eal.so.17.11(rte_eal_init+0xf97) [0x7f0525ed5427]]
2: [/usr/lib/x86_64-linux-gnu/librte_eal.so.17.11(__rte_panic+0xbd) [0x7f0525ed3d0d]]
1: [/usr/lib/x86_64-linux-gnu/librte_eal.so.17.11(rte_dump_stack+0x2e) [0x7f0525edc23e]]
Aborted (core dumped)

Вот такая ситуация)

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

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


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

2 минуты назад, default_vlan сказал:
6 минут назад, zstas сказал:

а куда складывать трафик - это уже к вашей утилите ман читать надо.

к какой именно?

dpdk-pdump

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


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

45 минут назад, zstas сказал:

dpdk-pdump

Я вот одного понять не могу. 

https://doc.dpdk.org/guides/howto/packet_capture_framework.html

 

Цитата

Send traffic to dpdk_port0 from traffic generator. Inspect packets captured in the file capture.pcap using a tool that can interpret Pcap files, for example tcpdump:


$tcpdump -nr /tmp/capture.pcap

А зачем все эти извращения?

 

Кстати, так и не смог запустить. Орет на отсутствующий конфиг в /var/run

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


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

13 часов назад, default_vlan сказал:

И получаем такой ответ. Это ответ типа "Иди и купи себе нормальную сетевуху нищеброд"? Или как?

NetMap умеют многие дрова, интел и рылотек точно.

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


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

В 25.08.2018 в 01:13, NewUse сказал:

права.... или папки нет или se-linux

там not_created файл. Хз в чем проблема.

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


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

В 24.08.2018 в 14:26, default_vlan сказал:

Вот такая ситуация)

http://doc.dpdk.org/guides/tools/pdump.html -- обратите внимание на выделенное

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


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

2 часа назад, ixi сказал:

обратите внимание на выделенное

На что именно обратить? Там много выделенного.

Пробую запустить:

dpdk-pdump -- --pdump 'device_id=06:04.0,queue=*,rx-dev=/mnt/rx.pcap'

Дядьки тут говорят, что надо:

Цитата

echo 0 > /proc/sys/kernel/randomize_va_space

Ну ок, сделал.

# dpdk-pdump -- --pdump 'device_id=06:04.0,queue=*,rx-dev=/mnt/rx.pcap'
EAL: Detected 4 lcore(s)
EAL: Probing VFIO support...
RING: Cannot reserve memory
EAL: Error - exiting with code: 1
  Cause: File exists
# cat /proc/meminfo | grep Huge
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
HugePages_Total:    1764
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

 

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


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

4 минуты назад, default_vlan сказал:

На что именно обратить? Там много выделенного.

The dpdk-pdump tool can only be used in conjunction with a primary application which has the packet capture framework initialized already.

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


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

Только что, ixi сказал:

The dpdk-pdump tool can only be used in conjunction with a primary application which has the packet capture framework initialized already.

Аааа. Ну так я и поднимал выше вопрос об этом. В теме за яровую были крики и вопли, что tcpdump это мастдай, а dpdk вроде бы даже очень норм. А по факту оказывается, что dpdk юзает tcpdump. 

 

Мы засунули костыль в костыль, чтобы у тебя был костыль на костыле, когда все на костылях?

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


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

Ну и

The dpdk-pdump tool depends on libpcap based PMD which is disabled by default

 

2 минуты назад, default_vlan сказал:

Аааа. Ну так я и поднимал выше вопрос об этом. В теме за яровую были крики и вопли, что tcpdump это мастдай, а dpdk вроде бы даже очень норм. А по факту оказывается, что dpdk юзает tcpdump. 

 

Мы засунули костыль в костыль, чтобы у тебя был костыль на костыле, когда все на костылях?

Сравнивать dpdk и tcpdump -- как тёплое со сладким. DPDK -- фреймворк для быстрой обработки пакетов, tcpdump -- утилита, чтобы быстро посмотреть пробегающие пакетики.

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


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

2 часа назад, ixi сказал:

DPDK -- фреймворк для быстрой обработки пакетов, tcpdump -- утилита, чтобы быстро посмотреть пробегающие пакетики.

Хорошо. А есть ли общий набор команд для корректного запуска dpdk-pdump?

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


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

3 часа назад, default_vlan сказал:

Хорошо. А есть ли общий набор команд для корректного запуска dpdk-pdump?

dpdk-pdump работает исключительно с приложениями, использующими dpdk и поддерживающими dpdk-pdump, тогда всё будет корректно

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


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

Join the conversation

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

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

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

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

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

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

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