[comp.protocols.tcp-ip] TCP/IP on IBM Token Ring and Source Routing

YAKOV@IBM.COM (Jacob Rekhter) (08/03/87)

I am the person who introduced source routing into TCP/IP code
for AIX on IBM Token Ring. Note, that both PC and VM implementations
were based on AIX code and therefore can interoperate with each
other.
First of all Source Routing which is implemented on AIX has
nothing to do with IP source routing (IP source routing
is part of IP header, while Token Ring Source Routing is part
of MAC (Medium Access Control) header).
Originally I though of ignoring MAC Source Routing completely.
However, since IBM Token Ring has support for MAC layer Bridges
and since AIX requirement was to support both TCP/IP and SNA
over the token ring, I introduced MAC Source Routing.
MAC Source Routing is implemented as a part of ARP. ARP cache
is extended to include both hardware address and routing
information (if present). Initial ARP broadcast is done
either to all rings/all stations or to local ring/all stations
(this is a configurable parameter). Notice, that both VM
and PC doing broadcast to all ring/all stations. I made
this option in order to decrease the number of broadcasts
when multiple rings are connected via both MAC layer bridges
(used for SNA) and by real IP routers (used by TCP).
I asked J. Postel whether it would be feasable to
 (1) include MAC layer routing information into ARP reply
 (2) assign separate ARP hardware type for 802.5.
The answer to both were "no".
I would suggest, that other implementations which do not
want to support MAC layer Source Routing should accept
ARP requests with RCF (Route Control Field), but should
indicate in reply that MAC Routing Information  is not present
(just turn off bit 0 of byte 0 of your source hardware address
in MAC header in ARP reply).


I would appreciate any comments/suggestions.

Jacob Rekhter (YAKOV@IBM.COM)