AFS Assigned Numbers Registry - Rx services

This is a registry of the Rx service ID codes used for various Rx-based application services. These codes are used to differentiate requests for different Rx services operating on the same UDP endpoint, and it is common for the same service ID to be reused for several services running on different UDP ports. As a result, both the UDP port number and Rx service ID must be used to identify a particular service.

This registry includes three lists, intended to serve different purposes. The first is a list of reserved service ID's and "universal" service ID's in the range 32768 - 49151, which are reserved on all ports. The second is an authoritative list of Rx protocols used in AFS, and the third list is a non-authoritative index of other Rx-based application protocols.

Universal Services

To facilitiate protocols like the Ubik distributed database protocol which are designed to coexist on the same UDP port with another RX-based application, service ID's in the range 32768 - 49151 and certain other ID's are reserved on all ports. Below is an authoritative registry of such "universal" services and reserved service ID's.

Port Svc Package Description
ALL 0 Reserved
ALL 50 VOTE_ Ubik vote/quorum
ALL 51 DISK_ Ubik disk I/O
ALL 52 Ubik application
ALL 409 RXSTATS_ rx statistics
ALL 34567 rxgk security negotiation
ALL 32768 - 49151 Reserved - universal services
ALL 64512 - 65535 Reserved - site local use

AFS Application Services

The following is an authoritative list of all Rx services used in the AFS protocols. It serves to provide an index to rx protocols for AFS implementors, and to avoid conflicts between services running on UDP ports used by AFS.

Port Svc Package Description
7000 1 RXAFS_ fileserver
7001 1 RXAFSCB_ cache manager callback
7002 73 PR_ pts database
7003 52 VL_ volume location
7004 731 KAA_ kaserver auth
7004 732 KAT_ kaserver tgs
7004 733 KAM_ kaserver admin
7005 4 AFSVol volume management
7007 1 BOZO_ Basic OverSeer
7008 4 UPDATE_ software update
7009 4 RMTSYS_ remote syscall
7021 22314 BUDB_ backup database
7025 1 TC_ tape controller (7025+offset)
7100 60289 RXKST_ rxkad stress test
? 1 RXAFSCB_ callback on all fs client ports

Other Application Services

The following is an index of other known Rx services; it is provided for reference only, and is not an authoritative list. Authors of Rx-using application protocols are encouraged to obtain a UDP port assignment from the Internet Assigned Numbers Authority (IANA), and to provide details to the AFS assigned numbers registrar for inclusion in this list.

Port Svc Package Description
5001 1 TDB_ Stage tape database
6197 23 tt_ Stage remote control (tos)
7000 99 HAFS_ hostafs control

Reserved codes

Service ID 0 is reserved and must not be used.

Service ID's 32768 through 49151, inclusive, are reserved for future "universal" services which may be present on any port. An ID in this range may be obtained via the AFS assigned numbers registrar.

Service ID's 64512 through 65535, inclusive, are reserved for private and local use within a site.

Registration Policy

New AFS application services will be allocated in cases where it is the concensus of the AFS development community that it is necessary to extend the protocol suite by adding a new service whose definition and procedure number allocations are coordinated by a central authority.

New universal service ID's will be allocated when there is a demonstrated need for a service ID which will not conflict with other services on any port. Such services need not necessarily be related to the AFS protocols.

Any request for registration of a universal or AFS application service must be accompanied by a description of the interface to be provided by the new service, including procedure numbers, arguments, and any structure definitions, constants, or other information needed to implement the interface. It is requested that this documentation include an rx interface specification file (.xg file) which may be freely modified and published as the basis for the procedure registry for the new service.

Other application service ID's will be registered on request. While the registrar will not assign ID's or insure their uniqueness, advice may be provided on the choice of a service ID.

UDP Port Registration

The Rx protocol is layered on top of UDP, and thus any Rx service must listen on some UDP port. While service ID's may be used to multiplex more than one service on the same port (normally when multiple services are provided by the same process), they do not serve as a substitute for proper registration of the UDP ports used. Developers of new Rx-based protocols are encouraged to register the UDP ports they use with the Internet Assigned Numbers Authority, which maintains a list of known UDP port assignments.