An upcall thread might request multiple overlapping kflows. This is
particularly true for inband, where the kflow mask only includes in_port.
Before megaflows, we handled this case with a hash table keyed on the kflow
key. This isn't sufficient anymore because different keys can match the same
megaflow. The fix is to switch from a hashtable to the TCAM datastructure we
use in the forwarding pipeline.
Reviewer: @harshsin
An upcall thread might request multiple overlapping kflows. This is particularly true for inband, where the kflow mask only includes in_port. Before megaflows, we handled this case with a hash table keyed on the kflow key. This isn't sufficient anymore because different keys can match the same megaflow. The fix is to switch from a hashtable to the TCAM datastructure we use in the forwarding pipeline.