By using netgraph, some limitations from bpf method
are removed. Bochs
ne2k works as it were a real adapter attached on the
subnet. To compile
this patch, adds LIB+=-lnetgraph somewhere when
building bochs on FreeBSD.
Example:
# ngctl list
There are 2 total nodes:
Name: ngctl36140 Type: socket ID:
00000011 Num hooks: 0
Name: fwe0 Type: ether ID:
00000001 Num hooks: 0
# ngctl mkpeer fwe0: bridge lower link0
# ngctl list
There are 3 total nodes:
Name: ngctl36142 Type: socket ID:
00000014 Num hooks: 0
Name: <unnamed> Type: bridge ID:
00000013 Num hooks: 1
Name: fwe0 Type: ether ID:
00000001 Num hooks: 1
# ngctl name fwe0:lower bxb1
# ngctl list
There are 3 total nodes:
Name: ngctl36146 Type: socket ID:
00000016 Num hooks: 0
Name: bxb1 Type: bridge ID:
00000013 Num hooks: 1
Name: fwe0 Type: ether ID:
00000001 Num hooks: 1
# ngctl connect fwe0: bxb1: upper link1
Then modify the bochsrc with the following line
ne2k: ioaddr=0x280, irq=10,
mac=00:11:22:33:44:66, ethmod=fbsd,
ethdev=bxb1:, script=none
# (execute bochs)
Be careful that ngctl will reset the interface.