Subject: usage of ACCM

From: [email-masked] (Bhavesh Pathak - BasisComm)
Date: Fri, 2 Jul 1999 17:35:11 -0700 (PDT)

dear everyone,
I understand that PPP is carried in the HDLC like framing.  
I also know that in HDLC bit stuffing should be done to avoid 
01111110 pattern in the data field. My understanding is that 
HDLC protocol does not have mention of ACCM. 

Than why PPP needs ACCM? Is it anything related with the hardware? 

with regards,
bhavesh

---

From: Patrick Klos <[email-masked]>
Date: Fri, 2 Jul 1999 20:51:23 -0400

>Than why PPP needs ACCM? Is it anything related with the hardware? 

ACCM is the Async Control Character Map.  In order to support HDLC-like
framing on a non-synchronous medium like async, a mechanism to escape
some characters has been employed to differentiate certain control
characters from those same characters that may be contained in the
data stream.  Specifically, the flag character (0x7e) marking the 
beginning and/or end of each HDLC(like) frame needs to be distinct
from a 0x7e data character.  Escaping a data character is accomplished
by creating a 2-byte sequence containing the escape character (0x7d)
followed by the original character XORed with 0x20.  As such, the escape
character must also always be escaped when part of the data.

In order to accomodate some serial links that may not be able to pass all
control characters (characters between 0x00 and 0x1f) for various reasons
(i.e. XON/XOFF flow control), LCP allows for the negotiation of the
Async Control Character Map.  This map is a bitmap indicating which of
the characters below 0x20 need to be escaped before being sent over
the serial link.

Does this answer your question?  Feel free to ask if you still don't
quite understand?
============================================================================
    Patrick Klos                           Email: [email-masked]
    Klos Technologies, Inc.                Web:   http://www.klos.com/
============================================================================