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:37:48 +0000 (07:37 -0700)
commit7d031d7e511aeea8dd45348922fe8e3bbdd2956e
treef3965e617160cb67633101dc01fb2259e667ec09
parent3cea18ece5bae2cf38bf85febd0ca52daac56723
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