SAP(7)

πŸ’– NAME πŸ’–

sap β€” Service Access Point specification

okay so bestie, welcome to SAP(7) πŸ’… it's a little misc-section page from the Linux manual and it's literally your whole guide to how SAP specs get written down. let's get into it ✨


🌸 DESCRIPTION 🌸

the tea is this: the text2sap and sap2text functions use the format described in this man page. and because every single standard ATM tool on Linux uses those functions to convert to or from the textual representation of SAP specifications, they expect them in the same format too. no cap 🫢

the SAP is divided into two parts: the broadband high layer information (BHLI) and the broadband low layer information (BLLI). a SAP can contain one, both, or none of them. and in that last case? the SAP is usually considered a wildcard SAP, i.e. a SAP that is compatible with any other SAP. main character energy, honestly πŸ‘‘

each part begins with its name (bhli or blli), followed by a colon and a (non-empty) list of attributes, which are of the form attribute=value. some attributes have sub-attributes, which follow them. everything that isn't separated by a colon or an equal sign is separated by a comma.

values which are a number of bytes are specified as the corresponding sequence of pairs of hex digits. the sequence can be optionally prefixed with 0x. values which are integers in a given range can be specified in decimal (no prefix), octal (0 prefix), and hexadecimal (0x prefix). so many options, we love a flexible queen πŸŽ€


the following, mutually exclusive attributes are allowed in the bhli part (see the corresponding ATM Forum and ITU documents for the semantics):

  • iso=1-8 bytes β€” ISO
  • user=1-8 bytes β€” User-specific
  • hlp=4 bytes β€” High layer profile. Note that this attribute only exists on UNI 3.0. text2sap only recognizes it if your system is configured to accept UNI 3.0 message formats.
  • oui=3 bytes,id=4 bytes β€” Vendor-specific application identifier

and now the structure of the bhli part, which is more complex 😭 it distinguishes three layers, l1, l2, and l3, of which the first one is presently unsupported. (rip l1, you would've slayed)

for layer two, the following (mutually exclusive) possibilities exist:

  • l2=iso1745 β€” Basic mode ISO 1745
  • l2=q291 β€” ITU-T Q.291 (Rec. I.441)
  • l2=lapb β€” Extended LAPB, half-duplex (Rec. T.71)
  • l2=iso8802 β€” LAN LLC (ISO/IEC 8802/2)
  • l2=x75 β€” ITU-T X.75, SLP
  • l2=x25_ll ... β€” ITU-T X.25, link layer. This attribute and the following attributes through l2=iso7776 can optionally be followed by one or more of the following sub-attributes: mode=mode (mode of operation, either norm or ext), and window=window size (window size in k, 1-127).
  • l2=x25_ml ... β€” ITU-T X.25, multilink
  • l2=hdlc_arm ... β€” HDLC ARM (ISO/IEC 4335)
  • l2=hdlc_nrm ... β€” HDLC NRM (ISO/IEC 4335)
  • l2=hdlc_abm ... β€” HDLC ABM (ISO/IEC 4335)
  • l2=q992 ... β€” ITU-T Q.922
  • l2=iso7776 ... β€” ISO 7776 DTE-DTE
  • l2=user,info=information β€” User-specified. information is an integer in the range 0 to 255.

for layer three, the following (again, mutually exclusive) possibilities exist:

  • l3=iso8473 β€” ITU-T X.233 | ISO/IEC 8473
  • l3=t70 β€” ITU-T T.70 minimum network layer
  • l3=h321 β€” ITU-T Recommendation H.321
  • l3=x25 ... β€” ITU-T X.25, packet layer. This attribute and the following attributes through l3=x223 can optionally be followed by one or more of the following sub-attributes: mode=mode (see above), size=default packet size (4-12, corresponding to 16-4096), window=window size (see above).
  • l3=iso8208 ... β€” ISO/IEC 8208
  • l3=x223 ... β€” ITU-T X.223 | ISO/IEC 8878
  • l3=tr9577,ipi=identifier ... β€” ISO/IEC TR 9577. identifier is the initial protocol identifier in the range 0-255. For SNAP (0x80), the keyword snap can be used, and the following sub-attributes have to be specified: oui=3 bytes, and pid=2 bytes.
  • l2=user,info=information β€” User-specified, see above.
  • l3=h310 ... β€” ITU-T Recommendation H.310. The sub-attribute term=type (terminal type, rx, tx, or rxtx) is recognized. If present, it enables the two additional sub-attributes fw_mpx=capability (forward multiplexing capability, ts, ts_fec, ps, ps_fec, or h221) and bw_mpx=capability. Both are optional.

⚠️ note bestie, and this one's important: commas must never follow colons or other commas. also, whitespace is not allowed inside a SAP specification. SAP specifications are case-insensitive. on input, items must be written in exactly the order used in this document. πŸ’€ the order thing is not a suggestion, it's the law.

✨ EXAMPLES ✨

get you a spec that can do both πŸ’…

blli:l2=iso8802

Classical IP over ATM (RFC1577)


bhli:oui=0x0060D7,id=0x01000001,blli:l2=iso8802

Arequipa (RFC2170)


blli:l3=tr9577,ipi=snap,oui=0x00A03E,pid=0x0002

LAN Emulation


πŸŽ€ AUTHOR πŸŽ€

Werner Almesberger, EPFL LRC <werner.almesberger@lrc.di.epfl.ch>


and that's the whole page, bestie πŸ¦‹ this one came from Linux, dated November 6, 1997 β€” yeah, it's an icon and it's been an icon for a minute πŸ‘‘πŸ’œ

πŸ“¦ where this page comes from