Thank you for your suggestions.  I decided to go with the tap device and linux 
kernel network bridging.  It almost works.

I know this is off topic but I'll ask anyway.  Right now, my emulator can send 
packets successfully but only receives broadcast packets.  Using wireshark, I 
find that the bridge is sending packets for the tap device's Ethernet address 
to the Ethernet interface rather than the tap device.  Has anyone seen such 
behavior?  Can they recommend what I should look for to fix it?  (For the 
record, the tap device is created on the fly when the emulator launches.)

Thanks again,

  - Gary Palter
    Principal Software Engineer
    Clozure Associates

On Dec 5, 2012, at 6:59 PM, Ivo Smits <[email protected]> wrote:

> Just a few ideas which are probably somewhat easier:
> - Use libpcap to capture and inject network packets (useable directly 
> from userspace, you will need to handle packet filtering yourself but 
> it's easy)
> - Use a tap device and a linux kernel network bridge (the tap device 
> will work like a real switch port, with some filtering provided by the 
> network bridge)
> - Use VDE (should be easy to use, can connect to host network 
> interfaces, tap devices or act as a NAT gateway)
> 
> Ivo Smits
> 
> Op 5-12-2012 23:17, Gary Palter schreef:
>> I am working on a project for a client which involves migrating a 20+ year 
>> old application to Linux.  (All I can say about the application is that it's 
>> an emulator for an almost 30 year old computer architecture.)
>> 
>> The guest's operating system is aware that it's running in a virtual 
>> machine.  For network access, it communicates with the emulator through a 
>> set of queues to send and receive Ethernet packets.  In the original 
>> emulator, we attach a packet filter to the Ethernet interface in order to 
>> inject packets onto the wire and grab packets intended for the guest.
>> 
>> For the new emulator, we want to use the VirtualBox network drivers to setup 
>> a bridged interface.  I've spent several hours reading through the source 
>> code and, frankly, I'm lost.
>> 
>> How, exactly, does VirtualBox setup a bridged interface?  (I know that 
>> VboxNetFlt driver is involved but I don't know how it's hooked up.)  How is 
>> ARP handled?  How would I use the VirtualBox drivers in our emulator, 
>> keeping in mind that there's no VBox guest involved?
>> 
>> Thank you for your assistance,
>> 
>>  - Gary Palter
>>    Principal Software Engineer
>>    Clozure Associates


_______________________________________________
vbox-dev mailing list
[email protected]
https://www.virtualbox.org/mailman/listinfo/vbox-dev

Reply via email to