Skip to content

Add TAP/TUN network backend with bridge and host_ip support#124

Merged
RaymiiOrg merged 1 commit into
lenticularis39:mainfrom
hvolkmer:add-tap-tun-network-backend
Jul 10, 2026
Merged

Add TAP/TUN network backend with bridge and host_ip support#124
RaymiiOrg merged 1 commit into
lenticularis39:mainfrom
hvolkmer:add-tap-tun-network-backend

Conversation

@hvolkmer

Copy link
Copy Markdown
Contributor

Adds a pluggable network backend, refactored existing libpcap to use it and then added TAP backend.

Documented all options in es40.cfg example config.

This (partially) addresses #9

Adds a pluggable network backend, refactored existing libpcap
to use it and then added TAP backend.

Documented all options in es40.cfg example config.
@RaymiiOrg

Copy link
Copy Markdown
Collaborator

I want to take a better look at this one but due to time constraints i'll probably can do that next week or so.

@RaymiiOrg
RaymiiOrg merged commit 423cbad into lenticularis39:main Jul 10, 2026
3 of 5 checks passed
RaymiiOrg added a commit to RaymiiOrg/axpbox that referenced this pull request Jul 11, 2026
Adopt the CNetworkBackend abstraction (pcap + Linux TAP) from upstream
while preserving the local networking features on top of it:

- trace_packets tracing re-added in the DEC21143 RX/TX paths
- NetworkFilter struct extends set_filter() with the full CSR6
  semantics (PR/RA/PM/IF + broadcast + own-MAC fallback); the BPF
  builder moved from DEC21143::SetupFilter into CNetworkPcap
- Windows run-time wpcap.dll loading (from System32\Npcap) moved into
  NetworkPcap and shared with the es40-cfg wizard, replacing the two
  duplicated copies; the exe no longer needs Npcap in WinPcap-compat
  mode
- robust fgets-based adapter picker kept, now in CNetworkPcap::init
- adapter descriptions kept in the configure wizard device list
- new TAP config keys (type, host_ip, bridge, uplink, tap_create)
  added to the dec21143 config allow-list

Authored-By: Claude Fable 5 <noreply@anthropic.com>
jbglaw pushed a commit to jbglaw/es40 that referenced this pull request Jul 25, 2026
Pull all libpcap code out of the Tulip emulator and place it into a
"pcap" implementation. Also add a "tap" implementation that can work
on Linux and *BSD.

  The initial patch was taken from lenticularis39/axpbox#124
and, afaict, was created by Claude AI.

  This is tested to work on Linux with a bridge. Need to test is on some BSD,
and the pcap code is untested right now.
gdwnldsKSC added a commit to ES40-Emu/es40 that referenced this pull request Jul 25, 2026
* Abstract class for network support

Pull all libpcap code out of the Tulip emulator and place it into a
"pcap" implementation. Also add a "tap" implementation that can work
on Linux and *BSD.

  The initial patch was taken from lenticularis39/axpbox#124
and, afaict, was created by Claude AI.

  This is tested to work on Linux with a bridge. Need to test is on some BSD,
and the pcap code is untested right now.

* Add NetworkBackend and NetworkPcap source files

Added NetworkBackend.cpp and NetworkPcap.cpp to project.

* update VS files

* default to pcap if no selection made

---------

Co-authored-by: Jan-Benedict Glaw <jbglaw@getslash.de>
Co-authored-by: gdwnldsKSC <gary@kisaracorporation.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants