Is there a practical, efficient way to keep flows on an LRU list or some
reasonable approximation to one?  If so, then userspace could say "give
me all of the flows used since <time>" and the kernel could traverse the
list until it hits a flow that hasn't been used since <time> and stop.

One way might be to do something like this.  Keep track of the last time
a packet arriving for a flow caused it to be put on the front of the LRU
list.  When a packet arrives for a flow and that counter is unset or
more than N jiffies old, move it to the front of the list.  Then any
given flow couldn't cause more than a small amount of cache line
ping-pong trauma (not more than once every N jiffies).
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to