home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_j_p / draft-ietf-pktway-protocol-eep-spec-01.txt < prev    next >
Text File  |  1997-09-24  |  49KB  |  1,181 lines

  1.  
  2. PktWay-WG                         <01>                          EEP-spec
  3.  
  4.  
  5.  
  6.                    
  7.                  D  R  A  F  T
  8.  
  9.                 September  1997
  10.                    
  11.                    
  12.                    
  13.              Proposed Specification for the
  14.                 End-to-End (EEP)
  15.                PacketWay Protocol
  16.                ------------------
  17.                    
  18.                <draft-ietf-pktway-protocol-eep-spec-01.txt>
  19.                    
  20.              Danny Cohen (Myricom)
  21.              Craig Lund (Mercury Computers)
  22.         Tony Skjellum (MSU),  Thom McMahon (MSU)
  23.             and Robert George (MSU)
  24.  
  25.                    PktWay-WG
  26.  
  27.          The shorter "PktWay" is used for "PacketWay".
  28.  
  29.      This page...................................................1
  30.      PktWay at a Glance ("cheat-sheet")..........................2
  31.      A note about the PktWay documents...........................3
  32.      Notations...................................................4
  33.      Overview....................................................5
  34.      Introduction................................................7
  35.      PktWay EEP Messages........................................10
  36.      The PktWay Message Structure...............................10
  37.      [1] Optional Sequence of L2RHs and Symbols.................11
  38.      [2] EEP Header (16 bytes) (PH).............................14
  39.      [3] Optional Header Fields (OH)............................18
  40.      [4] Optional Data Block (DB)...............................19
  41.      [5] Optional Trailer Fields (OT)...........................19
  42.      [6] EEP Trailer (TAIL).....................................19
  43.      Appendix-A: A Recommendation for PktWay Address Assignment.20
  44.      Appendix-B: Glossary.......................................21
  45.      Appendix-C: Acronyms and Abbreviations.....................23
  46.  
  47.  
  48.  
  49.  
  50.      Information about the PktWay activity may be found in the URL:
  51.  
  52.          http://www.erc.msstate.edu/PktWay/
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.       Please send your comments re this draft to <Cohen@myri.com>.
  60. PktWay-WG                         <02>                          EEP-spec
  61.  
  62.  
  63.  
  64.                PktWay at a Glance
  65.                ------------------
  66.  
  67.  
  68.        2   6    type       24                     16                16
  69. PW-Hdr+-+------+-------+--------+---------+--------+--------+--------+--------+
  70.    PH1|V|  P   |     Destination-Type     |  Type-Extension |   Packet-Type   |
  71.       +-+-+---++--------------------------+-+------+--------+-----------------+
  72.    PH2| E | PL|   Data-Length (8B-words)  |h|  RZ  |0     Source-Address      |
  73.       +---+---+--------+--------+---------+-+------+--------+--------+--------+
  74.         4    3             25              1   7    1           23
  75.  
  76.         type = 0xxx Physical Address
  77.                10xx L2RH
  78.                110x Reserved
  79.                1110 Logical Address
  80.                1111 Symbols
  81.  
  82.  
  83.         2   6    2   6      8        8        8        8        8        8
  84.       +--------+--------+--------+--------+--------+--------+--------+--------+
  85. L2RH  |V|  P   |11LLLLLL|  SR01  |  SR02  |........|........|........|........|
  86.       +--------+--------+--------+--------+--------+--------+--------+--------+
  87.                  Length
  88.  
  89.  
  90.         2   6     4   6     8        8        8        8        8        8
  91.       +--------+--------+--------+--------+--------+--------+--------+--------+
  92. Symbol|V|  P   |1011ssss|ssssssss|ssssssss| Length |  data  |........|........|
  93.       +--------+--------+--------+--------+--------+--------+--------+--------+
  94.                     <---- Symbol Type --->
  95.  
  96.         2   6      8        8        8        8        8        8        8
  97. Opt'l +--------+--------+--------+--------+--------+--------+--------+--------+
  98. hdr   |TCtttttt|LLLLLLLL|  data  |........|........|........|........|........|
  99. fields+--------+--------+--------+--------+--------+--------+--------+--------+
  100.       T: 0=optional, 1=mandatory;  C: 0=more OH-fields follow, 1=last OH-field
  101.  
  102.  
  103.           8        8        8        8        8        8        8        8
  104. RRP   +--------+--------+--------+--------+--------+--------+--------+--------+
  105. Record|  RTyp  |   PL   |       RL        |........|........|........|........|
  106.       +--------+--------+--------+--------+--------+--------+--------+--------+
  107.       RRP-messages: GVL2, L2SR, RDRC, TELL, INFO, HRTO, WRU,  GVRT, RTBL;
  108.               RTyp: ADDR, NAME, CAPA, LADR, SRQR, MTUR, RCVF, RTHD;
  109. PktWay-WG                         <03>                        Documents
  110.  
  111.  
  112.  
  113.           A note about the PacketWay Documents
  114.           ------------------------------------
  115.  
  116. The PacketWay protocol is defined by a series of documents:
  117.  
  118.                 * EEP (End-to-End Protocol)
  119.                 * RRP-1 (basic Router-to-Router Protocol)
  120.                 * RRP-2 (dynamic inter-SAN routing)
  121.                 * PktWay enumerations
  122.  
  123. Each of these documents should include the same "PacketWay at a Glance
  124. (Cheat=Sheet)", this note, and the Notations page.  They should include
  125. also (as appendices) a copy of the PacketWay glossary of terms and its
  126. acronyms and abbreviations list.
  127.  
  128. The EEP and the RRP documents will be published first as Internet-Drafts
  129. and later as Proposed-Standards, Draft-Standards, and Standards.
  130.  
  131. The Enumeration Document will be first published as an
  132. "Informational-RFC" and later will be maintained by IANA.
  133.  
  134. The enumeration document may be attached to the EEP/RRP documents, as
  135. a matter of convenience.  The enumeration is NOT a part of the PktWay
  136. standard, just as RFC0739 (the original "Assigned Numbers" RFC) is not
  137. a part of RFC0791, that defines IP.
  138.  
  139. Similarly, the EEP-document has "Appendix-A: A Recommendation for
  140. PktWay Address Assignment" which is a recommendation only and NOT a
  141. part of the PktWay standard, just as IP-address-assignment is not a
  142. part of RFC0791, that defines IP.
  143. PktWay-WG                         <04>                    Notations
  144.  
  145.  
  146.                    Notations
  147.                    ---------
  148. The shorter "PktWay" is used for "PacketWay".
  149.  
  150. 8B means "8-byte" (64 bits).
  151.  
  152. 0x indicates hexadecimal values,  e.g., 0x0100 is 2^8=256(decimal).
  153.  
  154. 0b indicates binary values, e.g., 0b0100 is 4(decimal).
  155.  
  156. xxx indicate a field that is discarded without any checking (e.g., padding).
  157.  
  158. [fff] indicates that fff is an optional field, when appropriate.
  159.  
  160. [exp], in equations, is the integral part, rounded down, of `exp`.
  161.        e.g., [17/8]=2.
  162.  
  163. All length fields do not include themselves, and therefore may be zero.
  164.  
  165. Lengths are specified either
  166.     (a) by byte count, implying that some padding bytes may follow to
  167.         fill 8B-words, or 
  168.     (b) by 8B-word count and PL, the number of trailing padding bytes
  169.         (with PL between 0 and 7).
  170.  
  171.  
  172.  
  173. PktWay-WG                         <05>                          EEP-spec
  174.  
  175.  
  176.  
  177.                 Overview
  178.                 --------
  179.  
  180. PktWay is an open family of specifications for inter-networking
  181. high performance System Area Networks (SANs) and high performance
  182. Local Area Networks (LANs) into computing clusters.
  183.  
  184. Most modern SANs have much in common, such as high data rates, low
  185. message latency and low bit error rates.  Such SANs are often packet
  186. networks made of point-to-point links with flow control, and utilize
  187. source routing.  Yet these SANs do not provide heterogeneous networking
  188. support, and are subsequently incapable of direct inter-communications
  189. with other SANs.  PktWay's goal is to "internet" such SANs and
  190. high performance LANs.
  191.  
  192. The core PktWay protocol comprises the End-to-End Protocol (EEP)
  193. and the Router-to-Router-Protocol (RRP).  This document describes
  194. (the EEP End-to-End) protocol of PktWay.  A companion document
  195. ("Specification for the Router-to-Router (RRP) PktWay Protocol")
  196. specifies the Router-to-Router protocol of PktWay, including the
  197. definition of the format of the RRP packets.
  198.  
  199. Several protocol extensions, which are layered on the core PktWay
  200. protocol, have been defined (and implemented).  These include dynamic
  201. resource and routing discovery, secure PktWay, and multicast
  202. PktWay.  These protocol extensions will be described in documents
  203. to be provided later.
  204.  
  205. Some basic PktWay terminology requires explanation.  PktWay
  206. interconnects high performance System Area Networks (SANs).
  207. Each SAN contains "nodes", which may send and/or receive PktWay
  208. packets. At least one node in each SAN is also a PktWay "router",
  209. connected to more than one SAN.
  210.  
  211. PktWay's goal is to move data from a source node, (on some
  212. arbitrary SAN) to a destination node, (either on the same SAN, or on
  213. another SAN).  Sources and destinations can be physical entities, such
  214. as a processor or a smart memory board, or logical entities, such as a
  215. group of cooperating processes or a collection of threads.  Sources,
  216. destinations, and routers are such nodes.
  217.  
  218. Within each PktWay configuration all nodes have unique 23-bit
  219. physical PktWay addresses.  A system designer can assign these
  220. PktWay addresses manually.  Alternatively, the optional PktWay
  221. Server Layer provides a way to assign and discover addresses
  222. dynamically.  Throughout this document "address" always means the
  223. 23-bit physical PktWay address.
  224.  
  225. SANs also may have PktWay addresses, which function as SAN
  226. identifiers (SAN-IDs).  They are also 23-bit physical values, sharing
  227. the physical address space with the nodes.  These addresses, of SANs
  228. and nodes, are unique within each instance of PktWay.
  229. PktWay-WG                         <06>                          EEP-spec
  230.  
  231.  
  232.  
  233. To optimize for performance, PktWay has a data transfer mode that
  234. leverages the native message routing schemes used within the SANs.
  235. This mode uses a "Planned Transfer" paradigm.  During the planning
  236. phase, a source node collects information on optimal routes to a
  237. destination, expressed in the various native formats of the
  238. intervening SANs.  A source node later uses this information for
  239. low latency transfers to that destination.  In PktWay, the transfer
  240. phase of a Planned Transfer is called "L2-forwarding".  The RRP
  241. document demonstrates the use of L2-forwarding.
  242.  
  243. PktWay also supports a more traditional data transfer mode that
  244. requires no planning.  Such transfers specify the destinations by
  245. their addresses only.  In PktWay, this more traditional approach
  246. is called "L3-forwarding".
  247.  
  248. As a heterogeneous network layer, PktWay packets are transported by
  249. the native data-link layer of each SAN.  As a result, PktWay packets
  250. will be encapsulated with any native routing headers and trailers as
  251. required by the local network fabric.
  252.  
  253. PktWay packets may be routed by Level-2 (L2) forwarding, Level-3
  254. (L3) forwarding, or a combination thereof.
  255.  
  256. In L3-forwarding (similar to IP forwarding), the L2-routing through
  257. each SAN is determined by an inter-SAN router upon entering that SAN.
  258. The router prefixes the packet with an L2 routing header (such as a
  259. source route) corresponding to the destination address specified in
  260. the packet directing the packet either to its destination or to an
  261. intermediate router.  It is a task for that router to determine the
  262. L2-routing-header corresponding to the given PktWay-address.
  263.  
  264. In L2-forwarding the source prefixes the packet with all the
  265. L2-routing headers needed along the entire path to the destination.
  266. Each router has only to get the L2-routing-header from the leading
  267. L2RH (L2-Routing-Header record) that was provided by the source.
  268.  
  269. PktWay does not provide Segmentation and Reassembly (SAR).
  270. Therefore, the length of a packet cannot exceed the minimum MTU
  271. (Maximum Transmission Unit) along its path.
  272.  
  273. PktWay does not detect errors.  It only gathers error detection
  274. information from the SANs and inter-SAN routers that a packet
  275. transits.
  276.  
  277. PktWay is big-Endian 8B-word based.  Hence, the terms "first bit" and
  278. "first byte" are equivalent to MSbit and MSByte.
  279.  
  280. PktWay-WG                         <07>                          EEP-spec
  281.  
  282.                   Introduction
  283.                   ------------
  284.  
  285. A modern MPP (Massively Parallel Processing system) is a set of
  286. processors interconnected by a high performance SAN (System Area
  287. Network).  Examples are Intel's Paragon and ASCI-red, CRAY's T3D and
  288. T3E, and IBM's SP2 and SP3.  Most modern SANs have much in common, such
  289. as high data rates, low message latency and low bit error rates.  Such
  290. SANs are often packet networks made of point-to-point links with flow
  291. control, and utilize source routing.
  292.  
  293. The problem: When such high performance SANs are interconnected to
  294.              form a computing cluster, there is no efficient way to
  295.              "internet" these SANs - to allow each computing node to
  296.              have high performance communication directly with any
  297.              other computing node, in any other interconnected SAN.
  298.  
  299. IP is the general solution for "internetting" diverse networks,
  300. proven for over 20 years.  However, IP was designed for the generality
  301. required for Wide Area Networks, without regard to the high performance
  302. requirements of tightly coupled systems.  In addition, IP is designed to
  303. addresses "systems" rather than individual processors in MPPs (as PktWay
  304. does).  For example, a 9,000 processor system is not expected to be
  305. assigned 9,000 IP addresses.
  306.  
  307. The objective of PktWay is to provide high performance communication
  308. among all the processors in a cluster of tightly coupled SANs.  PktWay
  309. borrows heavily from the experience and wisdom of IP, with a few
  310. modifications needed for high performance.  PktWay sacrifices
  311. scalability and generality to improve performance.
  312.  
  313. PktWay is slightly below IP in the OSI Reference Model.  It has many
  314. Level-3 features, like IP, but also can support IP as if PktWay was a
  315. Level-2 protocol.  Hence, it is below IP.  In addition, PktWay supports
  316. Level-2 optimizations (such as source routing).
  317.  
  318. Like IP, PktWay has an End-to-End Protocol (EEP) and a Router-to-Router
  319. Protocol (RRP).  This document defines the EEP part of the PktWay
  320. protocol.
  321.  
  322. Like IP, PktWay uses routers between its SANs.  Each
  323. PktWay-router is composed of two (or more) half-routers (HRs),
  324. each of which is a PktWay node on a SAN.  Each PktWay HR is
  325. responsible only for routing packets within its own SAN.  If a
  326. PktWay HR receives a packet whose destination node resides on
  327. another SAN, it is the responsibility of the HR to forward the packet
  328. towards the HR that is responsible for that SAN.  These HRs communicate
  329. with each other according to the RRP, over an arbitrary "local"
  330. physical link (e.g., PCI or PPP over a serial line).  More about the
  331. RRP may be found in the companion document ("Specification for the
  332. Router-to-Router (RRP) PktWay Protocol", Parts 1 and 2).
  333.  
  334. Unlike IP, the PktWay routers do not have to pop each packet back
  335. to Level-3, and are capable of operating entirely at Level-2, if this
  336. operation is requested by the communicating hosts.
  337. PktWay-WG                         <08>                          EEP-spec
  338.  
  339.  
  340. PktWay allows hosts to construct a source-route built entirely of
  341. Level-2 headers, allowing each SAN to exploit the full performance of
  342. its native interconnection fabric.  These SAN-headers (actually,
  343. MAC-headers) are provided by the SANs that will use them, in their
  344. native format.  PktWay does not define the format of the local
  345. routing envelope.  Instead, it defines how the encapsulated PktWay
  346. packets should be passed between HRs, leaving it up to the local
  347. network of each SAN how to properly deliver the packet.
  348.  
  349. PktWay supports resource discovery, by name or capabilities.
  350.  
  351. PktWay's unit of data is 64-bit long (8 bytes).  PktWay provides
  352. hosts with padding as required for various alignments.
  353.  
  354. PktWay handles the Little vs. Big-Endian issue by providing a field in
  355. the EEP header which defines the endianness and the "chunk-size" of the
  356. data in the payload (Data Block).  The intent is that byte-swapping
  357. hardware, if any, could be used to invert the endianness of payloads
  358. with uniform data elements (e.g., all the data being 32-bit floating
  359. point).  Although this approach does not address the problems of
  360. transporting a general C-language structures, it does allows the
  361. participation of smart memory cards as PktWay nodes, as well as
  362. supporting direct memory access (DMA) operations.
  363.  
  364. The PktWay protocol is designed to allow wormhole (or
  365. "cut-through") forwarding, in which a router can start forwarding
  366. packets after receiving the first four bytes only (that include the
  367. PktWay-protocol version, priority, and the destination-type)
  368. without waiting for information that may not be needed for the packet
  369. forwarding task.  This is unlike IP routers that receive the sender
  370. address before receiving the destination address, even though the
  371. former is not always needed whereas the latter is.
  372.  
  373. PktWay's addresses are short (23 bits) because, unlike IP,
  374. PktWay is not designed for global operation.  The amount of state
  375. that is stored in the HRs per node (type, name, paths, capabilities,
  376. etc.) makes it impractical for scalability beyond a few tens
  377. (hundreds?) of thousands of nodes, over a (relatively) small number of
  378. SANs.
  379.  
  380. PktWay does not support SAR (Segmentation And Reassembly).
  381. Instead, it provides means for hosts to discover the minimum
  382. transmission unit (MTU) over several alternative paths to any other
  383. node.  A PktWay packet must never exceed the minimum MTU along all
  384. the network hops from the source node to the destination node.
  385.  
  386. Like IP, the PktWay protocol utilizes the native capabilities of
  387. its constituent SANs and routers.  PktWay does not define how each
  388. HR maps the network in the SAN to which it is attached, nor how each
  389. HR constructs SAN-headers for each of its hosts.  The PktWay
  390. protocol also does not define how error-checking is conducted by each
  391. SAN (ie, CRC8, CRC32, CRC64, or anything else).  Instead, PktWay
  392. assumes that these capabilities are native to each SAN, and defines
  393. only how these error indications are carried from where they were
  394. detected, to the destination node.
  395. PktWay-WG                         <09>                          EEP-spec
  396.  
  397.  
  398. Like IP, the PktWay protocol does not define how routes are
  399. selected, and which corrective actions should be taken in case of
  400. faults.  Instead, PktWay provides the information needed by the
  401. host nodes for devising routes and detecting and circumventing faults.
  402.  
  403. As a result, PktWay operates in a fashion very similar to that of IP:
  404.  
  405. When hosts are powered up they contact their default routers to
  406. register themselves and to inquire about other hosts (by name or node
  407. capabilities).  If hosts so prefer, they can address their
  408. destinations either by any arbitrary name, a PktWay physical
  409. address (which is handled like the Level-3 IP-address), or by
  410. concatenating a sequence of Level-2 SAN-headers.  Although the
  411. generation of a sequence of L2 Routing Headers requires more effort to
  412. construct initially, PktWay source routing results in considerably
  413. lower network latencies, as the packets are allowed to cut-through
  414. route through the intervening SAN networks .
  415.  
  416. When inquiring about other hosts, the HR may provide a set of several
  417. routing alternatives, each of which may have different characteristics
  418. (e.g., MTU, length, and cost).  The PktWay protocol leaves it to
  419. the source nodes to choose among these alternatives.
  420.  
  421. Among the features that the RRP of the PktWay protocol borrowed
  422. from the IP world are the host-redirect, host-not-reachable, and
  423. unknown-destination messages.
  424. PktWay-WG                         <10>                          EEP-spec
  425.  
  426.               PktWay EEP Messages
  427.                           -------------------
  428.  
  429. The PktWay MESSAGE STRUCTURE
  430. +---------------------------
  431. PktWay messages have 6 components, including 4 optional ones:
  432.  
  433. [1]: [Optional Sequence of L2-Routing-Headers Records (L2RHs) and Symbols]
  434. [2]: EEP Header (16 bytes)                      (PH)
  435. [3]: [Optional Header fields]                         (OH)
  436. [4]: [Optional, Most likely: Data Block]              (DB)
  437. [5]: [Optional Trailer fields]                        (OT)
  438. [6]: EEP Trailer (8 bytes)                            (TAIL)
  439.  
  440.     Description of Optional Fields
  441.     +-----------------------------
  442.  
  443. [1]: as explained later, if the 9th+10th bits of a messages are 0b10
  444. then the message starts with an L2RH, but if the 9th through the 12th
  445. bits of a message are 0b1111 then this message starts with a "symbol".
  446. The other values of these 4 bits indicate the lack of L2RH and symbols
  447. and that the message begins with the EEP-header.
  448.  
  449. [3]: if the h-bit in the EEP header [2] is 1 then there are optional
  450. header (OH) fields.  The sequence of these OH fields is terminated
  451. with an OH field marked as being the last one (with C=1).
  452.  
  453. [4]: if DL>0, in the EEP header, zero then a Data Block (DB) is
  454. included in this message.
  455.  
  456. [5]: the optional header fields, [3], may indicate that some optional
  457. trailer fields are present after the DB, [4].  The order and the
  458. formats of the trailer fields are defined by the optional header fields.
  459.  
  460. It is expected that most messages will have Data Blocks (DB), and that
  461. most messages will not have Optional Header fields (OH), nor Optional
  462. Trailer fields (OT).
  463.  
  464. Leading L2RHs and symbols [1] are consumed by the HRs before reaching
  465. the destination which receives only the other components, [2] through
  466. [6].  These parts, [2] to [6], constitute the End-to-End Protocol of
  467. PktWay.
  468.  
  469. TAIL, the EEP trailer, [6] may be modified along the way to the
  470. destination, unlike [2], [3], [4] and [5], which arrive exactly as
  471. sent by the source.
  472.  
  473. Each PktWay packet may be first L2-forwarded (zero or more times)
  474. before being L3-forwarded (zero or more times).
  475.  
  476. Although PktWay headers and trailers are always in Big Endian order,
  477. the byte order of the Data Block is not defined by PktWay.
  478.  
  479. Since all the elements of PktWay (L2RHs, EEP-headers, optional
  480. fields, data, and EEP-trailers) are always multiples of 8B-words,
  481. it is recommended that PktWay headers (and data) be aligned on
  482. 8B-boundaries in the nodes' memory.
  483. PktWay-WG                         <11>                          EEP-spec
  484.  
  485. [1]: Optional Sequence of L2-Routing-Headers Records (L2RHs) and Symbols
  486. +------------------------------------------------------------------------
  487.  
  488. PktWay messages may start with a mix of L2RHs and symbols.
  489.  
  490. A PktWay source may specify native routes, by placing the native
  491. routes before the PktWay Header.  The native routes (for all SANs and
  492. LANs beyond the initial one) must appear within a sequence of PktWay
  493. L2-Routing-Header records (L2RH).
  494.  
  495. In certain situations symbols may be included among the L2RHs.  These
  496. symbols are used for conveying information to the routers that handle
  497. the messages, such as about encryption.  A symbol does not specify its
  498. destination and is processed (and consumed) by the entity that
  499. encounters it.
  500.  
  501. In L2-forwarding each intermediate HR consumes an L2RH and the
  502. preceeding symbols (if any).  When a packet reaches its destination all
  503. of [1] (the Optional Sequence of L2RHs and Symbols) should be consumed.
  504.  
  505.     L2-Routing-Headers Records (L2RHs)
  506.     +---------------------------------
  507.  
  508. The contents of the L2RH are totally SAN dependent, with the exception
  509. of the first 2 bytes that distinguish this record from an EEP-header and
  510. also provide the Length (0<L<64) indicating the number of routing bytes
  511. of that L2RH (not including these 2 bytes).
  512.  
  513. This distinction (between L2RHs and EEP-headers) is necessary for
  514. routers that L2-forward packets starting with L2RHs, but L3-forward
  515. packets starting with EEP-headers.  Similarly, hosts expect packets to
  516. start with EEP-headers (with optionally preceeding symbols), and may
  517. discard packets that start with L2RHs.
  518.  
  519. It's up to each SAN to provide padding, as needed, to fill the L2RH words.  
  520.  
  521. Each L2RH is defined by the entity that will process it.  In addition
  522. to routing information per se, it may also include demuxing information
  523. such as a local message-type.  For example, over Myrinet the L2RH should
  524. end with 0x0300 which is the Myrinet-type assigned to PktWay (and possibly
  525. some padding, too).
  526.  
  527. The L2RH must contain enough information to allow a router to create any
  528. necessary local routing headers and trailers.  Although the low-level
  529. network implementation is beyond the scope of this document, the native
  530. source routing format must be documented in sufficient detail to allow
  531. for heterogeneous network interoperability.
  532.  
  533. When a PktWay message is encapsulated inside any native SAN message
  534. (Paragon or Myrinet, for example), it's up to that SAN to distinguish
  535. between it and its own native packets.  This is not a PktWay issue.
  536. For example, Myrinet uses its Message-Type to recognize PktWay messages.
  537.  
  538. PktWay-Routers on boundaries between SANs L2-forward packets starting
  539. with L2RH or L3-forward packets starting with EEP-headers.  L2RH are
  540. distinguished from EEP-headers by the value of the first two bits of the
  541. Destination-Type field.
  542. PktWay-WG                         <12>                          EEP-spec
  543.  
  544.  
  545. L2RH FORMAT:
  546.  
  547. Each L2RH is in the format:
  548.  
  549. +--------+--------+--------+--------+--------+--------+--------+--------+
  550. |vv000000|10LLLLLL|  SR01  |  SR02  |........|........|........|  xxx   | L2RH
  551. +--------+--------+--------+--------+--------+--------+--------+--------+
  552.           ^^
  553. The first 2 bits are vv=0b00 for the working version of the protocol.
  554. They may have other values for experimental versions.
  555.  
  556. The next 6 bits should be all zeroes.
  557.  
  558. The next two bits must be 0b10 to indicate that this is an L2RH record.
  559. This 0b10 was chosen to be consistent with the 0b10 of PktWay-addresses,
  560. as described in [2] below.
  561.  
  562. The next 6 bits are the byte count (L) of the routing information that
  563. starts in the next byte and is followed by as many padding bytes as
  564. needed to fill to the next 8B-boundary. 
  565.  
  566. L does not include itself, hence it could be between 0 and 63.  However,
  567. since this record contains some routing bytes, L is greater than 0.
  568. The total number of 8B-words in the L2RH is [(L+9)/8] where the square
  569. brackets indicate the integer part, rounded down, of the quantity
  570. within.  Therefore, the number of padding bytes is PL=8*[(L+9)/8]-2-L.
  571.  
  572.  
  573. L2RH EXAMPLES:
  574.  
  575. An L2RH with an SR with 5 routing bytes:
  576.  
  577.         0b10   L=5    #1       #2       #3       #4       #5    padding
  578. +--------+--------+--------+--------+--------+--------+--------+--------+
  579. |vv000000|10000101|  SR01  |  SR02  |  SR03  |  SR04  |  SR05  |  xxx   | L2RH
  580. +--------+--------+--------+--------+--------+--------+--------+--------+
  581.           ^^      |<---------- routing information ----------->|
  582.  
  583. An L2RH with an SR with 13 routing bytes:
  584.  
  585.         0b10  L=13    #1       #2       #3       #4       #5       #6
  586. +--------+--------+--------+--------+--------+--------+--------+--------+
  587. |vv000000|10001101|  SR01  |  SR02  |  SR03  |  SR04  |  SR05  |  SR06  | L2RH
  588. +--------+--------+--------+--------+--------+--------+--------+--------+
  589. |  SR07  |  SR08  |  SR09  |  SR10  |  SR11  |  SR12  |  SR13  |  xxx   |
  590. +--------+--------+--------+--------+--------+--------+--------+--------+
  591.     #7       #8       #9       #10      #11      #12     #13    padding
  592. PktWay-WG                         <13>                          EEP-spec
  593.  
  594.  
  595.     Symbols
  596.     +------
  597.  
  598. SYMBOL FORMAT:
  599. +------------
  600.  
  601. Each symbol is in the format:
  602.  
  603. +--------+--------+--------+--------+--------+--------+--------+--------+
  604. |vv000000|1111ssss|ssssssss|ssssssss| Length |  data  |........|........|Symbol
  605. +--------+--------+--------+--------+--------+--------+--------+--------+
  606.           ^^^^<---- Symbol-Type --->
  607.  
  608. The 5th byte is the byte-count (L) of the data for this field that
  609. starts in the next byte, and is padded with as many padding bytes as
  610. needed to fill 8B-words.
  611.  
  612. The length (L) does not include itself, hence it is between 0 and 255.
  613. The total number of 8B-words in the symbol L2RH is [(L+12)/8] where the
  614. square brackets indicate the integer part, rounded down, of the quantity
  615. within.  Therefore, the number of padding bytes is PL=8*[(L+12)/8]-2-L.
  616.  
  617. Symbols may be mixed among the L2RHs, before the EEP-header.
  618.  
  619. The values of the Symbol-Type field are defined in the PktWay
  620. Enumeration document.
  621.  
  622. SYMBOL EXAMPLE:
  623.  
  624. A symbol with 9 data bytes.
  625.  
  626.         0b1111<---- Symbol Type --->L=9 Bytes
  627. +--------+--------+--------+--------+--------+--------+--------+--------+
  628. |vv000000|1111ssss|ssssssss|ssssssss|00001001|  data1 |  data2 |  data3 |
  629. +--------+--------+--------+--------+--------+--------+--------+--------+
  630. |  data4 |  data5 |  data6 |  data7 |  data8 |  data9 |   xxx  |   xxx  |
  631. +--------+--------+--------+--------+--------+--------+--------+--------+
  632.  
  633.  
  634. PktWay-WG                         <14>                          EEP-spec
  635.  
  636.  
  637. [2]: EEP Header (16 bytes) (PH)
  638. +-------------------------------
  639.  
  640.  2   6               24                     16                16
  641. +-+------+-------+--------+---------+--------+--------+--------+--------+
  642. |V|  P   |    Destination-Type      |  Type-Extension |   Packet-Type   |PH1
  643. +-+-+---++--------------------------+-+------+--------+--------+--------+
  644. | E | PL| Data-Length>=0 (8B-words) |h|  RZ  |0     Source-Address      |PH2
  645. +---+---+--------+--------+---------+-+------+--------+--------+--------+
  646.   4    3             25              1   7                24              
  647.  
  648. These fields are described below:
  649.                                                 Bytes.bits
  650.                                                 ----- ----
  651.         Version                    (V)      0.2
  652.         Priority                   (P)      0.6
  653.         Destination-Type           (DT)     3.0
  654.         Packet Type Extension      (TE)     2.0
  655.         Packet Type                (PT)     2.0
  656.         Endianness                 (E)      0.4
  657.         Padding Length             (PL)     0.3
  658.         Data Length                (DL)     3.1
  659.         Options flag               (h)      0.1
  660.         Reserved                   (RZ)     0.7
  661.         Source Address             (SA)     3.0
  662.  
  663.  
  664. Version (V) 2 bits
  665.  
  666.   This field is static.  Its 2 bits are 0b00 for the working version
  667.   of the protocol.  These bits should have other values for co-existing
  668.   experimental versions.
  669.  
  670. Priority (P) unsigned integer, 6 bits
  671.  
  672.   It is anticipated that some SANs, especially those working in real
  673.   time, will want to implement priorities.  This field supports such
  674.   usage.
  675.  
  676.   All ones is the highest priority, and all zeroes the lowest.  Ideally,
  677.   packets with higher priority should gain access to contested resources
  678.   before packets with lower priority.  Implementations may ignore the
  679.   Priority field.
  680. PktWay-WG                         <15>                          EEP-spec
  681.  
  682.  
  683. Destination-Type (DT) 24 bits
  684.  
  685.   The purpose of this field is to specify the header type, as well as the
  686.   destination of the packet, when applicable.
  687.  
  688.   This field may specify:
  689.  
  690.       * A physical PktWay address (of 23 bits);
  691.       * An L2-Routing-Header (L2RH) of a variable length;
  692.       * A logical address (of 20 bits); or
  693.       * A symbol (of 20 bits).
  694.  
  695.   In addition, it is anticipated that additional types will be needed
  696.   in the future.
  697.  
  698.   A variant of Huffman coding is used to accommodate all these methods
  699.   for the Destination-Type field.  This is done by assigning the MSbit
  700.   of 0 to physical addresses, 2 MSbits of 0b10 to L2RH, 3 MSbits of
  701.   0b110 to future needs, 4 MSbits of 0b1110 to logical addresses, and
  702.   4 MSbits of 0b1111 to symbols.
  703.  
  704.   This assignment is summarized in the following table:
  705.  
  706.                         MSbits | Method
  707.                        --------+----------
  708.                          0xxx  | Physical
  709.                          10xx  | L2RH    
  710.                          110x  | Reserved
  711.                          1110  | Logical 
  712.                          1111  | Symbol  
  713.  
  714.   A single C-style 16-way switch can dispatch quickly the protocol
  715.   processor to the right handler required for any of the methods used
  716.   to specify the destination.
  717.  
  718.   The Physical addresses are unique within each instance of PktWay.
  719.   Nodes should have addresses assigned to them.  The method of assigning
  720.   unique addresses within each PktWay is not specified here.
  721.  
  722.   Examples of potentially addressable PktWay nodes include: groups
  723.   of cooperating processes, an entire MPP, or each of an MPP's many
  724.   processors or processes.
  725.  
  726.   The 0b10xx was chosen for L2RH to be consistent with the 0b10
  727.   indication of L2RHs, as described earlier in this document.
  728.  
  729.   "Logical Addresses" (e.g., for broadcast and for multicast groups)
  730.   are also in this address space.  The destination-Type is a "Logical
  731.   Address" if its 4 MSbits are set to 0b1110.
  732. PktWay-WG                         <16>                          EEP-spec
  733.  
  734.  
  735.     A few Physical-addresses are reserved:
  736.  
  737.     0x000000 Undefined address (illegal where an address is expected,
  738.              but is allowed in the SA field)
  739.  
  740.     0x7FFFFE ("Hey-You!") This address could be used at power up
  741.          to address nodes or routers, over point-to-point links.
  742.          ("If you receive it, it's for you.")
  743.  
  744.     0x7FFFFF (Broadcast) This address is reserved for broadcast
  745.          operations which may be added in later versions.
  746.          ("If you receive it, it's for you.")
  747.  
  748. Type Extension (TE) 2 bytes
  749.  
  750.   An extension of the following PT field.
  751.  
  752.   Logically, the TE should be after the PT.  However, the PT is 8B-word
  753.   aligned, easier to process than the TE which is 2B-aligned, but not
  754.   8B-aligned. Since the PT is more frequently used than the TE, it was
  755.   assigned to the better aligned field.
  756.  
  757. Packet Type (PT) 2 bytes
  758.  
  759.   The PT field provides the information needed for efficient
  760.   de-multiplexing of multiple protocol layers.  Whereas traditional
  761.   protocol layering requires several stages of sequential
  762.   de-multiplexing, PktWay provides enough information to support a
  763.   single combined de-multiplexing operation (such as in support of zero
  764.   copy TCP).  Thus, the PT field may indicate, for example, that the
  765.   data blocks contain IP, SNMP, ATM, Ethernet, or other layered protocols.
  766.  
  767.   PT values to support popular parallel programming APIs such as MPI
  768.   have been defined.  The PktWay Enumeration document defines several
  769.   values for this PT field.
  770.  
  771.   The PT field value of "RRP" indicates that message contains commands
  772.   used in the PktWay Router-to-Router Protocol (RRP).
  773.  
  774.   Some PTs will also use the 2 byte Type Extension (TE) field which
  775.   precedes the PT for passing PT-specific parameters, such as
  776.   implementation specific de-multiplexing information.
  777.  
  778.   RRP messages (as described in the PktWay RRP document) use the
  779.   TE field to distinguish among the various RRP-messages.
  780.  
  781.   Special Packet Types
  782.  
  783.     RRP - PktWay's Router/Router protocol (see the RRP document).
  784.  
  785.     ERR - Error reporting packet, usually sent to the Source Address
  786.           (SA, see below) in response to a PktWay message that could
  787.           not be properly handled, such as "Destination Unknown."
  788.           The TE indicates the nature of the error (e.g., UNK) as
  789.           defined in the PktWay Enumeration document.
  790. PktWay-WG                         <17>                          EEP-spec
  791.  
  792. Endianness (E), 4 bits
  793.  
  794.   If the SAN interface of the receiving-node detects Endianness that is
  795.   different than its own and if the entire Data Block (DB) consists of
  796.   N-byte fields, then it may activate byte-swapping hardware for N-byte
  797.   fields, saving much work for the receiving node.
  798.  
  799.   The first bit (MSbit) of E, 'e' indicates whether the DB is in
  800.   Big-Endian order (e=0) or in Little-Endian order (e=1).  The next
  801.   3 bits could control hardware byte swapping, if any, which assumes that
  802.   all the data consists of words of the same length.
  803.  
  804.   The meaning associated with the values of the 3 LSbits of this field
  805.   are defined in the PktWay enumeration document.
  806.  
  807. Pad Length (PL) unsigned integer, 3 bits
  808.  
  809.   The number of padding bytes that were added at the end of the DB
  810.   (i.e., from the end of the data to the end of the DB).  PL can be
  811.   between 0 and 7.
  812.  
  813. Data Length (DL) unsigned integer, 25 bits
  814.  
  815.   Length, in 8B-words, of the data block, not including the L2RHs,
  816.   EEP-header, OH, OT, and TAIL, including any optional padding.  Hence,
  817.   the net length of the Data Block is 8*DL-PL bytes.  The minimum is
  818.   zero, and the maximum length is (2^25-1)*8 bytes = ~2^28 = 256 MBytes.
  819.  
  820. Optional Header-Field Flag (h) 1 bit
  821.  
  822.   This bit is set to 1 if there are one (or more) optional header (OH)
  823.   fields following the standard 16-byte EEP-header.
  824.  
  825. Reserved (RZ) 7 bits
  826.  
  827.   This field is reserved for future use.  Applications should neither
  828.   use it, nor count on others not to use it.  It should be always set
  829.   to zero (0b0000000).
  830.  
  831. Source Address (SA) 24 bit
  832.  
  833.   This field contains the physical address of the packet's original
  834.   source in the same format as the DT.  However, unlike the DT, the
  835.   SA must be a physical address.
  836.  
  837.   Filling in this field is optional.  A value of zero means that the SA
  838.   is not specified.
  839.  
  840.   Routers may use this field to identify the sender to which error
  841.   messages may be returned.
  842. PktWay-WG                         <18>                          EEP-spec
  843.  
  844.  
  845.  
  846.  
  847. [3]: Optional Header Fields (OH)
  848. +--------------------------------
  849.  
  850. A PktWay-message has Optional Header fields (OH) following the
  851. EEP-header, if the Option-Flag (h) is set to 1 in the EEP-header.
  852.  
  853. Each OH is in the format:
  854.  
  855. +--------+--------+--------+--------+--------+--------+--------+--------+
  856. |TCtttttt|LLLLLLLL|  data  |........|........|........|........|........| OH
  857. +--------+--------+--------+--------+--------+--------+--------+--------+
  858.  
  859. The first byte indicates the optional header field type (OH-TYPE).
  860.  
  861. The first bit, T, of the first byte indicates the processing of this
  862. OH-TYPE:
  863.  
  864.  T=0: Optional (may drop this field if this OH-TYPE is unknown)
  865.  T=1: Mandatory (should not process this message if this OH-TYPE is unknown)
  866.  
  867. The second bit, C, of the first byte indicates whether there are more
  868. header fields (i.e., whether this is the last field of this message).
  869.  
  870.  C=0: More Optional Header fields follow
  871.  C=1: End of Optional Header fields group (i.e., this is the last OH)
  872.  
  873. The other 6 bits of this byte, tttttt, define application-specific
  874. OH-TYPEs.
  875.  
  876. The second byte is the byte-count (L) of the data for this field that
  877. starts in the next byte, and is padded with as many padding bytes as
  878. needed to fill 8B-words.
  879.  
  880. The length (L) does not include itself, hence it is between 0 and 255.
  881. The total number of 8B-words in the symbol L2RH is [(L+9)/8] where the
  882. square brackets indicate the integer part, rounded down, of the quantity
  883. within.  Therefore, the number of padding bytes is PL=8*[(L+9)/8]-2-L.
  884.  
  885. Example: An Optional Header Field (OH) with a mandatory OH-TYPE and 4
  886. data bytes:
  887.                L=4    #1       #2       #3       #4    padding  padding
  888. +--------+--------+--------+--------+--------+--------+--------+--------+
  889. |1xtttttt|00000100| data01 | data02 | data03 | data04 |  xxx   |  xxx   | OH
  890. +--------+--------+--------+--------+--------+--------+--------+--------+
  891.                   |<------------- value ------------->|
  892. PktWay-WG                         <19>                          EEP-spec
  893.  
  894.  
  895. [4]: Optional Data Block (DB)
  896. +----------------------------
  897.  
  898. The DB is free for applications to use in any way.  Routers must not
  899. modify this field.
  900.  
  901. The DB has DL 8B-words, including optional padding (at the end) of PL
  902. bytes.  Hence, the number of data bytes is 8*DL-PL.  Both DL and PL are
  903. specified in the EEP-header.
  904.  
  905. The maximum length of the DB is 8*(2^25-1)B = ~256 MByte.
  906.  
  907.  
  908. [5]: Optional Trailer Fields (OT)
  909. +---------------------------------
  910.  
  911. A PktWay-message has Optional Trailer fields (OT) if so indicated in
  912. an Optional Header field, e.g., an OH field may indicate that a CRC64
  913. is in the OT.
  914.  
  915. An OT may have just the data for an OH defined above (following the
  916. EEP header), or be a stand alone, self-defined field in the same format
  917. as OH.
  918.  
  919. The OT-fields are in the order defined by the OHs.  For example, if an
  920. OH-field indicating that a CRC32 is in the OT, is followed by another
  921. OH-fields indicating that a CRC64 is in the OT, then the OT with the
  922. CRC32 should be followed by the OT with the CRC64.  Self defined OT
  923. fields must follow OTs defined by the OHs.
  924.  
  925.  
  926. [6]: EEP Trailer (TAIL)
  927. +-----------------------
  928.  
  929. The TAIL consists of only the Error Indication (EI) field which is
  930. a single 8B-word.
  931.  
  932. Routers may start forwarding packets toward their destinations before
  933. detecting transmission errors (such as in wormhole routing).  The EI
  934. field provides such routers with a means to append an error indication
  935. to the end of a packet.
  936.  
  937. An all zero EI value means that no error was indicated.  Any non-zero
  938. EI value indicates one or more errors.
  939.  
  940. The packet source will usually initialize the EI field to all zeros.
  941. However, as an alternative example, a memory board may create a packet
  942. with a non zero EI field (EI=1) that indicates that a parity error was
  943. detected by the memory board.
  944.  
  945. Each router does an arithmetic left shift, on the EI field by one bit
  946. unless its MSbit is 1.  Routers that detect transmission errors also set
  947. the LSbit (after the shift) to 1.
  948.  
  949. This provides the ability to identify which routers have indicated
  950. errors (if the route is known).
  951. PktWay-WG                         <20>                          EEP-spec
  952.  
  953.  
  954.        Appendix-A: A Recommendation for PktWay Address Assignment
  955.        ----------------------------------------------------------
  956.  
  957.  
  958. This section of the EEP document is a recommendation only, and not a
  959. part of the PktWay standard.
  960.  
  961. Unlike IP addresses, physical PktWay addresses are not globally unique,
  962. but must be locally unique within each PktWay configuration.  Hence,
  963. when SANs that were developed independently are interconnected to form
  964. a PktWay, conflicting physical addresses may occur.
  965.  
  966. It is recommended not to attempt to assure local uniqueness of physical
  967. addresses by subdividing the global address space (hence, attempting to
  968. achieve global uniqueness).
  969.  
  970. Instead, it is recommended that every SAN would have local PktWay
  971. addresses, between 1 and the number of its local nodes, and also have
  972. a global "bias" to be added to all the addresses in that SAN.  Hence,
  973. by proper setting of the biases of interconnected SANs, the local
  974. uniqueness of PktWay addresses is achieved.
  975.  
  976. The coordination of these biases is left (at least now) for manual
  977. (static) out-of-band coordination.
  978.  
  979. The use of such biases simplifies the mapping of physical addresses
  980. to their SANs.
  981. PktWay-WG                         <21>                          Glossary
  982.  
  983.               Appendix-B: Glossary
  984.               ---------------------------
  985.               (Last update: Aug-24, 1997)
  986.  
  987. Address:        A unique designation of a node (actually an interface to
  988.                 that node) or a SAN.
  989.  
  990. Buddy-HR:       HRs are "buddies" if they are on the same SAN.
  991.  
  992. Cut-Thru:    See wormhole.
  993.  
  994. Destination:    The node to which a packet is intended
  995.  
  996. Dynamic-Routing: Routing according to dynamic information
  997.                 (i.e., acquired  at run time, rather than pre-set).
  998.  
  999. Endianness:     The property of being Big-Endian or Little-Endian
  1000.         (transmission order, etc.)
  1001.  
  1002. Ethertype:    A 16-bit value designating the type of Level-3 packets
  1003.         carried by a Level-2 communication system.
  1004.  
  1005. HR:             Half-Router, the part of a router that handles one
  1006.                 network only.
  1007.  
  1008. L2-Forwarding:    Forwarding based on Level-2 (i.e., data-link layer
  1009.         of the ISORM) information, e.g., the native technique
  1010.         of each SAN or LAN.  Also called "source routing."
  1011.  
  1012. L3-Forwarding:    Forwarding based on end-to-end Level-3 (i.e., network
  1013.         layer of the ISORM) addresses.  Also called
  1014.         "destination routing."
  1015.  
  1016. Map:            The topology of a network.
  1017.  
  1018. Mapper:        A node on a SAN/LAN that has the map and an RT for that
  1019.         network.  It is expected that the mapper dynamically
  1020.         updates the map and the RT.
  1021.  
  1022. Multi-homed Node: A node with more than one network interface, where each
  1023.                 interface has another address.
  1024.  
  1025. Node:           Whatever can send and receive packets (e.g., a computer,
  1026.                 an MPP, a software process, etc.)
  1027.  
  1028. Node structure: A C-struct (or equivalent) containing values for some
  1029.         attributes of a node.
  1030.  
  1031. Planned Transfer: Transfer of information, occurs after an initial phase
  1032.                 in which the sender decides which Level-2 route to use
  1033.                 for that transfer.
  1034. PktWay-WG                         <22>                          Glossary
  1035.  
  1036.  
  1037.  
  1038. RCVF:           The "Received From" set includes all the physical
  1039.                 addresses through which an RT was disseminated, starting
  1040.         with that of the mapper that created that RT.
  1041.  
  1042. Re-direct-message: A message that tells nodes which HR should be used in
  1043.  
  1044.                 order to get to a certain remote address (or range of).
  1045.  
  1046. Router:         The inter-SAN communication device
  1047.  
  1048. Security Context: A relationship between 2 (or more) nodes that defines
  1049.         how the nodes utilize security services to communicate
  1050.         securely. 
  1051.  
  1052. Source:         The node that created a packet.
  1053.  
  1054. Source-Route:   A Level-2 route that is chosen for a packet by its source.
  1055.  
  1056. Symbol:        Data preceeding the EEP header of a PktWay message,
  1057.         interleaving with the L2RHs.
  1058.  
  1059. Twin-HR:        Two HRs are twins if they both are parts of the same
  1060.                 inter-SAN router.
  1061.  
  1062. Wormhole-routing: (aka cut-thru routing) forwarding packets out of
  1063.                 switches as soon as possible, without storing that
  1064.                 entire packet in the switch (unlike Stop-and-forward).
  1065.  
  1066. Zero-copy TCP:  A TCP system that copies data directly between the user
  1067.                 area and the network device, bypassing OS copies.
  1068.  
  1069. PktWay-WG                         <23>                        Acronyms
  1070.                 
  1071.          Appendix-C: Acronyms and Abbreviations
  1072.          --------------------------------------
  1073.              (Last update: August 24, 1997)
  1074.  
  1075. 0bNNNN  The binary number NNNN (e.g., 0b0100 is 4-decimal)
  1076. 0xNNNN  The hexadecimal number NNNN (e.g., 0x0100 is 256-decimal)
  1077. 8B      8 byte (64 bits) entity
  1078. ADDR    The Address-record of RRP
  1079. API    Application/Program Interface
  1080. AT    Address Type
  1081. ATM    Asynchronous Transmission Mode
  1082. B    Byte (e.g., 4B)
  1083. b    bit (e.g., 32b)
  1084. BC    Byte Count (of parameters)
  1085. BER    Bit Error Rate
  1086. CAPA    The CAPAbility-record of RRP
  1087. CC    Capability Code
  1088. CSR     Common Source-Route
  1089. DA    Destination Address
  1090. DB    Data Block
  1091. DL    Data Length (in 8B words)
  1092. DSP     Digital Signal Processor
  1093. DT    Destination-Type
  1094. e    The MSbit of E
  1095. E    The Endianness field (in the EEP header)
  1096. EEP     End/End Protocol
  1097. EI    Error Indication
  1098. GP    General Purpose
  1099. GVL2    An RRP message, requesting L2 route to a given destination
  1100. GVRT    An RRP message asking an HR to give its routing tables
  1101. h    Optional header fields flag
  1102. HR      Half Router
  1103. HRTO    An RRP message asking which HR to use for a given destination
  1104. ID      Identification
  1105. IGMP    Internet Group Management Protocol
  1106. INFO    An RRP message providing information about nodes
  1107. IP    The Internet protocol
  1108. ISORM    The ISO Reference Model
  1109. L       Length field (exclusive of itself)
  1110. L2      Level-2 of the ISORM (Link)
  1111. L2RH    Level-2 Routing Header 
  1112. L2SR    Source Route
  1113. L3      Level-3 of the ISORM (Network)
  1114. LA    Logical Address
  1115. LADR    The Logical-addresses-record of RRP
  1116. LAN    Local Area Network
  1117. LRT     Local Routing Table
  1118. LSbit   Least Significant bit
  1119. LSbyte  Least Significant byte
  1120. MAC    Message Authentication Code / Media Access Control
  1121. MPI    Message Passing Interface
  1122. MPP    Massively Parallel Processing system
  1123. MSbit   Most Significant bit
  1124. PktWay-WG                         <24>                        Acronyms
  1125.  
  1126. MSbyte  Most Significant byte
  1127. MSU    Mississippi State University
  1128. MTU    Maximum Transmission Unit
  1129. MTUR    The MTU-record of RRP
  1130. M/C    Multicast
  1131. NAME    The name-record of RRP
  1132. NFS     Network File Server
  1133. OH    Optional Header field
  1134. OH-TYPE    The Type of an Optional Header field
  1135. OT    Optional Trailer field
  1136. P       The Priority field
  1137. PAD     Padding After Data
  1138. PBD     Padding Before Data
  1139. PCI     The Peripheral Component Interconnect "standard"
  1140. PH      PacketWay Header 
  1141. PL    Padding Length (always in bytes)
  1142. PPP     The Point-to-Point Protocol
  1143. PROM    Programmable ROM (Read-Only-Memory)
  1144. PT    Packet Type (2B)
  1145. PVM    Parallel Virtual Machine
  1146. PW    The Myrinet Packet Type assigned to PktWay (PW=0x0300)
  1147. Q       Quality (of a path)
  1148. RCVF    Received-From list, or the Received-From record of RRP
  1149. RDRC    A re-direct message of RRP
  1150. RH      Routing Header 
  1151. RID    Record ID
  1152. RL    Record Length (in 8B-words)
  1153. RRP     Router/Router Protocol
  1154. RT-hd   RT (Routing Table) header
  1155. RT      Routing Table
  1156. RTBL    An RRP message proving a Routing Table
  1157. RTHD    The Routing-Table-Header record of RRP
  1158. RTyp    RRP's Record Type
  1159. RZ    The Reserved field (in the EEP header)
  1160. SA    Source Address
  1161. SAN     System Area Network
  1162. SAN-ID    The 24-bit PktWay-address of a SAN
  1163. SAR    Segmentation and Reassembly
  1164. SN      Serial Number
  1165. SNID    SAN-ID
  1166. SNMP    Simple Network Management Protocol
  1167. SR      Source Route (always at Level-2)
  1168. SRQR    The Source-Route-and-Q-record of RRP
  1169. ST    Symbol Type
  1170. TAIL    PacketWay EEP Trailer
  1171. TE    Type Extension (2B)
  1172. TELL    An RRP message requesting information about nodes partially specified
  1173. UNK    Unknown
  1174. V       Version
  1175. WRU?    An RRP message asking its recipient to identify itself
  1176. XRT     External Routing Table
  1177. xxx    A padding byte
  1178.  
  1179.                                             [end]
  1180.  
  1181.