System Initialization and Acceptance Testing (Normal Operation)
4.7 Operating System Bootstrap
VMB, the requester, starts by sending a REQ_PROGRAM message to the
MOP ’dump/load’ multicast address. It then waits for a response in the form
of a VOLUNTEER message from another node on the network, the MOP
server. If a response is received, then the destination address is changed from
the multicast address to the node address of the server and the same REQ_
PROGRAM message is retransmitted to the server as an Acknowledge.
Next, VMB begins sending REQ_MEM_LOAD messages to the server. The
server responds with either:
• MEM_LOAD message, while there is still more to load.
• MEM_LOAD_w_XFER, if it is the end of the image.
• PARAM_LOAD_w_XFER, if it is the end of the image and operating system
parameters are required.
The "load number" field in the load messages is used to synchronize the
load sequence. At the beginning of the exchange, both the requester and
server initialize the load number. The requester only increments the load
number if a load packet has been successfully received and loaded. This forms
the Acknowledge to each exchange. The server will resend a packet with a
specific load number, until it sees the load number incremented. The final
Acknowledge is sent by the requester and has a load number equivalent to the
load number of the appropriate LOAD_w_XFER m 1.
Because the request for load assistance is a MOP "must transact" operation,
the network bootstrap continues indefinitely until a volunteer is found.
The REQ_PROGRAM message is sent out in bursts of eight at four-second
intervals, the first four in MOP Version four IEEE 802.3 format and the last
four in MOP Version 3 Ethernet format. The backoff period between bursts
doubles each cycle from an initial value of four seconds, to eight seconds,...
up to a maximum of five minutes. However, to reduce the likelihood of many
nodes posting requests in lock-step, a random "jitter" is applied to the backoff
period. The actual backoff time is computed as (.75+(.5*RND(x)))*BACKOFF,
where 0<=x<1.
4.7.3.4 Network "Listening"
While the CPU module is waiting for a load volunteer during bootstrap, it
"listens" on the network for other maintenance messages directed to the
node and periodically identifies itself at the end of each 8- to 12-minute
interval before a bootstrap retry. In particular, this "listener" supplements the
Maintenance Operation Protocol (MOP) functions of the VMB load requester
typically found in bootstrap firmware and supports.
System Initialization and Acceptance Testing (Normal Operation)
4–33