SlipStream DIY

Everything below is simulated in your browser; no packets touch your real NIC.

The goal: make two cheap routers talk across existing wires avoiding TCP/IP and Internet Service Providers.

1. 30-second elevator pitch

SlipStream is a tiny extra frame type (eth-0x88B5) that rides inside the same Ethernet frame your ISP already transports, but carries Slip-S packets – encrypted blobs addressed to a 128-bit public key, not to an IP. When enough home routers speak it, the Internet turns into a big layer-2 switch that doesn’t care about IPv4 or IPv6.
Several alternatives to TCP/IP exist for use over Ethernet, particularly in specialized or industrial environments. The industrial standards include EtherNet/IP (CIP), Modbus TCP, Profinet and EtherCAT. Other protocols include UDP and ICMP, SCTP (Stream Control Transmission Protocol), Multipath TCP (MPTCP) or QUIC built on UDP. Finally, there are emerging or experimental protocols like Flexilink, IEC 61850 (GOOSE), token ring, ARCNET, SONET. Then you have fiber protocols such as GPON/GEPON.
SONET is still widely used. TDM variants using HDLC, PPP, frame relay, ATM, etc. are still used. There are now 3G and 4G along with satellite, microwave, and Wi-Fi variants for wireless. There are CWDM and DWDM over fiber, and DOCSIS over cable.

2. What router can I use?

If it’s already in your closet, check the OpenWrt table of hardware.

3. Flash-and-forget firmware patch

  1. Install OpenWrt → ssh in → opkg update
  2. Optional but handy: opkg install curl nano
  3. One-liner installer (downloads pre-built .ipk):
    cd /tmp && curl -L https://github.com/slipstream/slip-openwrt/raw/main/slip-stream_1.0-1_mipsel_24kc.ipk -o s.ipk && opkg install s.ipk
  4. Reboot.

The package adds:
• Kernel module kmod-slip (ethertype hook),
• Tiny daemon /usr/sbin/slipd,
• UCI config file /etc/config/slip

4. 5-line config (copy → paste → change last line)

uci set slip.@slip[0]=slip
uci set slip.@slip[0].enabled='1'
uci set slip.@slip[0].priv_key='/etc/slip/key.pem'   # auto-generated first boot
uci set slip.@slip[0].peers='auto'                   # gossip via ethernet
uci set slip.@slip[0].nickname='HelenRouter'         # MAKE UNIQUE
uci commit slip && /etc/init.d/slipd enable && /etc/init.d/slipd start

That’s it – the port labelled LAN1 now injects 0x88B5 frames into your ISP cable.

5. Play Game – see the frames fly

Left router = you, right router = friend across town (simulated).

[Ready – hit Start]

6. Trouble-shoot ladder

  1. No link light? Cable must be 1000-T full duplex; 100 Mbit half-duplex switches drop unknown ethertypes.
  2. Packets seen but no reply? Friend forgot to open UDP 8475 on their bridge (needed only if you tunnel over IP first).
  3. ISP modem refuses 0x88B5? Rare – put OpenWrt router into bridge mode so the modem sees only IP traffic; ISP switch remains untouched and happy.