The text2sap and sap2text functions use the format described in this man page. Because all standard ATM tools on Linux use those functions to convert to or from the textual representation of SAP specifications, they expect them in the same format too.
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. In the latter case, the SAP is usually considered as a wildcard SAP, i.e. a SAP that is compatible with any other SAP.
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 with are integers in a given range can be specified in decimal (no prefix), octal (0 prefix), and hexadecimal (0x prefix).
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
- user=1-8 bytes
- 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
The structure of the bhli part is more complex. It distinguishes three layers, l1, l2, and l3, of which the first one is presently unsupported. For layer two, the following (mutually exclusive) possibilities exist:
Basic mode ISO 1745
ITU-T Q.291 (Rec. I.441)
Extended LAPB, half-duplex (Rec. T.71)
LAN LLC (ISO/IEC 8802/2)
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 ...
- l2=iso7776 ...
ISO 7776 DTE-DTE
User-specified. information is an integer in the range 0 to 255.
For layer three, the following (again, mutually exclusive) possibilities exist:
ITU-T X.233 | ISO/IEC 8473
ITU-T T.70 minimum network layer
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 ...
- 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.
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 that 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.
Classical IP over ATM (RFC1577)
Werner Almesberger, EPFL LRC <email@example.com>