ofproto: Drop flows from datapath more quickly under heavy load.
authorBen Pfaff <blp@nicira.com>
Thu, 7 Oct 2010 23:44:32 +0000 (16:44 -0700)
committerBen Pfaff <blp@nicira.com>
Thu, 7 Oct 2010 23:44:32 +0000 (16:44 -0700)
commit0de7a4b484d685a93b251023b86eed10c0045a40
tree333b58623f816cd881c63a6f77ef8c76c54fb297
parent35950f0cfa75821e4db5fc767b5a1671c40c6b1a
ofproto: Drop flows from datapath more quickly under heavy load.

In normal operation it makes sense to keep track of all of the flows that
have been seen recently and to cache all of them in the kernel.  Under
unusual conditions, such as those caused by network scanning tools or by an
actual targeted DoS attack against the vswitch, the number of flows can
explode to extremely high numbers (hundreds of thousands or more).  In such
a situation the vswitch needs to guard against memory exhaustion by
expiring flows more quickly and more often.  This commit implements an
inexpensive technique for determining which flows should be dropped in such
a situation.
ofproto/ofproto.c