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)