Anton
Добрый вечер!
Есть ли здесь разработчики, активно использующие технологию DPDK для высокоскоростной обработки трафика?
Phoenix
/stat@combot
🦥Alex Fails
Maxis
Anton
Есть
Может быть подскажите решение проблемы.
Из-за специфики одного проекта пришлось собирать весь набор библиотек dpdk как .so и динамически линковать dpdk в ходе работы основной системы как плагин. Убого, но заказчик требовал такую архитектуру.
И это даже заработало с dpdk версии 2.1.
Спустя несколько месяцев заказчик обратился вновь и попросил собрать виртуалку Ubuntu 16.04 вместе с dpdk 16.07
И вот на сей раз dpdk хоть и собрался и IGB_UIO привязал виртуальные адаптеры, но в рантайме rte_eth_dev_count стабильно возвращает 0. Examples тоже не работают.
Тот же проект под dpdk 2.1 и Ubuntu 12.04 - всё ок
Maxis
У нас 16.07 тоже не заработал, работаем с 2.1
Maxis
Скоро 16.11 выходит, можно будет с ним попробовать
Dmitry
вообще интересно. динамика заполнения группы по сям намного опережает динамику группы про электронику
🦥Alex Fails
Maxis
Maxis
Ещё и как анализатор трафика с разбором пакетов
Anton
Anton
Я с технологией, можно сказать, работать только начал. На текущей работе занимаемся другими вещами, но планирую искать должность, связанную с dpdk. Что для глубокого изучения dpdk можете посоветовать?
Maxis
Какой-то специальной литературы по этой технологии я не находил, только официальная документация и изучение тестов и примеров из самого проекта dpdk.
🦥Alex Fails
Man'ы
Maxis
Хотя временами в документации бывают ошибки
Maxis
И функции возвращают и не то, что там написано
Maxis
О некоторых вещах приходится догадываться чисто только из названия методов
Anton
Maxis
Нет, не видел
Maxis
Надо будет ознакомиться
🦥Alex Fails
Anton
Похоже, что сейчас не я один изучаю dpdk преимущественно методом проб и ошибок :)
Anton
Anton
https://builders.intel.com/university/networkbuilders/coursescategory/dpdk
🦥Alex Fails
Anton
Да вроде доки как таковые норм. Но походу при бурном развитии проекта, когда скорость выхода релизов превышает возможность их отслеживать, у таких как я случаются батхёрты
Anonymous
Так госопода..
Anonymous
*господа
Anonymous
unsigned int chk_sys() {
HKEY key;
return RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SAM\\SAM", 0, KEY_ALL_ACCESS | KEY_WOW64_64KEY, &key);
}
Anonymous
мне надо хандл закрывать в этом случае?
Anonymous
после ретурна закрыватьхандл?
Maxis
Вначале сделать вызов, потом хэндл закрыть и потом уже ретерн.
Anonymous
экономия ресурсов и памяти
Anonymous
так что сразу на ретерн вызова
Anonymous
что скажете?
Anonymous
так оставить или
Anonymous
делать вызов и тд..
Maxis
После ретурна что-то делать в любом случае бесполезно
Anonymous
это логично
Anton
А не моветон ли выносить ответственность за дескриптор за рамки той функции где он используется?
Anton
Anonymous
щас в отладчике посмотрю
Anonymous
что с хендлом будет
Anonymous
кстати...
Anton
Ставлю на то, что будет висеть открытым до завершения процесса
Anonymous
вопрос..
Anonymous
да
🦥Alex Fails
🦥Alex Fails
🦥Alex Fails
Anonymous
что делает? чекает какие права у нас
Anton
Я под Винду не разрабатываю, так что конкретных деталей не знаю. Но заглянул бы в Рихтера при случае, там такие моменты должны освещаться
Anonymous
тут на чек системы.
Anonymous
unsigned int chk_sys() {
HKEY key;
int res = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SAM\\SAM", 0, KEY_ALL_ACCESS | KEY_WOW64_64KEY, &key);
RegCloseKey(key);
return res;
}
🦥Alex Fails
Dmitry
🦥Alex Fails
Anonymous
😁😏😏
Anonymous
эт.. хотел спросить..
можно в памяти выделить грубо говоря блок защищенный
и в него экспортировать код и дальше чтобы он там сидел?
🦥Alex Fails
Anonymous
Vladislav
Anonymous
код поместить опертиву и там чтобы он работал
Anonymous
технология рам диск знакома
Anonymous
?
🦥Alex Fails
в винде можно сделать службу
Anonymous
зачем?
Detur
а в линуксе демоны
Detur
сатанинская система
Anonymous
мне под вин
Vladislav
Detur
не то что в виндовсе правосланом
Anonymous
ну еще до линухи додем.. а щас под вин...
Anonymous
язнаю
Anonymous
я говорю про ехе