default_vlan Posted August 24, 2018 Posted August 24, 2018 (edited) Привет всем. Тут, на форуме, кто-то говорил, что 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
default_vlan Posted August 24, 2018 Author Posted August 24, 2018 Скормил библиотеку # 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
zstas Posted August 24, 2018 Posted August 24, 2018 нужно биндить драйвер 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
default_vlan Posted August 24, 2018 Author Posted August 24, 2018 (edited) 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
zstas Posted August 24, 2018 Posted August 24, 2018 интересно, предлагаю сконпелять 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
default_vlan Posted August 24, 2018 Author Posted August 24, 2018 (edited) 37 минут назад, zstas сказал: echo 2048 | sudo tee /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages С вашего позволения вопрос. Что тут, собственно, происходит? Каким образом она понимает куда складывать трафик? Или я опять не понял ничего?) Edited August 24, 2018 by default_vlan Вставить ник Quote
TheUser Posted August 24, 2018 Posted August 24, 2018 А что, DPDK поддерживает REALTEK??? Вставить ник Quote
zstas Posted August 24, 2018 Posted August 24, 2018 1 минуту назад, default_vlan сказал: С вашего позволения вопрос. Что тут, собственно, происходит? тут просто выделяется 2048 hugehages. ну мне нужно много оперативы отдать в hugepages, для дампа можно и поменьше наверное. через sysctl можно тоже самое сделать в принципе Вставить ник Quote
default_vlan Posted August 24, 2018 Author Posted August 24, 2018 Только что, zstas сказал: через sysctl можно тоже самое сделать в принципе а как он понимает куда именно складывать трафик? Тут как бы mount -t hugetlbfs nodev /mnt/huge/ без устройства. Вставить ник Quote
^rage^ Posted August 24, 2018 Posted August 24, 2018 3 минуты назад, default_vlan сказал: а как он понимает куда именно складывать трафик? Тут как бы mount -t hugetlbfs nodev /mnt/huge/ без устройства. что значит "складывать трафик"? Вставить ник Quote
zstas Posted August 24, 2018 Posted August 24, 2018 3 минуты назад, default_vlan сказал: а как он понимает куда именно складывать трафик? Тут как бы mount -t hugetlbfs nodev /mnt/huge/ без устройства. мой скрипт - он нужен чтобы в принципе dpdk запуститься мог. а куда складывать трафик - это уже к вашей утилите ман читать надо. Вставить ник Quote
Nickollla Posted August 24, 2018 Posted August 24, 2018 10 минут назад, TheUser сказал: А что, DPDK поддерживает REALTEK??? То же удивляет. Не нашел реалтека в поддерждке. https://core.dpdk.org/supported/ Вставить ник Quote
default_vlan Posted August 24, 2018 Author Posted August 24, 2018 (edited) 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
zstas Posted August 24, 2018 Posted August 24, 2018 2 минуты назад, default_vlan сказал: 6 минут назад, zstas сказал: а куда складывать трафик - это уже к вашей утилите ман читать надо. к какой именно? dpdk-pdump Вставить ник Quote
default_vlan Posted August 24, 2018 Author Posted August 24, 2018 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
NewUse Posted August 24, 2018 Posted August 24, 2018 права.... или папки нет или se-linux Вставить ник Quote
Ivan_83 Posted August 24, 2018 Posted August 24, 2018 13 часов назад, default_vlan сказал: И получаем такой ответ. Это ответ типа "Иди и купи себе нормальную сетевуху нищеброд"? Или как? NetMap умеют многие дрова, интел и рылотек точно. Вставить ник Quote
default_vlan Posted August 27, 2018 Author Posted August 27, 2018 В 25.08.2018 в 01:13, NewUse сказал: права.... или папки нет или se-linux там not_created файл. Хз в чем проблема. Вставить ник Quote
ixi Posted August 27, 2018 Posted August 27, 2018 В 24.08.2018 в 14:26, default_vlan сказал: Вот такая ситуация) http://doc.dpdk.org/guides/tools/pdump.html -- обратите внимание на выделенное Вставить ник Quote
default_vlan Posted August 27, 2018 Author Posted August 27, 2018 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
ixi Posted August 27, 2018 Posted August 27, 2018 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
default_vlan Posted August 27, 2018 Author Posted August 27, 2018 Только что, 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
ixi Posted August 27, 2018 Posted August 27, 2018 Ну и 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
default_vlan Posted August 27, 2018 Author Posted August 27, 2018 2 часа назад, ixi сказал: DPDK -- фреймворк для быстрой обработки пакетов, tcpdump -- утилита, чтобы быстро посмотреть пробегающие пакетики. Хорошо. А есть ли общий набор команд для корректного запуска dpdk-pdump? Вставить ник Quote
ixi Posted August 27, 2018 Posted August 27, 2018 3 часа назад, default_vlan сказал: Хорошо. А есть ли общий набор команд для корректного запуска dpdk-pdump? dpdk-pdump работает исключительно с приложениями, использующими dpdk и поддерживающими dpdk-pdump, тогда всё будет корректно Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.