There are two variants of Axonerve, On-chip and Off-chip memory mode, in terms of which memory the entry table is placed in, internal memories of an FPGA/ASIC or external memory devices.
On-chip memory mode
Off-chip memory mode
Field mask function is available to determine which bit-fields of key data are to be “wildcard”, or “don’t care” areas in search operation.
Masked fields of key data stored in the entry table always match any values of corresponding fields of incoming data in search operation.
Bit-fields & Field mask presettings [Field set Example]
Basically each element of network packet header comprises an integer multiple of bytes:
32 bits: IPv4 16 bits: L4 Port, VLAN, Ethernet type, MPLS, …
48 bits: MAC 8 bits: SW Port, Tos, IP Protocol, …
Axonerve provides two types of bit-field assignment presetting of key data. Field mask works on every field except for the 1st one that must be unmasked and the target field to be searched.
Each entry in the entry table has its own priority attribution. When a search key matches multiple entries, the one with the highest priority is selected as a result of the search operation. Priority function also helps you manage the entry table. You don’t have to care about the order of storing entries like a conventional TCAM device, and just write a new entry with appropriate priority attribution.
Value function is available to take a search key as a request tuple and returns a response tuple containing an associated value stored in memory.
Value function can be used for various purposes.
For example, if you are using TCAM, the stored associated value for the matched entry with highest priority is returned as well as an indication of a match.
Also, you can control packet drop, pass, packet edit by attaching an action table.
You can add offset in the packet by using value function.
Axonerve is one of candidates for Hash Table replacement. Axonerve has good advantages over FPGA-based Hash Table implementation for applications requiring guaranteed max response time and continuous search operation.