{'fraction_non_alphanumeric': 0.017557251908396947, 'fraction_numerical': 0.004580152671755725, 'mean_word_length': 4.800884955752212, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A novel compaction scheme for routing tables in TCAM to enhance cache hit rate

Routing table lookup is an important operation in packet forwarding. The speed at which this operation is performed has a great influence on the overall performance of the network processors. Routing tables are usually stored in main memory with a large access time. Consequently, small fast cache memories have been used to improve access time. In this paper, we propose a novel routing table compaction scheme to reduce the size of routing table stored in ternary content addressable memory (TCAM) and improve cache hit rate. Two or more routing entries are compacted into one using don't care element in TCAM. A small compacted routing table helps to increase cache hit rate; this in turn provides fast address lookups. We have evaluated the compaction scheme through extensive simulations involving IPv4 routing tables and traces. The original routing tables have been compacted over 60%. The cache hit rate has improved by up to 20% over the original tables depending on both cache size (number of cache entries) and traces. We have also analyzed the impact of port errors caused by caching technique, and chose sampling technique to alleviate this problem. The proposed scheme has been extended to IPv6 with similar results.