SLiRP vs PCAP for networking

Started by NorthShoreNeXT, Sep 17, 2026, 04:04 PM

Previous topic - Next topic

NorthShoreNeXT

So I am able to build and run Previous 4.4 on Linux (Mint 22 is built off of Ubuntu 24) and I had to play with the SDL3 libs a bit.

My problem is that if I use SLiRP, I can ping 10.0.2.2 (gateway) and 10.0.2.3 (dns) and 10.0.2.254 (nfs) and my own Previous instance (10.0.2.15) but I cannot access anything outside of the 10.x network.

I have all the pcap-dev packages loaded and I enabled the Previous binary to use pcap. (reviewing the log file/verbose at startup, it is not throwing errors, but there are messages about nibbling)

But if I grab a static IP and setup the router and such for my 192.168.0.x network, the "LED" for the EN flickers on the VM, but all packets are dropped.

Any tips?

ZombiePhysicist

Strange. I don't know off hand but wasn't SLiRP more a dialup phone thing. My memory is hazy on it. 

There used to be a way to get dynamic dhcp on NeXT but I forgot how I got that working back in the day.

Rhetorica

So, to elucidate, SLiRP is a simulated network that Previous uses to present the appearance of a normal TCP/IP application to the outside. It's the recommended default for most users since it Just Works out of the box and has been overloaded to provide NTP, NFS, and some NIS functionality.

PCAP stands for "packet capture" and was originally designed for traffic analysis in security work. It's much more heavyweight and allows Previous to appear as a second machine on your LAN by forging packets at the network level. On Windows this requires a kernel-level driver; based on the description it sounds like you're missing the actual pcap deployment stuff for your distro—just installing the development packages won't be enough, since you can compile pcap stuff without actually enabling its network-interception functionality. This github comment is about someone having the same problem as you with 86box on Mint, and seems to contain the actual instructions for making it work, though YMMV and you'll probably need to do more reading.

Aside from that, it sounds like SLiRP is working as intended; it does indeed create an isolated subnet in the 10.0.2.* namespace for various services. You should be able to see other machines on your LAN, just not the host machine itself, but if your LAN uses the 10.* address space it's possible there's a conflict with how the netmask is set; I'm not sure how stringent it is.

For convenience, Previous listens on several ports and forwards connections to various services on the guest machine:

      Host Port              Internal Port          Service
      ---------              -------------          -------
      42320                  20                     FTP data
      42321                  21                     FTP control
      42322                  22                     SSH
      42323                  23                     Telnet
      42380                  80                     HTTP

(Note that of these, only telnet and FTP actually run on NEXTSTEP by default, and only after you set a root password and reboot. HTTP and SSH servers are not part of the distribution.)
WARNING: preposterous time in Real Time Clock -- CHECK AND RESET THE DATE!

ZombiePhysicist

I think I may have been thinking of slip which may have been a ppp alternative. Thanks for clearing that up @Rhetorica 

Rhetorica

Quote from: ZombiePhysicist on Sep 18, 2026, 11:58 AMI think I may have been thinking of slip which may have been a ppp alternative. Thanks for clearing that up @Rhetorica
It's entirely possible SLiRP was named in honour of SLIP. Seems like an unlikely coincidence!
WARNING: preposterous time in Real Time Clock -- CHECK AND RESET THE DATE!