AFAIK, зацикливание происходит на уровне сокетов (уровень 5-7), тогда как net_dev используется в качестве компонента ядра, который немедленно взаимодействует с драйвером, когда вы на самом деле хотите использовать, скажем, карту Ethernet или SLIP, PLIPдля передачи кадров (уровень 2-0).Обратная петля происходит на уровне сетевой подсистемы ядра и располагается над драйверами, взаимодействующими с оборудованием.Так что я не понимаю, зачем вам нужен драйвер для использования функции обратной петли.Тем не менее, существует также положение для регистрации фиктивного устройства с помощью net_dev, хотя я не знаю, является ли это тем, что вы ищете.
Тем не менее, если вы намереваетесь просто использовать какой-то драйвер, который имитируетфактическое физическое устройство без такового и, скажем, отражает пакеты, которые оно получает, что также возможно.По существу, до уровня net_dev ядро выполняет всю работу по протоколу (TCP / IP) и, наконец, передает пакет некоторому дескриптору, который драйвер устройства регистрирует с помощью net_dev или чего-то подобного.Аналогичным образом, при получении данных, устройство запускает прерывание, драйвер выполняет операцию DMA, и ядро принимает управление оттуда.Следовательно, вместо кода для выполнения операции DMA, вы можете создать модуль, который просто передает статический пакет, совместимый с Ethernet / TCP / IP.В подавляющем большинстве случаев все эти аспекты (сеть и другие подсистемы) не зависят от деталей базовой шины, т. Е. Не должно иметь значения, подключена ли карта Ethernet к PCI или ISA, но могут быть исключения.Таким образом, ИМХО, вы пытаетесь сделать что-то, что следует делать только после тщательного понимания сетевой подсистемы и достаточного понимания ядра в целом.До этого момента вы будете снимать в темноте.Иногда вы можете ударить, но часто вы пропустите.