Не знаю как насчет именно в VC, но в синтаксисе С в исходниках это все есть в эмуляторе Q-Emu (я вприглядку туда писал). Я себе задачу ставил противоположную: для понятности максимально упростить (в исходниках Q-Emu из-за интеграции собственно с остальным Q-Emu в этом модуле много лишних сложностей)
Я для простоты просто из реестра читаю. В винде7 видимо это в другом месте. Надо значит делать более сложный енумератор.
ТАР-адаптер видимо пытается получать адрес по DHCP, и не получив (оно и понятно - адаптер пока что обособлен от всего) назначает себе автоконфигурируемый IP 169.254.154.131. Соотвтетсвнно в testeth.exe в поле IP-адреса перед выполнением "Start Process Packets" надо назначить IP-адрес из этой же сети (типа 169.254.154.135) и маску такую же). Или для ТАР-адаптера установить фиксированный IP как 172.20.0.13 (к примеру) - т.е. одно из двух, но чтобы и testeth.exe и ТАР-адаптер логически были в общем сегменте IP-сети (физически они и так, понятно, в общем сегменте - типа как кросовером соединены). Тогда из Винды можно будет пинговать IP-адрес, назначенный в testeth.exe. Снаружи ни адрес testeth.exe ни адрес ТАР-адаптера пинговать нельзя, если в Винде не включен форвардинг пакетов (т.е. между реальным адаптером и TAP-адаптером). Также чтобы выпустить эмулятор "наружу" есть вариант с бриджем - когда ТAP и реальный адаптер объединяются в общее (единое) метаустройство с единственным IP (единым), но это уже совсем другая история.
В testeth.exe любые протоколы можно нарисовать, в т.ч. и "узел" DecNET. Она получает сырые пакета уровня Layer2 - это в модуле EthThrd.pas. Если посмотришь, дальше в файле Unit1.pas написан самый начальный уровень стека TCP (столько, сколько по минимуму надо чтобы описать ICMP echo reply). Если вместо него написать инкапсуляцию содержимого пакетов по правилам стека DecNET, то это будет эмулятор "узла" DecNET.
Если же есть реальный эмулятор, то DecNET будет эмулировать сам VAX-код в эмуляторе (самому писать стек не надо будет) - надо только правильно (через эмуляцию Ethernet-чипа/контроллера) предоставить VAX-коду доступ к этим самым сырым пакетам уровня Layer2 (т.е. тогда интерес будет представлять только модуль EthThrd.pas и его интеграция в готовый эмулятор через эмуляцию Ethernet-чипа).





.
Ответить с цитированием