The slirplog object must exist before calling slirp_new().
Function slirplog_error() can handle arguments now.
Most of the fprintf() calls replaced by slirplog_error().
Added IPv6 host forwarding feature (not yet used by Bochs).
Added stubs for slirp_connection_info() and slirp_neighbor_info().
Fixed some warnings.
Started implementing slirp debug message support. For now DEBUG_CALL messages
can be sent to log file by setting new option 'debug_switches' to 1.
Moved function slirp_warning() to slirp.cc (TODO: change fprintf() to slirp_warning()).
Updated some tcp_emu() stuff from libslirp (not yet used by Bochs).
Update of existing files based on libslirp 4.7.0 code. It compiles and works
on Linux (gcc 10.4) and Windows (mingw/msys with gcc 14 and VS2019).
Functionality tested on both platforms with Linux guest OS (Firefox shows website).
Next step will be the start of the IPv6 integration.
- Cleaned up system includes in slirp.h and removed most of the HAVE_* defines.
- Renamed exec_list to guestfwd_list and removed ex_pty member.
- Using type "char *" instead of "caddr_t".
- Modified info / error log message handling.
- Renamed insque / remque functions using "slirp_" prefix.
- Removed useless SVN ID from most file headers and add license specifier instead.
- applied remaining updates from Qemu slirp
- add #if blocks to all slirp .cc files for conditional compilation
- fixed some uninitialized variable warnings
is almost a port of the Qemu 1.1.2 implementation. It has been tested successfully
on Linux and Windows (MinGW/MSYS). The networking module is currently called
"slirp_new", since the "slirp" backend module still exists.
TODO list:
- MSVC support (requires container_of() macro replacement)
- apply fixes and improvements from recent Qemu releases
- use our TFTP implementation to reduce code duplication
- check if we can share ARP and DHCP support with "vnet"
- add SMB support on Linux
- finally remove the slirp backend module support