PAD Services

Remote PAD Support (x29server)

The x29server process employs Berkeley Sockets (at X.25 level 3) to set up dedicated listening sockets that only handle calls arriving at a particular subsystem. Addressing information contained in incoming call request packets enables the listening process to determine if the call should be accepted.

When a call request packet arrives x29server looks in the pad_spt entries to verify the following:

Legal PID in the incoming call request packet – The PID must conform to the X.29 standard to ensure support on all X.25 networks. x29server only verifies that the PID begins with 01 and that it is 4 bytes in length as illustrated below.

Figure 6-4

1st byte must be 01

0x01000000

PID is 4 bytes in length

Correct interface_name – If there is an entry in the interface_name field in the pad_spt section (optional), it must contain the name of the interface over which the call has arrived.

Correct address – If there is an entry in the local_x121 field in the pad_spt section (optional), this entry must match the called address specified in the call request packet. Furthermore, the local_x121 field entry must contain the complete address (that is, both the address and subaddress of the local interface).

If all of the above conditions are met, the call is connected and x29server does the following:

parses the x29hosts file to find the first previously accepted pad_spt entry whose remote_x121 field matches the calling address contained in the call request packet,

and, if there is a pty_slave_fname field in the selected pad_spt entry, x29server verifies that the corresponding PTY master/slave pair exists and is available.

If the last two items are completed successfully, the call is accepted; otherwise, x29server rejects the call.

134

Chapter 6