This only uses autoconf, not automake or libtool or intltool or whatever.
This also allows easy building of different emulators in different build directories.
I have tested TOPS-20 with pcap|tap+bridge, ITS with pcap|tun|tap+bridge, both on NetBSD and Linux
and hopefully everything still works after the fine-tuning.
However it turns out that Linux bridges are useless, since they freeze
the network when they are actually used (see http://www.microhowto.info/troubleshooting/troubleshooting_ethernet_bridging_on_linux.html#idp86992 )
"The machine appears to freeze
As noted above, adding an interface to a bridge causes it to
stop acting as an Internet Protocol endpoint. This could result
in the machine appearing to freeze.
"The underlying issue is that when an interface is attached to
a bridge then any network addresses need to be bound to the
bridge, not to the interface."
That makes them useless to configure temporarily without disturbing
the rest of the network traffic.
The goal is to retire KLH10_NET_BPF, _PFLT, _DLPI and _LNX as much as possible.
However where ethernet addresses are manipulated, such operating system dependent methods still need to be used, since libpcap does not handle that.
Code for the other packet filters is still included but most likely does not work.
To use the new code, add -DKLH10_NET_PCAP to the Makefile(s).
klh10$ patch -p1 <tuntap.patch
Hmm... Looks like a new-style context diff to me...
The text leading up to this was:
--------------------------
|*** klh10-2.0h/bld/lnx86/00build 2005-02-22 02:47:02.000000000
|-0500
|--- klh10-2.0i/bld/lnx86/00build 2005-09-10 01:05:48.000000000
|-0400
--------------------------
Patching file bld/lnx86/00build using Plan A...
Hunk #1 succeeded at 1.
Hmm... The next patch looks like a new-style context diff to me...
The text leading up to this was:
--------------------------
|*** klh10-2.0h/src/dpimp.c 2003-02-23 13:07:35.000000000 -0500
|--- klh10-2.0i/src/dpimp.c 2005-09-11 10:14:55.000000000 -0400
--------------------------
Patching file src/dpimp.c using Plan A...
Hunk #1 succeeded at 279.
Hunk #2 succeeded at 501.
Hunk #3 succeeded at 563.
Hunk #4 succeeded at 573.
Hunk #5 succeeded at 637.
Hunk #6 succeeded at 695.
Hunk #7 succeeded at 709.
Hunk #8 succeeded at 1755.
Hmm... The next patch looks like a new-style context diff to me...
The text leading up to this was:
--------------------------
|*** klh10-2.0h/src/dpimp.h 2001-11-19 05:45:49.000000000 -0500
|--- klh10-2.0i/src/dpimp.h 2005-08-16 20:05:22.000000000 -0400
--------------------------
Patching file src/dpimp.h using Plan A...
Hunk #1 succeeded at 106.
Hmm... The next patch looks like a new-style context diff to me...
The text leading up to this was:
--------------------------
|*** klh10-2.0h/src/dpni20.c 2003-02-23 13:07:50.000000000 -0500
|--- klh10-2.0i/src/dpni20.c 2005-09-09 20:50:47.000000000 -0400
--------------------------
Patching file src/dpni20.c using Plan A...
Hunk #1 succeeded at 177.
Hunk #2 succeeded at 388.
Hunk #3 succeeded at 456.
Hunk #4 succeeded at 491.
Hunk #5 succeeded at 506.
Hunk #6 succeeded at 1463.
Hunk #7 succeeded at 1531.
Hunk #8 succeeded at 1543.
Hmm... The next patch looks like a new-style context diff to me...
The text leading up to this was:
--------------------------
|*** klh10-2.0h/src/dpni20.h 2001-11-10 16:29:01.000000000 -0500
|--- klh10-2.0i/src/dpni20.h 2005-08-16 20:05:22.000000000 -0400
--------------------------
Patching file src/dpni20.h using Plan A...
Hunk #1 succeeded at 52.
Hmm... The next patch looks like a new-style context diff to me...
The text leading up to this was:
--------------------------
|diff -r -c --exclude='*.orig' --unidirectional-new-file
|klh10-2.0h/src/dvlhdh.c klh10-2.0i/src/dvlhdh.c
|*** klh10-2.0h/src/dvlhdh.c 2001-11-19 05:47:54.000000000 -0500
|--- klh10-2.0i/src/dvlhdh.c 2005-08-16 20:05:22.000000000 -0400
--------------------------
Patching file src/dvlhdh.c using Plan A...
Hunk #1 succeeded at 103.
Hunk #2 succeeded at 172.
Hunk #3 succeeded at 303.
Hunk #4 succeeded at 1066.
Hmm... The next patch looks like a new-style context diff to me...
The text leading up to this was:
--------------------------
|*** klh10-2.0h/src/dvni20.c 2001-11-10 16:29:03.000000000 -0500
|--- klh10-2.0i/src/dvni20.c 2005-08-16 20:05:22.000000000 -0400
--------------------------
Patching file src/dvni20.c using Plan A...
Hunk #1 succeeded at 157.
Hunk #2 succeeded at 295.
Hunk #3 succeeded at 393.
Hunk #4 succeeded at 720.
Hmm... The next patch looks like a new-style context diff to me...
The text leading up to this was:
--------------------------
|*** klh10-2.0h/src/Makefile.mk 2005-02-22 02:16:14.000000000 -0500
|--- klh10-2.0i/src/Makefile.mk 2005-08-16 20:05:22.000000000 -0400
--------------------------
Patching file src/Makefile.mk using Plan A...
Hunk #1 succeeded at 302.
Hmm... The next patch looks like a new-style context diff to me...
The text leading up to this was:
--------------------------
|*** klh10-2.0h/src/osdnet.c 2005-04-28 18:01:04.000000000 -0400
|--- klh10-2.0i/src/osdnet.c 2005-09-11 11:12:41.000000000 -0400
--------------------------
Patching file src/osdnet.c using Plan A...
Hunk #1 succeeded at 812.
Hunk #2 succeeded at 1131.
Hunk #3 succeeded at 1162.
Hunk #4 succeeded at 1225.
Hunk #5 succeeded at 1616.
Hunk #6 succeeded at 1633.
Hunk #7 succeeded at 1691.
Hunk #8 succeeded at 1721.
Hunk #9 succeeded at 1817.
Hmm... The next patch looks like a new-style context diff to me...
The text leading up to this was:
--------------------------
|*** klh10-2.0h/src/osdnet.h 2001-11-19 05:34:01.000000000 -0500
|--- klh10-2.0i/src/osdnet.h 2005-08-16 20:05:22.000000000 -0400
--------------------------
Patching file src/osdnet.h using Plan A...
Hunk #1 succeeded at 69.
Hunk #2 succeeded at 146.
Hunk #3 succeeded at 382.
done
klh10$