IP-адрес и MAC-адрес, используемые в DPDK

Здравствуйте, эксперты по Stackoverflow!

Я боролся с тем, как использовать фрагментацию ip, предоставляемую DPDK. и мне было интересно, что у меня есть правильное понятие IP-адреса и MAC-адреса, используемого в заголовке Ethernet rte-mbuf.

Можно ли использовать только IP-адрес в заголовке rte-mbuf для передачи с локального на удаленный? В примерах приложений DPDK я вижу, что IP-адрес используется в хешированных таблицах, таких как таблица IP-фрагментов, после получения пакетов, но тот факт, что данные фактически получены только с использованием Mac-адреса Ethernet, создает у меня впечатление, что IP-адрес определяется только пользователем DPDK (разработчиками, использующими DPDK API) и не используется при фактической передаче данных.

Что-то не хватает в том, что я понимаю?


person Sungho Hong    schedule 16.09.2018    source источник


Ответы (1)


Ты прав. Большинство примеров DPDK работают на втором уровне модели OSI, то есть они заботятся только о MAC-адресах, а не об IP.

Пример повторной сборки IP основан на примере пересылки L2, то есть он действует как мост Ethernet. Однако для этого требуется анализ IP-адресов, то есть IP-адреса источника и назначения должны совпадать для всех фрагментов одного и того же потока.

Теперь отвечу на ваши вопросы:

Можно ли использовать только IP-адрес в заголовке rte-mbuf для передачи с локального на удаленный?

Если вы имеете в виду передачу с использованием rte_eth_tx_burst(), тогда нет, заголовка IP недостаточно. Заголовок Ethernet также должен быть правильно заполнен.

IP-адрес определяется только пользователем DPDK (разработчики используют DPDK API) и не используется при фактической передаче данных.

Поскольку пример повторной сборки основан на примере пересылки L2, он действует как повторная сборка моста Ethernet. Таким образом, у вас сложилось правильное впечатление, в этом примере пакеты не маршрутизируются на основе IP-адресов. Он просто использует IP-адреса для повторной сборки IP-фрагментов.

person Andriy Berestovskyy    schedule 17.09.2018