
93
3.0 Functional Description
3.5 Reassembly Coprocessor
Bt8230
ATM Segmentation and Reassembly Controller—SAR
N8230DS1F
If the SN_EN bit in the hash bucket is set to one, the SN field is checked.
If COM or EOM is received and the SN field does not equal the
NEXT_SN field in the VCC table, the cell is discarded, the current PDU is
terminated and a status entry is written with the SN_ERROR bit set and
CPCS_LENGTH = 0. The SN_ERR counter at the top of the hash table is
also incremented.
After the cell checks are performed resulting in a valid cell, the following
processes occur:
Upon receiving a new CPCS-PDU:
a.The CPI field is checked for a zero value if CPI_EN is set to one in
the hash bucket. If in error, the cell is discarded, the current PDU is termi-
nated and a status entry is written with the CPI_ERROR bit set high and
CPCS_LENGTH = 0.
b.If a BOM and BAH_EN is set high, The BASIZE field is checked to
be less than 37 octets. If less than 37 octets, the cell is discarded, the cur-
rent PDU is terminated and a status entry is written with the BA_ERROR
bit set high and CPCS_LENGTH = 0.
c.If CPI and BASIZE fields are valid and LEN_EN is set to one in the
hash bucket, then the reassembly coprocessor writes a value of BASIZE
field + 7 to the MAX_LENGTH field in the VCC table. If LEN_EN is set
to zero, the MAX_LENGTH field must be initialized upon connection
setup. The value of the BASIZE field in the VCC table is also updated.
The CLP field in the VCC table holds the value of the CLP parameter.
Upon reception of a cell, the reassembly coprocessor ORs the CLP bit in
VCC table with the CLP bit of the cell and writes the result back to the
VCC table.
The timestamp fields in the VCC table are updated each cell. The PDU_TS
is written on the first cell of a PDU. The first cell is detected when the
TOT_PDU_LEN field in the VCC table is zero. The LAST_TS field is
written upon receipt of a cell. Also, the CELL_CNT field in the VCC table
is incremented upon receipt of a cell.
The VCC table contains a TOT_PDU_LEN field. This field is constantly
updated as cells of a CPCS-PDU are received. The field contains the accu-
mulation of the SAR-LI fields of the PDU in octets. During a BOM or
COM, if this value ever exceeds MAX_LENGTH, the PDU is terminated
and a status entry is written with the LEN_ERROR bit set to one and
CPCS_LENGTH = 0.
Upon termination of a CPCS-PDU, ST = EOM or SSM, the following pro-
cesses occur:
The SAR-CI parameter is copied into the CI field of the status entry.
The CPCS_LENGTH field in the status entry is written to the value of the
CPCS_LENGTH field.
The reassembly coprocessor performs a pad length check as follows:
TOT_PDU_LEN –CPCS_LENGTH – 8 = [0,3] octets. If in error, the
PAD_ERROR bit is set in the status entry.
The reassembly coprocessor confirms that the total message length is on a
32-bit boundary. If in error, the MOD_ERROR bit in the status entry is set
to one.
The AL_ERROR bit in the VCC table is set if the CPCS-AL field is not all