Network Working Group                                 W. Simpson, Editor
Internet Draft                                                Daydreamer
expires in six months                                      February 1996


                           PPP LCP Extensions
                  draft-ietf-pppext-lcpext-ds-00.txt


Status of this Memo

   This document is a submission to the the Point-to-Point Protocol
   Working Group of the Internet Engineering Task Force (IETF).  Com-
   ments should be submitted to the ietf-ppp@merit.edu mailing list.

   Distribution of this memo is unlimited.

   This document is an Internet-Draft.  Internet Drafts are working doc-
   uments of the Internet Engineering Task Force (IETF), its Areas, and
   its Working Groups.  Note that other groups may also distribute work-
   ing documents as Internet Drafts.

   Internet Drafts are draft documents valid for a maximum of six
   months, and may be updated, replaced, or obsoleted by other documents
   at any time.  It is not appropriate to use Internet Drafts as refer-
   ence material, or to cite them other than as a ``working draft'' or
   ``work in progress.''

   To learn the current status of any Internet-Draft, please check the
   ``1id-abstracts.txt'' listing contained in the internet-drafts Shadow
   Directories on:

      ftp.is.co.za (Africa)
      nic.nordu.net (Europe)
      ds.internic.net (US East Coast)
      ftp.isi.edu (US West Coast)
      munnari.oz.au (Pacific Rim)


Abstract

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




Simpson                   expires in six months                 [Page i]


DRAFT                      PPP LCP extensions              February 1996


1.  Additional LCP Packets

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

   Up-to-date values of the LCP Code field are specified in the most
   recent "Assigned Numbers" RFC [2].  This document concerns the fol-
   lowing values:

      12      Identification
      13      Time-Remaining



1.1.  Identification

   Description

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

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

      The sender transmits a LCP packet with the Code field set to 12
      (Identification), the Identifier field set, the local Magic-Number
      (if any) inserted, and the Message field filled with any desired
      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 SHOULD gen-
      erate the RXJ+ (permitted) event.

      Rationale:

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

         This feature is defined as a separate LCP Code, rather than a
         Configuration-Option, so that the peer need not include it with



Simpson                   expires in six months                 [Page 1]


DRAFT                      PPP LCP extensions              February 1996


         other items in configuration packet exchanges, and handle "cor-
         rected" values or "rejection", since its generation is both
         rare and in one direction.  It is recommended that Identifica-
         tion packets be sent whenever a Configure-Reject is sent or
         received, as a final message when negotiation fails to con-
         verge, and when LCP reaches the Opened state.

   A summary of the Identification packet format is shown below.  The
   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 ...
   +-+-+-+-+-+-+-+-+

   Code

      12 for Identification

   Identifier

      The Identifier field MUST be changed for each Identification sent.

   Length

      >= 8

   Magic-Number

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

   Message

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



Simpson                   expires in six months                 [Page 2]


DRAFT                      PPP LCP extensions              February 1996


      Length field.

      Implementation Note:

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


1.2.  Time-Remaining

   Description

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

      The nature of this information is advisory only.  It is intended
      that only one side of the connection will send this packet (gener-
      ally a "network access server").  The session is actually con-
      cluded by the Terminate-Request packet.

      Time-Remaining is a Link Maintenance packet.  Time-Remaining pack-
      ets 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-Number
      (if any) inserted, and the Message field filled with any desired
      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 SHOULD gen-
      erate the RXJ+ (permitted) event.

      Rationale:

         This notification is defined as a separate LCP Code, rather
         than a Configuration-Option, in order that changes and warning
         messages may occur dynamically during the session, and that the
         information might be determined after Authentication has
         occurred.  Typically, this packet is sent when the link enters



Simpson                   expires in six months                 [Page 3]


DRAFT                      PPP LCP extensions              February 1996


         Network-Layer Protocol phase, and at regular intervals through-
         out the session, particularly near the end of the session.

   A summary of the Time-Remaining packet format is shown below.  The
   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 ...
   +-+-+-+-+-+-+-+-+

   Code

      13 for Time-Remaining

   Identifier

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

   Length

      >= 12

   Magic-Number

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

   Seconds-Remaining

      The Seconds-Remaining field is four octets and indicates the num-
      ber of integral seconds remaining in this session.  This 32 bit
      unsigned value is sent most significant octet first.  A value of
      0xffffffff (all ones) represents no timeout, or "forever".







Simpson                   expires in six months                 [Page 4]


DRAFT                      PPP LCP extensions              February 1996


   Message

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










































Simpson                   expires in six months                 [Page 5]


DRAFT                      PPP LCP extensions              February 1996


2.  Additional LCP Configuration Options

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

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

      10      Self-Describing-Padding
      13      Callback



2.1.  Self-Describing-Padding

   Description

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

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

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

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

      Implementation Notes:

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

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



Simpson                   expires in six months                 [Page 6]


DRAFT                      PPP LCP extensions              February 1996


         the padding stripped.

         To avoid unnecessary configuration handshakes, an implementa-
         tion which generates padding, and has a protocol configured
         which requires the padding to be known, SHOULD include this
         Option in its Configure-Request, and SHOULD Configure-Nak with
         this Option when it is not present in the peer's Request.

      Each octet of self-describing pad contains the index of that
      octet.  The first pad octet MUST contain the value one (1), which
      indicates the Padding Protocol to the Compound-Frames option.
      After removing the FCS, the final pad octet indicates the number
      of pad octets to remove.  For example, three pad octets would con-
      tain 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 be
      required, but the final octet of the PPP Information field con-
      tains the value 1 through MPV, at least one self-describing pad
      octet MUST be added to the frame.  If the final octet is greater
      than MPV, no additional padding is required.

      Implementation Notes:

         If any of the pad octets contain an incorrect index value, the
         entire frame SHOULD be silently discarded.  This is intended to
         prevent confusion with the FCS-Alternatives option, but might
         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 that
         a frame may actually become longer.

   A summary of the Self-Describing-Padding Configuration Option format
   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    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type

      10






Simpson                   expires in six months                 [Page 7]


DRAFT                      PPP LCP extensions              February 1996


   Length

      3

   Maximum

      This field specifies the largest number of padding octets which
      may be added to the frame.  The value may range from 0 to 255.

      The value 0 indicates that Self-Defining-Padding is understood,
      but no padding is expected.  Values of 2, 4, or 8 are most likely.


2.2.  Callback

   Description

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

      When Callback is successfully negotiated, and authentication is
      complete, the Authentication phase proceeds directly to the Termi-
      nation phase, and the link is disconnected.

      Then, the peer re-establishes the link, without negotiating Call-
      back.

      Implementation Notes:

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

         Authentication SHOULD be requested in turn by the implementa-
         tion when it is called back, if mutual authentication is
         desired.

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









Simpson                   expires in six months                 [Page 8]


DRAFT                      PPP LCP extensions              February 1996


    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 ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type

      13

   Length

      >= 3

   Operation

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

      0       location is determined by user authentication

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

      2       Location identifier, which may or may not be human read-
              able, to be used together with the authentication informa-
              tion for a database lookup to determine the callback loca-
              tion.

      3       E.164 number.

      4       Distinguished name.

   Message

      The Message field is zero or more octets, and its general contents
      are determined by the Operation field.  The actual format of the
      information is site or application specific, and a robust imple-
      mentation 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 site
      specific information to make use of the Callback.  The codifica-
      tion of the range of allowed usage of this field is outside the
      scope of this specification.





Simpson                   expires in six months                 [Page 9]


DRAFT                      PPP LCP extensions              February 1996


Security Considerations

   Security issues are briefly discussed in sections concerning the
   Callback Configuration Option.


Acknowledgements

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

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

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

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


References

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

   [2]   Reynolds, J.K., Postel, J.B., "Assigned Numbers", RFC 1700,
         July 1992.

   [3]   Simpson, W., Editor, "PPP in HDLC-like Framing", RFC 1662,
         December 1993.



Chair's Address

   The working group can be contacted via the current chair:

      Fred Baker
      Advanced Computer Communications
      315 Bollay Drive
      Santa Barbara, California  93117

      EMail: fbaker@acc.com


Editor's Address





Simpson                   expires in six months                [Page 10]


DRAFT                      PPP LCP extensions              February 1996


   Questions about this memo can also be directed to:

      William Allen Simpson
      Daydreamer
      Computer Systems Consulting Services
      1384 Fontaine
      Madison Heights, Michigan  48071

      Bill.Simpson@um.cc.umich.edu
          bsimpson@MorningStar.com (prefered)









































Simpson                   expires in six months                [Page 11]