As per Relevance of the word identification, we have this rfc below:











Network Working Group W. Simpson,
Request for Comments: 1570
Updates: 1548 January 1994
Category: Standards


PPP LCP

Status of this

This document specifies an Internet standards track protocol for
Internet community, and requests discussion and suggestions
improvements. Please refer to the current edition of the "
Official Protocol Standards" (STD 1) for the standardization
and status of this protocol. Distribution of this memo is unlimited



The Point-to-Point Protocol (PPP) [1] provides a standard method
transporting multi-protocol datagrams over point-to-point links.
defines an extensible Link Control Protocol (LCP) for establishing
configuring, and testing the data-link connection. This
defines several additional LCP features which have been
over the past few years

This document is the product of the Point-to-Point Protocol
Group of the Internet Engineering Task Force (IETF). Comments
be submitted to the ietf-ppp@ucdavis.edu mailing list

Table of

1. Additional LCP Packets ................................ 1
1.1 Identification .................................. 1
1.2 Time-Remaining .................................. 3
2. Additional LCP Configuration Options .................. 6
2.1 FCS-Alternatives ................................ 6
2.1.1 LCP considerations .............................. 7
2.1.2 Null FCS ........................................ 8
2.2 Self-Describing-Padding ......................... 9
2.3 Callback ........................................ 11
2.4 Compound-Frames ................................. 12
2.4.1 LCP considerations .............................. 14
APPENDICES ................................................... 15
A. Fast Frame Check Sequence (FCS) Implementation ........ 15
A.1 32-bit FCS Computation Method ................... 15
SECURITY CONSIDERATIONS ...................................... 17
REFERENCES ................................................... 17
ACKNOWLEDGEMENTS ............................................. 18
CHAIR'S ADDRESS .............................................. 18
EDITOR'S ADDRESS ............................................. 18








Simpson [Page i
RFC 1570 PPP LCP extensions January 1994


1. Additional LCP

The Packet format and basic facilities are already defined for
[1].

Up-to-date values of the LCP Code field are specified in the
recent "Assigned Numbers" RFC [2]. This specification concerns
following values

12
13 Time-




1.1.



This Code provides a method for an implementation to
itself to its peer. This Code might be used for many
purposes, such as link troubleshooting, license enforcement, etc

Identification is a Link Maintenance packet.
packets MAY be sent at any time, including before LCP has
the Opened state

The sender transmits a LCP packet with the Code field set to 12
(Identification), the Identifier field set, the local Magic-
(if any) inserted, and the Message field filled with any
data, but not exceeding the default MRU minus eight

Receipt of an Identification packet causes the RXR or RUC event
There is no response to the Identification packet

Receipt of a Code-Reject for the Identification packet
generate the RXJ+ (permitted) event

Rationale

This feature is defined as part of LCP, rather than as
separate PPP Protocol, in order that its benefits may
available during the earliest possible stage of the
Establishment phase. It allows an operator to learn
identification of the peer even when negotiation is
converging. Non-LCP packets cannot be sent during the
Establishment phase




Simpson [Page 1]
RFC 1570 PPP LCP extensions January 1994


This feature is defined as a separate LCP Code, rather than
Configuration-Option, so that the peer need not include it
other items in configuration packet exchanges, and
"corrected" values or "rejection", since its generation is
rare and in one direction. It is recommended
Identification packets be sent whenever a Configure-Reject
sent or received, as a final message when negotiation fails
converge, and when LCP reaches the Opened state

A summary of the Identification packet format is shown below.
fields are transmitted from left to right

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Magic-Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ...
+-+-+-+-+-+-+-+-+




12 for



The Identifier field MUST be changed for each Identification sent



>= 8

Magic-

The Magic-Number field is four octets and aids in detecting
which are in the looped-back condition. Until the Magic-
Configuration Option has been successfully negotiated, the Magic
Number MUST be transmitted as zero. See the Magic-
Configuration Option for further explanation



The Message field is zero or more octets, and its contents
implementation dependent. It is intended to be human readable
and MUST NOT affect operation of the protocol. It is



Simpson [Page 2]
RFC 1570 PPP LCP extensions January 1994


that the message contain displayable ASCII characters 32
126 decimal. Mechanisms for extension to other character sets
the topic of future research. The size is determined from
Length field

Implementation Note

The Message will usually contain such things as the sender'
hardware type, PPP software revision level, and PPP
serial number, MIB information such as link speed and
name, and any other information that the sender thinks might
useful in debugging connections. The format is likely to
different for each implementor, so that those doing
number tracking can validate their numbers. A
implementation SHOULD treat the Message as displayable text
and SHOULD be able to receive and display a very long Message



1.2. Time-



This Code provides a mechanism for notifying the peer of the
remaining in this session

The nature of this information is advisory only. It is
that only one side of the connection will send this
(generally a "network access server"). The session is
concluded by the Terminate-Request packet

Time-Remaining is a Link Maintenance packet. Time-
packets may only be sent in the LCP Opened state

The sender transmits a LCP packet with the Code field set to 13
(Time-Remaining), the Identifier field set, the local Magic-
(if any) inserted, and the Message field filled with any
data, but not exceeding the peer's established MRU minus twelve

Receipt of an Time-Remaining packet causes the RXR or RUC event
There is no response to the Time-Remaining packet

Receipt of a Code-Reject for the Time-Remaining packet
generate the RXJ+ (permitted) event

Rationale

This notification is defined as a separate LCP Code,



Simpson [Page 3]
RFC 1570 PPP LCP extensions January 1994


than a Configuration-Option, in order that changes and
messages may occur dynamically during the session, and that
information might be determined after Authentication
occurred. Typically, this packet is sent when the link
Network-Layer Protocol phase, and at regular
throughout the session, particularly near the end of
session

A summary of the Time-Remaining packet format is shown below.
fields are transmitted from left to right

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Magic-Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Seconds-Remaining |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ...
+-+-+-+-+-+-+-+-+




13 for Time-



The Identifier field MUST be changed for each Time-Remaining sent



>= 12

Magic-

The Magic-Number field is four octets and aids in detecting
which are in the looped-back condition. Until the Magic-
Configuration Option has been successfully negotiated, the Magic
Number MUST be transmitted as zero. See the Magic-
Configuration Option for further explanation

Seconds-

The Seconds-Remaining field is four octets and indicates
number of integral seconds remaining in this session. This 32



Simpson [Page 4]
RFC 1570 PPP LCP extensions January 1994


unsigned value is sent most significant octet first. A value
0xffffffff (all ones) represents no timeout, or "forever".



The Message field is zero or more octets, and its contents
implementation dependent. It is intended to be human readable
and MUST NOT affect operation of the protocol. It is
that the message contain displayable ASCII characters 32
126 decimal. Mechanisms for extension to other character sets
the topic of future research. The size is determined from
Length field







































Simpson [Page 5]
RFC 1570 PPP LCP extensions January 1994


2. Additional LCP Configuration

The Configuration Option format and basic options are already
for LCP [1].

Up-to-date values of the LCP Option Type field are specified in
most recent "Assigned Numbers" RFC [2]. This document concerns
following values

9 FCS-
10 Self-Describing-
13
15 Compound-




2.1. FCS-



This Configuration Option provides a method for an
to specify another FCS format to be sent by the peer, or
negotiate away the FCS altogether

This option is negotiated separately in each direction. However
it is not required that an implementation be capable
concurrently generating a different FCS on each side of the link

The negotiated FCS values take effect only during
and Network-Layer Protocol phases. Frames sent during any
phase MUST contain the default FCS

A summary of the FCS-Alternatives Configuration Option format
shown below. The fields are transmitted from left to right

0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Options |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+




9





Simpson [Page 6]
RFC 1570 PPP LCP extensions January 1994




3



This field is one octet, and is comprised of the "logical or"
the following values

1 Null
2 CCITT 16-bit
4 CCITT 32-bit


Implementation Note

For most PPP HDLC framed links, the default FCS is the CCITT 16-
bit FCS. Some framing techniques and high speed links may
another format as the default FCS


2.1.1. LCP

The link can be subject to loss of state, and the LCP can re
negotiate at any time. When the LCP begins renegotiation
termination, it is recommended that the LCP Configure-Request
Terminate-Request packet be sent with the last negotiated FCS,
change to the default FCS, and a duplicate LCP packet is sent
the default FCS. The Identifier field SHOULD NOT be incremented
each such duplicate packet

On receipt of a LCP Configure-Request or Terminate-Request packet
the implementation MUST change to the default FCS for
transmission and reception. If a Request packet is received
contains a duplicate Identifier field, a new reply MUST be generated

Implementation Notes

The need to send two packets is only necessary after
Alternative-FCS has already been negotiated. It need not
during state transitions when there is a natural indication
the default FCS is in effect, such as the Down and Up events.
is necessary to send two packets in the Ack-Sent and
states, since the peer could mistakenly believe that the link
Opened

It is possible to send a single 48-bit FCS which is a
of the 16-bit and 32-bit FCS. This may be sent instead of



Simpson [Page 7]
RFC 1570 PPP LCP extensions January 1994


the two packets described above. We have not standardized
procedure because of intellectual property concerns. If such
48-bit FCS is used, it MUST only be used for LCP packets


2.1.2. Null

The Null FCS SHOULD only be used for those network-layer
transport protocols which have an end-to-end checksum available,
as TCP/IP, or UDP/IP with the checksum enabled. That is, the
FCS option SHOULD be negotiated together with another non-null
option in a heterogeneous environment

When a configuration (LCP or NCP) or authentication packet is sent
the FCS MUST be included. When a configuration (LCP or NCP)
authentication packet is received, the FCS MUST be verified

There are several cases to be considered

Null FCS

The sender generates the FCS for those frames which require
FCS before sending the frame

When a frame is received, it is not necessary to check the
before demultiplexing. Any FCS is treated as padding

Receipt of an Authentication or Control packet would be
after passing the frame to the demultiplexer. Verification of
FCS can easily be accomplished using one of the
algorithms defined in "PPP in HDLC Framing" [3] (16-bit FCS)
Appendix A (32-bit FCS).

Null FCS with another FCS, using

This is similar to the above case

Those packets which are required to have the FCS (Authentication
Control, or Network-Protocols lacking a checksum) are
using software after demultiplexing. Packets which fail the
test are discarded as usual

Null FCS with another FCS, using

A flag is passed with the frame, indicating whether or not it
passed the hardware FCS check. The incorrect FCS MUST be
with the rest of the data. The frame MUST NOT be discarded
after demultiplexing, and only those frames that require the



Simpson [Page 8]
RFC 1570 PPP LCP extensions January 1994


are discarded

All three FCS forms (Null, 16 and 32) may be used concurrently
different frames when using software. That is probably not
with most current hardware



2.2. Self-Describing-



This Configuration Option provides a method for an
to indicate to the peer that it understands self-describing
when padding is added at the end of the PPP Information field

This option is most likely to be used when some protocols, such
network-layer or compression protocols, are configured
require detection and removal of any trailing padding.
special protocols are identified in their respective documents

If the option is Rejected, the peer MUST NOT add any padding
the identified special protocols, but MAY add padding to
protocols

If the option is Ack'd, the peer MUST follow the procedures
adding self-describing pads, but only to the
identified protocols. The peer is not required to add any
to other protocols

Implementation Notes

This is defined so that the Reject handles either case
the peer does not generate self-describing pads. When the
never generates padding, it may safely Reject the option.
the peer does not understand the option, it also will
successfully configure a special protocol which
elimination of pads

While some senders might only be capable of adding padding
every protocol or not adding padding to any protocol, by
the receiver need not examine those protocols which do not
the padding stripped

To avoid unnecessary configuration handshakes,
implementation which generates padding, and has a
configured which requires the padding to be known,
include this Option in its Configure-Request, and



Simpson [Page 9]
RFC 1570 PPP LCP extensions January 1994


Configure-Nak with this Option when it is not present in
peer's Request

Each octet of self-describing pad contains the index of
octet. The first pad octet MUST contain the value one (1),
indicates the Padding Protocol to the Compound-Frames option
After removing the FCS, the final pad octet indicates the
of pad octets to remove. For example, three pad octets
contain the values 1, 2, 3.

The Maximum-Pad-Value (MPV) is also negotiated. Only the values 1
through MPV are used. When no padding would otherwise
required, but the final octet of the PPP Information
contains the value 1 through MPV, at least one self-describing
octet MUST be added to the frame. If the final octet is
than MPV, no additional padding is required

Implementation Notes

If any of the pad octets contain an incorrect index value,
entire frame SHOULD be silently discarded. This is intended
prevent confusion with the FCS-Alternatives option, but
not be necessary in robust implementations

Since this option is intended to support compression protocols
the Maximum-Pad-Value is specified to limit the likelihood
a frame may actually become longer

A summary of the Self-Describing-Padding Configuration Option
is shown below. The fields are transmitted from left to right

0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Maximum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+




10



3






Simpson [Page 10]
RFC 1570 PPP LCP extensions January 1994




This field specifies the largest number of padding octets
may be added to the frame. The value may range from 1 to 255,
values of 2, 4, or 8 are most likely



2.3.



This Configuration Option provides a method for an
to request a dial-up peer to call back. This option might be
for many diverse purposes, such as savings on toll charges

When Callback is successfully negotiated, and authentication
complete, the Authentication phase proceeds directly to
Termination phase, and the link is disconnected

Then, the peer re-establishes the link, without
Callback

Implementation Notes

A peer which agrees to this option SHOULD request
Authentication-Protocol Configuration Option. The
information learned during authentication can be used
determine the user location, or to limit a user to
locations, or merely to determine whom to bill for the service

Authentication SHOULD be requested in turn by
implementation when it is called back, if mutual
is desired

A summary of the Callback Option format is shown below. The
are transmitted from left to right

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Operation | Message ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+




13



Simpson [Page 11]
RFC 1570 PPP LCP extensions January 1994




>= 3



The Operation field is one octet and indicates the contents of
Message field

0 location is determined by user

1 Dialing string, the format and contents of which
configuration knowledge of the specific device which
making the callback

2 Location identifier, which may or may not be
readable, to be used together with the
information for a database lookup to determine
callback location

3 E.164 number

4 Distinguished name



The Message field is zero or more octets, and its general
are determined by the Operation field. The actual format of
information is site or application specific, and a
implementation SHOULD support the field as undistinguished octets
The size is determined from the Length field

It is intended that only an authorized user will have correct
specific information to make use of the Callback.
codification of the range of allowed usage of this field
outside the scope of this specification



2.4. Compound-



This Configuration Option provides a method for an
to send multiple PPP encapsulated packets within the same frame
This option might be used for many diverse purposes, such
savings on toll charges




Simpson [Page 12]
RFC 1570 PPP LCP extensions January 1994


Only those PPP Protocols which have determinate lengths
integral length fields may be aggregated into a compound frame

When Compound-Frames is successfully negotiated, the sender
add additional packets to the same frame. Each packet
immediately followed by another Protocol field, with its
datagram

When padding is added to the end of the Information field,
procedure described in Self-Describing-Padding is used
Therefore, this option MUST be negotiated together with the Self
Describing-Padding option

If the FCS-Alternatives option has been negotiated,
describing padding MUST always be added. That is, the
packet MUST be followed by a series of octets, the first of
contains the value one (1).

On receipt, the first Protocol field is examined, and the
is processed as usual. For those datagrams which have
determinate length, the remainder of the frame is returned to
demultiplexor. Each succeeding Protocol field is processed as
separate packet. This processing is complete when a packet
processed which does not have a determinate length, when
remainder of the frame is empty, or when the Protocol field
determined to have a value of one (1).

The PPP Protocol value of one (1) is reserved as the
Protocol. Any following octets are removed as padding

A summary of the Compound-Frames Option format is shown below.
fields are transmitted from left to right

0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+




15



2




Simpson [Page 13]
RFC 1570 PPP LCP extensions January 1994


2.4.1. LCP

During initial negotiation, the Compound-Frames option can be used
minimize the negotiation latency, by reducing the number of
exchanged

The first LCP Configure-Request packet is sent as usual in a
frame, including the Self-Describing-Padding and Compound-
options

The peer SHOULD respond with a Configure-Ack, followed in a
frame by its LCP Configure-Request, and any NCP Configure-
desired

Upon receipt, the local implementation SHOULD process the Configure
Ack as usual. Since the peer has agreed to send compound frames,
implementation MUST examine the remainder of the frame for
packets. If the peer also specified the Self-Describing-Padding
Compound-Frames options in its Configure-Request, the
implementation SHOULD retain its Configure-Ack, and further
configuration packets SHOULD be added to the return frame

Together with the peer's final return frame, the minimum number
frames to complete configuration is 4.



























Simpson [Page 14]
RFC 1570 PPP LCP extensions January 1994


A. Fast Frame Check Sequence (FCS)

A.1. 32-bit FCS Computation

The following code provides a table lookup computation
calculating the 32-bit Frame Check Sequence as data arrives at
interface

/*
* u32 represents an unsigned 32-bit number. Adjust the typedef
* your hardware
*/
typedef unsigned long u32;

static u32 fcstab_32[256] =
{
0x00000000, 0x77073096, 0xee0e612c, 0x990951ba
0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3,
0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,
0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91,
0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de
0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,
0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec
0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5,
0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172,
0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b
0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940,
0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59,
0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116,
0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f
0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d
0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a
0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,
0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818,
0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01,
0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e
0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457,
0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c
0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2,
0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb
0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0,
0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9,
0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086,
0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f
0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4,
0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad



Simpson [Page 15]
RFC 1570 PPP LCP extensions January 1994


0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a
0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683,
0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8,
0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe
0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7,
0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc
0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252,
0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b
0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60,
0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79,
0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f
0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04,
0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d
0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a
0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38,
0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21,
0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e
0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c
0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45,
0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2,
0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db
0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0,
0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6,
0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf
0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,
0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8
};

#define PPPINITFCS32 0xffffffff /* Initial FCS value */
#define PPPGOODFCS32 0xdebb20e3 /* Good final FCS value */

/*
* Calculate a new FCS given the current FCS and the new data
*/
u32 pppfcs32(fcs, cp, len
register u32 fcs
register unsigned char *cp
register int len
{
ASSERT(sizeof (u32) == 4);
ASSERT(((u32) -1) > 0);
while (len--)



Simpson [Page 16]
RFC 1570 PPP LCP extensions January 1994


fcs = (((fcs) >> 8) ^ fcstab_32[((fcs) ^ (*cp++)) & 0xff]);

return (fcs);
}

/*
* How to use the
*/
tryfcs32(cp, len
register unsigned char *cp
register int len
{
u32 trialfcs

/* add on output */
trialfcs = pppfcs32( PPPINITFCS32, cp, len );
trialfcs ^= 0xffffffff; /* complement */
cp[len] = (trialfcs & 0x00ff); /* Least significant byte first */
cp[len+1] = ((trialfcs >>= 8) & 0x00ff);
cp[len+2] = ((trialfcs >>= 8) & 0x00ff);
cp[len+3] = ((trialfcs >> 8) & 0x00ff);

/* check on input */
trialfcs = pppfcs32( PPPINITFCS32, cp, len + 4 );
if ( trialfcs == PPPGOODFCS32 )
printf("Good FCS\n");
}


Security

Security issues are briefly discussed in sections concerning
Callback Configuration Option




[1] Simpson, W., Editor, "The Point-to-Point Protocol (PPP)",
1548, Daydreamer, December 1993.

[2] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2,
RFC 1340, USC/Information Sciences Institute, July 1992.

[3] Simpson, W., Editor, "PPP in HDLC Framing", RFC 1549,
Daydreamer, December 1993.






Simpson [Page 17]
RFC 1570 PPP LCP extensions January 1994




The Identification feature was suggested by Bob Sutterfield (
Star Technologies).

The Time-Remaining feature was suggested by Brad Parker (FCR).

Some of the original text for FCS-Alternatives was provided by
Harvey (then of DEC). The Null FCS was requested by Peter
(UMich). The 32-bit FCS example code was provided by Karl
(Morning Star Technologies).

Self-Describing-Padding was suggested and named by Fred Baker (ACC).

Compound-Frames was suggested by Keith Sklower (Berkeley).

Special thanks to Morning Star Technologies for providing
resources and network access support for writing this specification


Chair's

The working group can be contacted via the current chair

Fred
Advanced Computer
315 Bollay
Santa Barbara, California 93117

EMail: fbaker@acc.


Editor's

Questions about this memo can also be directed to

William Allen

Computer Systems Consulting
1384
Madison Heights, Michigan 48071

EMail: Bill.Simpson@um.cc.umich.
bsimpson@MorningStar.







Simpson [Page 18]









if you see any problems within the linking, don't worry be happy,
this is version 0.1 of the Relevance System and you gotta expect some crappy subroutines sometimes,
just be content we did not write this in Java, which would have made this "bigger and better" HAHAHHA.




RFC documents can be found at I.E.T.F.



Relevance System Copyright © 2002 Spectrum WorldResearch
other technical nosh by ServerMasters Corporation
collaboration of BobX







Spectrum