ofproto-dpif-xlate: Work around Linux netdev_max_backlog limit.
authorBen Pfaff <blp@nicira.com>
Tue, 9 Sep 2014 22:06:52 +0000 (15:06 -0700)
committerBen Pfaff <blp@nicira.com>
Wed, 10 Sep 2014 14:52:44 +0000 (07:52 -0700)
commitaeaa85d87b4da6513f197a2efcecbaeac924530b
tree93b5b53643d34d6862abf4e006f82d1456014365
parent8f5a096d888d4dc992e4152cfb1881b7a86511aa
ofproto-dpif-xlate: Work around Linux netdev_max_backlog limit.

Linux has an internal queue that temporarily holds packets transmitted to
certain network devices.  If too many packets are transmitted to such
network devices within a single list of actions, then packets tend to get
dropped.  Broadcast or flooded or multicast packets on bridges with
thousands of ports are examples of how this can occur.

This commit avoids the problem by implementing a flow in userspace when it
outputs its packet more times than the maximum length of the queue.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Flavio Leitner <fbl@redhat.com>
Tested-by: Flavio Leitner <fbl@redhat.com>
ofproto/ofproto-dpif-xlate.c