Skip to main content

PPP Over Ethernet (PPPoE) Extensions for Credit Flow and Link Metrics
draft-bberry-pppoe-credit-06

The information below is for an old version of the document that is already published as an RFC.
Document Type
This is an older version of an Internet-Draft that was ultimately published as RFC 4938.
Authors Bo Berry, Howard H. Holgate
Last updated 2020-01-21 (Latest revision 2006-11-14)
RFC stream Independent Submission
Intended RFC status Informational
Formats
Stream ISE state (None)
Consensus boilerplate Unknown
Document shepherd (None)
IESG IESG state Became RFC 4938 (Informational)
Action Holders
(None)
Telechat date (None)
Responsible AD Mark Townsley
Send notices to (None)
draft-bberry-pppoe-credit-06
INTERNET-DRAFT                                                 B. Berry
Category: Informational                                      H. Holgate
Expires:  May 18, 2007                                Cisco Systems,Inc.
                                                          10 March 2004
                                                                         
                                                                         
                      PPP Over Ethernet (PPPoE) Extensions  
                        for Credit Flow and Link Metrics  
                                           
                         draft-bberry-pppoe-credit-06.txt
                
Status of this Memo 
         
    By submitting this Internet-Draft, each author represents that any
    applicable patent or other IPR claims of which he or she is aware
    have been or will be disclosed, and any of which he or she becomes
    aware will be disclosed, in accordance with Section 6 of BCP 79.

    Internet-Drafts are working documents of the Internet Engineering
    Task Force (IETF), its areas, and its working groups.  Note that
    other groups may also distribute working 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 inappropriate to use 
    Internet-Drafts as reference material or to cite them other than 
    as "work in progress."

    This document may not be modified, and derivative works of it may
    not be created, except to publish it as an RFC and to translate it
    into languages other than English.
    
    The list of current Internet-Drafts can be accessed at
    http://www.ietf.org/ietf/1id-abstracts.txt.

    The list of Internet-Draft Shadow Directories can be accessed at
    http://www.ietf.org/shadow.html.

    This Internet-Draft will expire on October 29, 2006.
         
Copyright Notice

    Copyright (C) The Internet Society (2006).
       
Abstract 
         
    This document extends the Point-to-Point Over Ethernet (PPPoE) 
    Protocol [2] with a credit-based flow control mechanism and 
    Link Quality Metric report.  This optional extension should 
    improve the performance of PPPoE over media with variable 
    bandwidth and limited buffering, such as mobile radio links. 
   
   
Berry, Holgate             Expires May 18, 2007                [Page 1]

    
Internet-Draft    PPPoE with Credit Flow and Metrics         March 2004
      
        
Table of Contents 

    1. Introduction..................................................3
    2. Payload.......................................................4
    3. Overview of Protocol Extensions...............................4
    4. Discovery Stage...............................................4
       4.1 PPPoE Active Discovery Request (PADR).....................4
       4.2 PPPoE Active Discovery Session-confirmation (PADS)........5
       4.3 PPPoE Active Discovery Session-Grant (PADG)...............5
       4.4 PPPoE Active Discovery Session-Credit Response (PADC).....6
       4.5 PPPoE Active Discovery Quality (PADQ).....................7
    5. PPP Session Stage.............................................8
    6. Credit Flow Considerations....................................8
    7. Other Considerations..........................................9
    8. IANA Considerations...........................................9
    9. Security Considerations......................................10
    10. Appendix A: Tag Values......................................10
    11. Appendix B: Example Message Formats.........................12
    12. Acknowledgements............................................19
    13. Normative References........................................19
    Authors' Addresses..............................................19
    Intellectual Property and Copyright Statements..................20

         

      

Berry, Holgate             Expires May 18, 2007                [Page 2]

    
Internet-Draft    PPPoE with Credit Flow and Metrics         March 2004

      
1. Introduction 
        
    PPP over Ethernet (PPPoE) [2] is a protocol for establishing
    and encapsulating sessions between hosts and traffic
    aggregators (Access Concentrators) for PPP transport over real
    or emulated Ethernet.  PPPoE works well when both session
    endpoints have similar bandwidth, forwarding, and buffering
    capabilities that do not vary over time.  However, it is
    insufficient for applications with variable bandwidth and
    limited buffering, for example, mobile radio links.  This
    document addresses this problem by suggesting an extension to
    PPPoE to support credit-based session flow control and
    session-based link metric exchanges.

    The diagram below illustrates the problem that this extension
    is intended to solve, for the case of a radio link.  Here PPPoE
    sessions are used between access concentrators (routers) and
    radio transmission systems that are shown as radio neighbors.
    Each radio transmission system establishes point-to-point Radio
    Link Protocol (RLP) sessions with its neighbors and establishes
    a corresponding PPPoE session for each neighbor with the
    transmission system's associated access concentrator (router).
    The radio logically associates the PPPoE session with the
    corresponding RLP session.
   
     +--------+       +-------+       +-------+       +--------+ 
     | Access |       | Host  |       | Host  |       | Access | 
     | Conc.  |=======| Radio |~~~~~~~| Radio |=======| Conc.  | 
     +--------+       +-------+       +-------+       +--------+ 
              |       |       |       |       |       | 
              |-PPPoE-|       |--RLP--|       |-PPPoE-| 
              |                                       | 
              |-------------PPP Session---------------| 

    Figure 1: PPPoE Network

    The capabilities of the RF links between RLP neighbors may vary 
    over time due to mobility and environmental conditions.  In many 
    instances, the Host Radio has limited buffering capability to 
    handle capacity changes in the RLP sessions.  To limit buffering 
    in the Host Radio, the PPPoE credit flow control mechanism 
    provides dynamic buffering feedback to the access concentrator.  

   
   
   

Berry, Holgate             Expires May 18, 2007                [Page 3]

    
Internet-Draft    PPPoE with Credit Flow and Metrics         March 2004
        

    In the diagram above, from the access concentrator's perspective, 
    each PPPoE session between it and the Host Radio represent a 
    connection to a remote routable peer.  For efficient routing, 
    the local Host Radio uses the link metric mechanism to dynamically
    update the access concentrator route cost of the associated link.   

    While the example shows an RF based application, the extensions 
    are applicable to other media.
         
         
2. Payload 
         
    The Ethernet payload version field retains its value of 0x01.  The 
    extensions for credit flow control and link quality metrics are 
    optional and backward compatible.  
         
         
3. Overview of Protocol Extensions 
         
    PPPoE has two distinct stages.  There is a Discovery Stage and a PPP 
    Session Stage.  During the Discovery Stage, the Host can optionally 
    request a flow controlled PPP Session Stage.  Once the Access 
    Concentrator acknowledges the Host flow control request, all PPP 
    Session Stage traffic must be flow controlled.   
          
         
4. Discovery Stage 

    The packet exchange of the Discovery Stage is unchanged by this 
    specification.  The specifications of the Session Request (PADR) and 
    the Session Confirmation (PADS) packets are extended to include the 
    optional Credit Tag Type-Length-Value (TLV).   

    In addition, the optional Credit Grant (PADG) packet, the Credit 
    Response (PADC) packet and the Link Quality Metric (PADQ) packets 
    are introduced. 
            
         
4.1 PPPoE Active Discovery Request (PADR) 
         
    The PADR packet is extended to optionally contain a single Credit 
    Tag TLV, indicating that the Host requests credit flow control for 
    this session.  The Credit Tag contains the Forward Credit 
    Notification (FCN) and the Backward Credit Notification (BCN) to be 
    applied to the PPP Session Stage.  The FCN provides the initial 
    credits granted to the Access Concentrator by the Host.  The BCN 
    value is set to 0.  

    An example packet is shown in Appendix B. 

Berry, Holgate             Expires May 18, 2007                [Page 4]

    
Internet-Draft    PPPoE with Credit Flow and Metrics         March 2004
      
             
4.2 PPPoE Active Discovery Session-confirmation (PADS) 
         
    The PADS packet is extended to optionally contain a single Credit 
    Tag TLV, indicating the Forward Credit Notification (FCN) and the 
    Backward Credit Notification (BCN) of the PPP Session Stage.   

    If the PADR contained a Credit Tag, then the Access Concentrator 
    PADS packet indicates support for credit flow control by including a 
    Credit Tag.  The PADS Credit Tag FCN represents the number of 
    credits being initially granted to the Host.  The Credit Tag BCN is 
    an echo of the number of credits that the Host had granted to the 
    Access Concentrator in the previous PADR packet.   

    Exchange of the Credit Tag TLV in the PADR and PADS indicates that 
    credit flow control is supported by both the Access Concentrator and 
    the Host for the designated PPP Session Stage.  This is binding and 
    must be followed for the entire duration of the PPP Session Stage.  
    A session’s credit binding must be established prior to any other 
    credit indications can be exchanged.  

    The Access Concentrator PADS should only carry the Credit Tag in 
    response to a Host PADR with Credits. If the Access Concentrator 
    does not support credit flow, it should not include the Credit Tag 
    in its PADS response.  The Host must terminate a credit based 
    session that can not be supported by the Access Concentrator.  
    Credit Tags transmitted outside an established credit based session 
    must be ignored. 

    An example packet is shown in Appendix B. 
         
         
4.3 PPPoE Active Discovery Session-Grant (PADG) 
         
    The PPPoE Active Discovery Session-Grant (PADG) is a new packet 
    defined in this specification.  An Access Concentrator or Host MAY 
    send a PADG at any time after the PADR/PADS exchange to grant 
    incremental flow control credits.  The CODE field is set to 0x0A and 
    the SESSION_ID must be set to the unique value generated for this 
    PPPoE Session.  

    The peer may then transmit data until the credits are exhausted.   

    When the peer receives a PADG packet, it adds the incremental 
    credits to its working credit count and responds with a PPPoE Active 
    Discovery Session-Credit (PADC) packet indicating the accumulated 
    credits.  

    The PADG packet must contain a single Credit Tag TLV, indicating the 
    Forward Credit Notification (FCN) and the Backward Credit 
    Notification (BCN) of the PPP Session.  

Berry, Holgate             Expires May 18, 2007                [Page 5]

    
Internet-Draft    PPPoE with Credit Flow and Metrics         March 2004
      
         
    The Credit Tag FCN indicates the number of incremental credits 
    being granted to the peer by the node.  A value between 1 and 
    0xffff represent an incremental credit grant.  The peer must 
    add these credits to its accumulated transmit credit count.  
    A value of 0x0000 represents a NULL grant, meaning that there 
    are no additional credits being granted. 

    The Credit Tag BCN indicates the remaining absolute credits that 
    have been granted by the peer to the node.   

    Once a credit has been granted, it must be honored.  The largest 
    number of outstanding credits at any time is 0xffff.   

    The PADG packet must contain a single Sequence Number Tag TLV.  This 
    tag is used to carry a unique 16-bit sequence number to uniquely 
    identify each request.  The sequence number should be initialized to 
    zero and incremented by one for each new PADG.  For re-transmitted 
    PADGs, the same sequence number that was used in the previous packet 
    transmission is repeated.   

    An example packet is shown in Appendix B. 
         
         
4.4 PPPoE Active Discovery Session-Credit Response (PADC) 
         
    The PPPoE Active Discovery Session-Credit Response (PADC) is a new 
    packet defined in this specification.  An Access Concentrator or 
    Host must send a PADC in response to a PADG.  The CODE field is set 
    to 0x0B and the SESSION_ID must be set to the unique value generated 
    for this PPPoE session.  

    The PADC packet must contain a single Credit Tag TLV, indicating the 
    Forward Credit Notification (FCN) and the Backward Credit 
    Notification (BCN) of the PPPoE session, and any number of other Tag 
    types.  

    The Credit Tag FCN represents the absolute credits remaining that 
    have granted to the peer by the node.  The Credit Tag BCN represents 
    the remaining absolute credits that have been granted to the node 
    from the peer.  

    The PADC packet must contain a single Sequence Number Tag.  The 
    sequence number must be the sequence number associated with the 
    PADG.  

    An example packet is shown in Appendix B. 

      
Berry, Holgate             Expires May 18, 2007                [Page 6]

    
Internet-Draft    PPPoE with Credit Flow and Metrics         March 2004
      
      
4.5 PPPoE Active Discovery Quality (PADQ) 
         
    The PPPoE Active Discovery Quality (PADQ) is a new packet defined in 
    this specification.  An Access Concentrator or Host may send an 
    optional PADQ at any time to query or report link quality metrics.   

    When transmitting PPP streams over wireless links through radio 
    modems, the quality of the RF link directly affects the throughput.  
    The PPPoE Active Discovery Quality (PADQ) packet can be used by the 
    radio modem to report RF link metrics. The CODE field is set to 0x0C 
    and the SESSION_ID must be set to the unique value generated for 
    this PPPoE session. 

    The PADQ must carry a single Metric Tag TYPE, which contains the 
    following fields: 
         
        Receive only - is a bit that indicates if the link is bi-
        directional or receive only.  A value of -1- indicates that the 
        link is receive-only.  

        Maximum data rate - is the maximum theoretical data rate, in 
        kilobits per second (kbps), that the Host link is capable of 
        providing.  When metrics are reported, the maximum data rate
        must be reported. 

        Current data rate - is the current data rate, in kilobits per 
        second (kbps), achieved on the Host link.  If there is no 
        distinction between maximum data rate and current data rate, 
        current data rate should equal to maximum data rate. 

        Latency - is the transmission delay that a packet encounters as 
        it is transmitted over the Host link.  This is reported in  
        absolute delay, milliseconds.  If latency can not be calculated, 
        a value of 0 should be reported. 

        Resources - is a percentage, 0-100, representing the amount of 
        remaining or available resources, such as battery power.  If 
        resources can not be calculated, a value of 100 should be 
        reported.  

        Relative Link Quality (RLQ) - is a non-dimensional number, 0-100, 
        representing the relative link quality.  A value of 100 
        represents a link of the highest quality.  If the RLQ can not be 
        calculated, a value of 100 should be reported.  
       
    The PPPoE Active Discovery Quality (PADQ) packet can be used to 
    query link metrics by setting the PADQ Metric Tag Length to zero.  

    An example packet is shown in Appendix B. 
  
  
Berry, Holgate             Expires May 18, 2007                [Page 7]

    
Internet-Draft    PPPoE with Credit Flow and Metrics         March 2004
      
         
5. PPP Session Stage 
         
    This specification defines the optional use of TLV Tags in the PPP 
    Session Stage  The first field following the PPP Session Stage 
    LENGTH must be checked.  If the value is equal to the PPP Protocol 
    identifier (0xc021), then normal packet (payload) processing occurs.  
    When the field following the PPP Session Stage LENGTH is not the PPP 
    Protocol identifier (0xc021), a TLV is assumed.  In this case, the 
    Tag length is subtracted from the overall payload length. 

    The Credit Tag is the only optional TLV permitted in the PPP Session 
    Stage.  The Credit Tag TLV is used to support in-band flow control. 

    A PPP Session Stage packet with Credits is shown in Appendix B. 
         
         
6. Credit Flow Considerations 
      
    For a given session, credit grants exchanged in the Discovery Stage, 
    PADG-PADC, are referred to as out-of-band.  Credit grants exchanged 
    in the PPP Session Stage are referred to as in-band.  Credit 
    processing is only applied to the packets transmitted in the PPP 
    Session Stage.   

    Out-of-band credit management is handled by periodic exchange of the 
    PPPoE Active Discovery Grant (PADG) and PPPoE Active Discovery Credit 
    (PADC) packets.   

    In-band credit management allows credits to be incrementally granted 
    with each PPP Session Stage packet.  These in-band incremental credit
    grants are not explicitly unacknowledged.  They are however reflected 
    in the in-band credit flow from the peer node.  This offers the 
    greatest credit granting efficiency when traffic rates are high.  

    Once agreed upon during the Discovery Stage, credit grants are 
    required to transmit packets in the PPP Session Stage.  A node must 
    grant credits to its peer, before the peer can transmit packets to 
    the granting node.   

    Credits are granted incrementally in the forward direction.  Locally 
    a node manages the credits that it has granted to a peer as well as 
    the credits that a peer has granted to it.  

    Grants received from a peer are added to a local running credit 
    counter.  The accumulated credits are decremented with each packet 
    the node transmits to the peer.  When the running counter reaches 
    zero, the node stops transmitting packets to the peer.  The values 
    of the PADC are not simply an echo of the PADG.  They represent 
    the current internal FCN/BCN values of that node.

Berry, Holgate             Expires May 18, 2007                [Page 8]

    
Internet-Draft    PPPoE with Credit Flow and Metrics         March 2004
      
      
    To manage the credits that a node has granted, the node maintains a 
    running counter.  With each PPP Session Stage packet received from 
    the peer, the running counter is decremented.  When the running 
    counter reaches zero, no additional packets are expected.  The node
    incrementally grants more credits to the peer to maintain packet 
    flow.  Packets received when granted credits have been exhausted are 
    discarded. 

    The largest possible credit limit is 0x0ffff.  If an incremental 
    credit grant causes the accumulated count to exceed this value, the 
    max value is used.   

    One unit of credit represents 64-bytes, so a grant of 4 credits 
    translates to 256-bytes.  
         
         
7. PADG and PADC Retransmission 
    
    When a node does not receive a PADC packet in response to a PADG
    within a specified amount of time, it should transmit a new PADG 
    packet with zero credits,  using the same sequence number and 
    double the waiting period. A PADC response with the associated 
    sequence number will indicate if the previously granted credits 
    were accumulated or not.  If not, a PADG with credits, with 
    an incremented sequence number, should be transmitted. This 
    process should be repeated until granted credits are properly 
    acknowledged or as many times as desired.   

    When a node does not receive a PADQ metric packet within a specified 
    amount of time, it should resend the PADQ query packet and double 
    the waiting period. This can be repeated as many times as desired.   

8. Other Considerations 

    A node may autonomously generate PADQ metric packets.  The rate of 
    autonomously generate PADQ metric packets may need to be throttled 
    so not to overrun the peer. 

    The sending and receiving of PPPoE control packets are independent
    of credit counts.  For example, a node must always be able to 
    receive a PADG and send a PADC.

    During normal operation, nodes may disagree about the number of 
    credits.  Operational credit mismatches would occur due to packets 
    in transit on the wire.  Much larger credit mismatches can occur 
    if there are transmission errors.  To correct these larger errors,  
    the BCN fields of the PADG and PADC packets and in-band credit 
    grants from a peer should be used by the receiveing node to set 
    the credit values of its peer.
 
Berry, Holgate             Expires May 18, 2007                [Page 9]

    
Internet-Draft    PPPoE with Credit Flow and Metrics         March 2004
 
 
       
9. IANA Considerations 
 
    At the time of publication, the IANA considerations were being 
    covered by draft-arberg-pppoe-iana, a work in progress. 

10. Security Considerations 
         
    This memo defines a mechanism for adding flow control to the
    existing PPP Over Ethernet (PPPoE) sessions.  These extensions
    are subsequent to the existing PPPoE security mechanisms as 
    described in RFC 2516 [2].  It is required that the Service 
    Tag and Session ID always be validated prior to processing
    credits.  
      
          
11. Appendix A: Tag Values 
         
    Feature Tag_Types and Tag_Values 
            
    0x0106 Credits 

    This tag contains the Forward Credit Notification (FCN) and the 
    Backward Credit Notification (BCN). The Credit Tag TLV is 
    OPTIONAL with the PADR, PADS and the PPPoE data payload packet 
    (ETHER_TYPE=8864).   

                         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 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |       Tag Type = 0x0106       |        Tag Length=0x04        | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |              FCN              |              BCN              | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 

Berry, Holgate             Expires May 18, 2007               [Page 10]

    
Internet-Draft    PPPoE with Credit Flow and Metrics         March 2004
      
            

    0x0107 Metrics 

    This tag is used to report the link quality and performance.  The 
    Metrics Tag TLV contains the Receive Only indicator, Resource 
    status, Latency, Relative Link Quality (RLQ), Current data rate 
    and Maximum data rate.  The Metrics TLV is required by the PADQ 
    packet.   

                         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 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |       Tag Type = 0x0107       |        Tag Length=0x0A        | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |           Reserved          |R|      RLQ      |    Resource   | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |         Latency (MS)          |   Current Datarate (kbps)     | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |    Maximum Datarate (kbps)    | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 

    0x0108 Sequence Number 

    This tag is used to carry a unique 16-bit sequence number in 
    order to identify a specific request and the associated response.  
    The sequence number should be initialized to zero and incremented 
    by one for each new request.  For re-transmitted packets, the 
    same sequence number that was used in the previous packet 
    transmission is repeated.  The PADG and PADC packets require 
    the Sequence Number Tag. 

    For example, the sequence number sent in the PADG request is 
    echoed in the PADC response.  This ties a specific PADC response 
    to a specific PADG request.   

                         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 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |       Tag Type = 0x0108       |        Tag Length=0x02        | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |       Sequence Number         |  
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  

            

Berry, Holgate             Expires May 18, 2007               [Page 11]

    
Internet-Draft    PPPoE with Credit Flow and Metrics         March 2004
      
         
11. Appendix B: Example Message Formats 
              
         
    A PADR packet with OPTIONAL Credit Tag Type 0x0106:  

                         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 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |                  Access_Concentrator_mac_addr                 | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |Access_Concentrator_mac_addr(c)|        Host_mac_addr          | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |                     Host_mac_addr (cont)                      | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |    ETHER_TYPE = 0x8863        | v = 1 | t = 1 |  CODE = 0x19  | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |     SESSION_ID = 0x1234       |      LENGTH = 0x0C            | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |       Tag Type = 0x0101       |        Tag Length=0x00        | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |       Tag Type = 0x0106       |        Tag Length=0x04        | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |              FCN              |              BCN              | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
         
         
         
         

      
      

Berry, Holgate             Expires May 18, 2007               [Page 12]

    
Internet-Draft    PPPoE with Credit Flow and Metrics         March 2004
      
         
    A PADS packet with OPTIONAL Credit Tag Type 0x0106:  

                         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 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |                  Access_Concentrator_mac_addr                 | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |Access_Concentrator_mac_addr(c)|        Host_mac_addr          | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |                     Host_mac_addr (cont)                      | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |    ETHER_TYPE = 0x8863        | v = 1 | t = 1 |  CODE = 0x65  | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |     SESSION_ID = 0x1234       |      LENGTH = 0x0C            | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |       Tag Type = 0x0101       |        Tag Length=0x00        | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |       Tag Type = 0x0106       |        Tag Length=0x04        | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |              FCN              |              BCN              | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
         
      
      
         
         

      
      

Berry, Holgate             Expires May 18, 2007               [Page 13]

    
Internet-Draft    PPPoE with Credit Flow and Metrics         March 2004
         
         
    A PADG packet with Credit Tag Type 0x0106:  

                         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 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |                     Destination_mac_addr                      | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |    Destination_mac_addr(c)    |       Source_mac_addr         | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |                     Source mac_addr (cont)                    | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |    ETHER_TYPE = 0x8863        | v = 1 | t = 1 |  CODE = 0x0A  | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |     SESSION_ID = 0x1234       |      LENGTH = 0x0E            | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |       Tag Type = 0x0108       |        Tag Length=0x02        | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |       Sequence Number         |       Tag Type = 0x0106       | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |        Tag Length=0x04        |               FCN             | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |              BCN              | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 

         
         

      
      

Berry, Holgate             Expires May 18, 2007               [Page 14]

    
Internet-Draft    PPPoE with Credit Flow and Metrics         March 2004
      
      
    A PADC packet with Credit Tag Type 0x0106:  

                         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 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |                     Destination_mac_addr                      | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |    Destination_mac_addr(c)    |       Source_mac_addr         | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |                     Source mac_addr (cont)                    | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |    ETHER_TYPE = 0x8863        | v = 1 | t = 1 |  CODE = 0x0B  | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |     SESSION_ID = 0x1234       |      LENGTH = 0x0E            | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |       Tag Type = 0x0108       |        Tag Length=0x02        | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |       Sequence Number         |       Tag Type = 0x0106       | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |        Tag Length=0x04        |               FCN             | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |              BCN              | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 

         
         

      
      

Berry, Holgate             Expires May 18, 2007               [Page 15]

    
Internet-Draft    PPPoE with Credit Flow and Metrics         March 2004
         

    A PADQ packet to query for the link metrics: This is indicated by 
    the Metric Tag Length=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 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |                  Access_Concentrator_mac_addr                 | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |Access_Concentrator_mac_addr(c)|        Host_mac_addr          | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |                     Host_mac_addr (cont)                      | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |    ETHER_TYPE = 0x8863        | v = 1 | t = 1 |  CODE = 0x0C  | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |     SESSION_ID = 0x1234       |      LENGTH = 0x08            | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |       Tag Type = 0x0101       |        Tag Length=0x00        | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |       Tag Type = 0x0107       |        Tag Length=0x00        | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 

         
         
         
         

      
      

Berry, Holgate             Expires May 18, 2007               [Page 16]

    
Internet-Draft    PPPoE with Credit Flow and Metrics         March 2004
      

    A PADQ packet with Metric Tag Type 0x0107:  

                         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 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |                  Access_Concentrator_mac_addr                 | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |Access_Concentrator_mac_addr(c)|        Host_mac_addr          | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |                     Host_mac_addr (cont)                      | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |    ETHER_TYPE = 0x8863        | v = 1 | t = 1 |  CODE = 0x0C  | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |     SESSION_ID = 0x1234       |      LENGTH = 0x12            | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |       Tag Type = 0x0101       |        Tag Length=0x00        | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |       Tag Type = 0x0107       |        Tag Length=0x0A        | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |           Reserved          |R|      RLQ      |    Resource   | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |         Latency (MS)          |   Current Datarate (kbps)     | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |    Maximum Datarate (kbps)    | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
         
         
         
   
   
         

      
      

Berry, Holgate             Expires May 18, 2007               [Page 17]

    
Internet-Draft    PPPoE with Credit Flow and Metrics         March 2004
         
         
    A PPP LCP packet with optional Credit Tag Type 0x0106:   
    While the PPP protocol value is shown (0xc021), the PPP payload is 
    left to the reader.  This is a packet from the Host to the Access 
    Concentrator. 

                         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 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |                  Access_Concentrator_mac_addr                 | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |Access_Concentrator_mac_addr(c)|        Host_mac_addr          | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |                     Host_mac_addr (cont)                      | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |    ETHER_TYPE = 0x8864        | v = 1 | t = 1 |  CODE = 0x00  | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |     SESSION_ID = 0x1234       |      LENGTH = 0x????          | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |       Tag Type = 0x0106       |        Tag Length=0x04        | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |              FCN              |              BCN              | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |    PPP PROTOCOL = 0xc021      |        PPP payload           ~ 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
         
         
         
         

      
      

Berry, Holgate             Expires May 18, 2007               [Page 18]

    
Internet-Draft    PPPoE with Credit Flow and Metrics         March 2004
      
      
12. Acknowledgements
         
    The authors would like to acknowledge the influence and 
    contributions from Billy Moon, Fred Baker, Stan Ratliff 
    and Ed Paradise. 
       
         
13. Normative References 
         
    [1] Simpson, W., Editor, "The Point-to-Point Protocol (PPP)", STD 
        51, RFC 1661, July 1994 

    [2] Mamakos L., et. al., "A Method for Transmitting PPP Over 
        Ethernet (PPPoE)", RFC 2516, February 1999. 
         
           
         
Authors' Address
         
    Bo Berry 
    Cisco 
    170 West Tasman Drive 
    San Jose, CA  95134 
    USA 
    email: bberry@cisco.com 

    Howard Holgate 
    Cisco 
    170 West Tasman Drive 
    San Jose, CA  95134 
    USA 
    email: hholgate@cisco.com 

Berry, Holgate             Expires May 18, 2007               [Page 19]

    
Internet-Draft    PPPoE with Credit Flow and Metrics         March 2004

         
Intellectual Property Statement

    The IETF takes no position regarding the validity or scope of 
    any Intellectual Property Rights or other rights that might be 
    claimed to pertain to the implementation or use of the technology
    under such rights described in this document or the extent to 
    which any license might or might not be available; nor does it 
    represent that it has made any independent effort to identify 
    any such rights.  Information on the procedures with respect to
    rights in RFC documents can be found in BCP 78 and BCP 79.

    Copies of IPR disclosures made to the IETF Secretariat and any
    assurances of licenses to be made available, or the result of an
    attempt made to obtain a general license or permission for the 
    use of such proprietary rights by implementers or users of this
    specification can be obtained from the IETF on-line IPR 
    repository at http://www.ietf.org/ipr.

    The IETF invites any interested party to bring to its attention
    any copyrights, patents or patent applications, or other 
    proprietary rights that may cover technology that may be required
    to implement this standard.  Please address the information to 
    the IETF at ietf-ipr@ietf.org.

Disclaimer of Validity

    This document and the information contained herein are provided 
    on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION 
    HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET 
    SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL 
    WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO 
    ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT 
    INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY
    OR FITNESS FOR A PARTICULAR PURPOSE.

Copyright Statement

    Copyright (C) The Internet Society (2006).  This document is 
    subject to the rights, licenses and restrictions contained in 
    BCP 78, and except as set forth therein, the authors retain 
    all their rights.

Acknowledgment

    Funding for the RFC Editor function is currently provided by the
    Internet Society.

Berry, Holgate             Expires May 18, 2007               [Page 20]