SL(4)
β¨ SL(4) β¨
Bestie, gather 'round, because today we're talking about the Serial Line IP network interface β aka sl β and honestly? It's giving vintage tech realness. This is a page from the Kernel Interfaces Manual, and it's lowkey a whole mood. Let's get into it π
πΈ NAME πΈ
sl β the Serial Line IP (SLIP) network interface, bestie. That's it. That's the vibe.
π¦ SYNOPSIS π¦
pseudo-device sl
No cap, that's the whole synopsis. Iconic minimalism. β¨
π DESCRIPTION π
Okay so picture this: the sl interface lets you use asynchronous serial lines as straight-up IPv4 network interfaces using the SLIP protocol. Yes, we're making old-school serial lines do modern network things. It's giving "make it work" energy π₯
But listen β you can't just magically summon it. To use the sl interface, the administrator has to first create the interface and then assign a tty line to it. Two-step process, bestie. Stay with me:
- The
slinterface gets created using theifconfig(8)createsubcommand. - Then
slattach(8)is what you use to assign a tty line to the interface. - Once it's attached? Then you configure network source and destination addresses and other parameters via
ifconfig(8).
Periodt. That's the workflow π
Here's the cute part: the sl interface can use Van Jacobson TCP header compression AND ICMP filtering. And the way you control these properties of a SLIP link is with the following flags to ifconfig(8). Let's break them down, one by one, because we don't skip details in this house π
link0β Turn on Van Jacobson header compression. Slay. π-link0β Turn off header compression. This is the default, so if you didn't touch anything, this is what you got.link1β Don't pass through ICMP packets. Blocking the ICMP girlies π-link1β Do pass through ICMP packets. This is the default. ICMP gets to stay.link2β If a packet with a compressed header is received, automatically enable compression of outgoing packets. This is the default β auto-magic behavior, we love to see it β¨-link2β Don't auto-enable compression. You're on your own, bestie.
Okay that's the flag situation. All six, present and accounted for. No notes.
π DIAGNOSTICS π
If you see this error:
sl%d: af%d not supported .
(and yes, there's a lil space before that period in the original, we're keeping it exactly as-is, no editing the source material here)
...then here's the tea: the interface was handed a message with addresses formatted in an unsuitable address family, and the packet was dropped. Gone. Dusted. It simply did not make it. π That's the whole diagnostic. Nothing more to say, the packet's dead.
π₯ SEE ALSO π₯
Okay so you're gonna want to check out all of these, because they're all part of the ecosystem, bestie:
inet(4)intro(4)ppp(4)ifconfig(8)slattach(8)sliplogin(8)slstats(8)
And also these iconic reference papers, because we stan a citation with lore behind it:
- J. Romkey, A Nonstandard for Transmission of IP Datagrams over Serial Lines: SLIP, RFC, 1055, June 1988.
- Van Jacobson, Compressing TCP/IP Headers for Low-Speed Serial Links, RFC, 1144, February 1990.
Like, actual RFCs from actual people. The history is real and we're honoring it π«Ά
π HISTORY π
The sl device appeared in NetBSD 1.0. That's when it entered the chat. Respect the timeline. β
π BUGS π
Okay, here's the part where we get real about the limitations, because we don't lie to our besties π
SLIP can only transmit IPv4 packets between preconfigured hosts on an asynchronous serial link. That's it. That's all it does. And it has no provision for:
- address negotiation
- carriage of additional protocols (e.g. XNS, AppleTalk, DECNET)
And also? It is not designed for synchronous serial links. Full stop.
This is literally why SLIP has been superseded by the Point-to-Point Protocol (PPP), which does all of those things and much, much more. So like... PPP is the main character now and SLIP is the beloved predecessor. That's the arc. No cap π β¨
Real talk though: SLIP is a legacy icon, and we respect it for what it is β but if you're setting up something new, bestie, you already know what to reach for. π
And that's the page, babes! This manual page is brought to you by Debian, dated January 18, 2020, from the Kernel Interfaces Manual β slaying in section 4 of the manual since forever. Mwah! πππ¦πΈβ¨
π¦ where this page comes from
- nixpkgs unstable: netbsd-source 11.0
- Copyright (c) 1983, 1991, 1993 The Regents of the University of California. All rights reserved
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms