+#include "machine/mtpr.h"
+
+#include "slcompress.h"
+#include "if_slvar.h"
+
+/*
+ * SLMTU is a hard limit on input packet size. To simplify the code
+ * and improve performance, we require that packets fit in an mbuf
+ * cluster, that there be enough extra room for the ifnet pointer that
+ * IP input requires and, if we get a compressed packet, there's
+ * enough extra room to expand the header into a max length tcp/ip
+ * header (128 bytes). So, SLMTU can be at most
+ * MCLBYTES - sizeof(struct ifnet *) - 128
+ *
+ * To insure we get good interactive response, the MTU wants to be
+ * the smallest size that amortizes the header cost. (Remember
+ * that even with type-of-service queuing, we have to wait for any
+ * in-progress packet to finish. I.e., we wait, on the average,
+ * 1/2 * mtu / cps, where cps is the line speed in characters per
+ * second. E.g., 533ms wait for a 1024 byte MTU on a 9600 baud
+ * line. The average compressed header size is 6-8 bytes so any
+ * MTU > 90 bytes will give us 90% of the line bandwidth. A 100ms
+ * wait is tolerable (500ms is not), so want an MTU around 256.
+ * (Since TCP will send 212 byte segments (to allow for 40 byte
+ * headers), the typical packet size on the wire will be around 220
+ * bytes). In 4.3tahoe+ systems, we can set an MTU in a route
+ * so we do that & leave the interface MTU relatively high (so we
+ * don't IP fragment when acting as a gateway to someone using a
+ * stupid MTU).
+ */
+#define SLMTU 576
+#define BUFOFFSET (128+sizeof(struct ifnet **))
+#define SLIP_HIWAT 1024 /* don't start a new packet if HIWAT on queue */
+#define CLISTRESERVE 1024 /* Can't let clists get too low */
+/*
+ * SLIP ABORT ESCAPE MECHANISM:
+ * (inspired by HAYES modem escape arrangement)
+ * 1sec escape 1sec escape 1sec escape { 1sec escape 1sec escape }
+ * signals a "soft" exit from slip mode by usermode process
+ */
+
+#define ABT_ESC '\033' /* can't be t_intr - distant host must know it*/
+#define ABT_WAIT 1 /* in seconds - idle before an escape & after */
+#define ABT_RECYCLE (5*2+2) /* in seconds - time window processing abort */
+
+#define ABT_SOFT 3 /* count of escapes */