
8201, 8202, 8203, 8204 Acceleration Processor Data Sheet, DS-0157-05
Page 88
Exar Confidential
3.1.3.10
IPsec Packet Processing
The 820x has been optimized to maximize IPsec packet processing performance.
The 820x has four processing engines: compression, encryption, pad, and hash. The
processing order depends on whether the operation is encode or decode and the position of
the hash engine using the PS bits in the hash descriptor. Please refer to
Chapter 4, “DataFlow” for a detailed description of the operation sequence.
Each processing engine may be enabled or disabled. A disabled processing engine simply
passes data forward to the next processing unit without altering the data or modifying the
context.
Each processing engine has two counters: a Header Counter and a Source Counter. The
Header Counter is used to determine how many bytes the processing engine will pass
through before processing the data. This counter is useful to skip header fields in many
network communication protocols. The Source Counter determines how many bytes will be
processed by that processing engine. The Source Counter may be programmed to start
from the first byte to be processed, or after the last byte processed by the previous
processing engine. This flexibility takes into account the variable output sizes produced by
the compression and pad engines. Once the source count of a processing engine reaches
zero, any remaining bytes in the input data stream will be passed through the processing
engine without altering the data or modifying the context.
Figure 3-21 shows an example of how the 820x would processes an IPsec packet in
conjunction with the host software. This IPsec example illustrates how to apply IPPCP and
ESP in tunnel mode.
SSL3.0-
MAC
(SHA1)
1
√
X
Arbitrary
length
Stateless
1
0
√
X
512-bit
aligned
First
Block
0
√
X
512-bit
aligned
Middle
Block
0
1
√
Arbitrary
length
Last
Block
Table 3-3. MAC Operation Table (Sheet 2 of 2)
MAC Type FB
LB
IPAD OPA
D
SO_I
V
IHV
AES
_GC
M
Key
SSL
3.0-
MAC
Key
XCB
C-
MAC
Key
File
Size
Data
State