Как использовать Python для связи с NIC PCIe
Я тестирую пользовательский сетевой адаптер FPGA, и мне нужно отправить управляющую информацию (например, информацию заголовка для сопоставления) и данные о трафике на него с помощью генератора трафика из пространства пользователя.
Драйвер, созданный для FPGA, является модифицированной версией IXGBE с поддержкой DMA для управления, а также поддерживает DPDK для обхода ядра для достижения высокой пропускной способности.
Я пытаюсь понять, как различное программное обеспечение (драйвер, пользовательское приложение и т. Д.) Должно быть уложено в стек / соединено друг с другом, чтобы я мог достичь цели чтения и записи в PCIe на сетевой карте, используя набор сценариев из пользовательского пространства?
Я также смотрю на этот проект https://github.com/CospanDesign/python-pci который, однако, полезен на основе Xilinx XDMA.
Буду признателен за любую помощь, указатели на это.
1 ответ
Извините, вопрос слишком широкий. На такой широкий вопрос есть общий ответ: взгляните на Inter Process Communication:
https://en.wikipedia.org/wiki/Inter-process_communication
Существует множество методов, таких как сокеты Unix, разделяемая память, netlink и т. Д., Для взаимодействия между процессами в пространстве пользователя. А также различные методы для взаимодействия между пользовательским пространством и пространством ядра.
Просто выберите лучшее для вас и попробуйте что-нибудь сделать. Если не получится, зайдите на ТАК и спросите;)