70
| Working with the Intelligent Packet Processor (IPP) Module | SmartNA-X 1G/10G Modular
SmartNA-X
™
1G/10G User Guide 1.4
©
2015 Network Critical Solutions Limited
The system allows for the creation of custom Matches, where the start bit, width and value are specified by the user, and
pre-configured 'named Matches', where the user just needs to specify the name of a Match and the system automatically
sets the start bit, width and value.
Note:
Overlapping Match fields are not permitted.
Actions
Once a match has been found any one of the following actions can be applied to each byte within the first 120 bytes.
Delete a byte
Remove a specified byte from the packet header.
Replace a byte
Change a specified byte in the packet header to a different value.
Invert bit(s) within a byte (logical XOR)
Change any or all bits within a byte to the opposite value.
Set bit(s) within a byte (logical OR)
Change any or all bits within a byte to have the value 1.
Clear bit(s) within a byte (logical AND)
Change any or all bits within a byte to have the value 0.
Truncate all beyond a specified byte
Delete all bytes beyond a specified byte.
Obfuscate all beyond a specified byte
Change all bytes beyond a specified byte to a new value.
Pass all beyond a specified byte
Pass the rest of the packet without further processing further.
Note that only one of the actions is available on each byte. For example, in a byte you can't set some bits and clear others.
The following limits apply to IPP actions:
• Only the first 120 bytes of a packet support an action.
• The first 119 bytes may have any action associated with them.
• The 120th byte only supports truncate or pass.
• The start-bit of a delete or truncate action must begin after the MAC addresses; that is, no less than the 12th byte.
• The value associated with XOR, AND, OR, Replace and Obfuscate is limited to 0-255.
• The value associated with Delete is limited to affecting no further than the first 119 bytes.
Transforms
The combination of a set of one or more Matches and a set of one or more Actions is known as a
Transform
. Transforms
allow you to identify certain bit values within the packet header, and change byte values when matching bits have been
identified.
The Matches and Actions can operate on entirely different parts of the packet header, and there may be a different number
of Matches than there are Actions. When several Matches are specified in a Transform, they all must match for the
associated Action or Actions to be performed on the packet header.
Transforms are applied to ports. Each port can have up to eight Transforms applied to it. In cases where several
Transforms match a packet, the Transform with the highest priority (lowest Transform number) is actioned. Thus, only
one Transform per packet can ever be actioned.
After a Transform has been performed, the packet CRC is recalculated to be correct for the modified packet.
See
on page 72 for a step-by-step guide to setting up a Transform.