default_vlan Posted August 24, 2018 (edited) · Report post Привет всем. Тут, на форуме, кто-то говорил, что 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) Как быть? Спасибо. Edited August 24, 2018 by default_vlan Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
default_vlan Posted August 24, 2018 · Report post Скормил библиотеку # 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 ничего не выдает. раньше ругалась, что драйвер не то и прочее. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
zstas Posted August 24, 2018 · Report post нужно биндить драйвер 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 вот мой скриптец который делает всё, для примера :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
default_vlan Posted August 24, 2018 (edited) · Report post 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 А за скрипт спасибо) Edited August 24, 2018 by default_vlan Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
zstas Posted August 24, 2018 · Report post интересно, предлагаю сконпелять 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 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
default_vlan Posted August 24, 2018 (edited) · Report post 37 минут назад, zstas сказал: echo 2048 | sudo tee /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages С вашего позволения вопрос. Что тут, собственно, происходит? Каким образом она понимает куда складывать трафик? Или я опять не понял ничего?) Edited August 24, 2018 by default_vlan Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
TheUser Posted August 24, 2018 · Report post А что, DPDK поддерживает REALTEK??? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
zstas Posted August 24, 2018 · Report post 1 минуту назад, default_vlan сказал: С вашего позволения вопрос. Что тут, собственно, происходит? тут просто выделяется 2048 hugehages. ну мне нужно много оперативы отдать в hugepages, для дампа можно и поменьше наверное. через sysctl можно тоже самое сделать в принципе Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
default_vlan Posted August 24, 2018 · Report post Только что, zstas сказал: через sysctl можно тоже самое сделать в принципе а как он понимает куда именно складывать трафик? Тут как бы mount -t hugetlbfs nodev /mnt/huge/ без устройства. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
^rage^ Posted August 24, 2018 · Report post 3 минуты назад, default_vlan сказал: а как он понимает куда именно складывать трафик? Тут как бы mount -t hugetlbfs nodev /mnt/huge/ без устройства. что значит "складывать трафик"? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
zstas Posted August 24, 2018 · Report post 3 минуты назад, default_vlan сказал: а как он понимает куда именно складывать трафик? Тут как бы mount -t hugetlbfs nodev /mnt/huge/ без устройства. мой скрипт - он нужен чтобы в принципе dpdk запуститься мог. а куда складывать трафик - это уже к вашей утилите ман читать надо. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Nickollla Posted August 24, 2018 · Report post 10 минут назад, TheUser сказал: А что, DPDK поддерживает REALTEK??? То же удивляет. Не нашел реалтека в поддерждке. https://core.dpdk.org/supported/ Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
default_vlan Posted August 24, 2018 (edited) · Report post 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) Вот такая ситуация) Edited August 24, 2018 by default_vlan Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
zstas Posted August 24, 2018 · Report post 2 минуты назад, default_vlan сказал: 6 минут назад, zstas сказал: а куда складывать трафик - это уже к вашей утилите ман читать надо. к какой именно? dpdk-pdump Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
default_vlan Posted August 24, 2018 · Report post 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 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NewUse Posted August 24, 2018 · Report post права.... или папки нет или se-linux Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted August 24, 2018 · Report post 13 часов назад, default_vlan сказал: И получаем такой ответ. Это ответ типа "Иди и купи себе нормальную сетевуху нищеброд"? Или как? NetMap умеют многие дрова, интел и рылотек точно. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
default_vlan Posted August 27, 2018 · Report post В 25.08.2018 в 01:13, NewUse сказал: права.... или папки нет или se-linux там not_created файл. Хз в чем проблема. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ixi Posted August 27, 2018 · Report post В 24.08.2018 в 14:26, default_vlan сказал: Вот такая ситуация) http://doc.dpdk.org/guides/tools/pdump.html -- обратите внимание на выделенное Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
default_vlan Posted August 27, 2018 · Report post 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 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ixi Posted August 27, 2018 · Report post 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. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
default_vlan Posted August 27, 2018 · Report post Только что, 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. Мы засунули костыль в костыль, чтобы у тебя был костыль на костыле, когда все на костылях? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ixi Posted August 27, 2018 · Report post Ну и 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 -- утилита, чтобы быстро посмотреть пробегающие пакетики. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
default_vlan Posted August 27, 2018 · Report post 2 часа назад, ixi сказал: DPDK -- фреймворк для быстрой обработки пакетов, tcpdump -- утилита, чтобы быстро посмотреть пробегающие пакетики. Хорошо. А есть ли общий набор команд для корректного запуска dpdk-pdump? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ixi Posted August 27, 2018 · Report post 3 часа назад, default_vlan сказал: Хорошо. А есть ли общий набор команд для корректного запуска dpdk-pdump? dpdk-pdump работает исключительно с приложениями, использующими dpdk и поддерживающими dpdk-pdump, тогда всё будет корректно Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...