On Thu, Aug 14, 2014 at 11:31:07AM -0700, Ben Pfaff wrote:
> On Thu, Aug 14, 2014 at 03:14:05PM -0300, Flavio Leitner wrote:
> > Speaking on how ports works and limits, I've heard about an interesting
> > problem when using containers.  If you add more than 1k containers to
> > an OVS bridge, the network starts to fail.  The reason is that when
> > flooding packets with ARP requests, OVS clones the packet for each
> > port.  However, for veth devices this ends up in the CPU backlog which
> > is limited by sysctl netdev_max_backlog to 1000, so the excess gets dropped.
> > 
> > I don't see how to prevent that in OVS because the DP just loops executing
> > the actions, sending the packet regardless of the device's type, etc. 
> 
> Another approach to communicating with namespaces, as an alternative to
> a veth, is to add an internal port to the OVS bridge, then move it into
> the appropriate namespace.  I don't know whether this sidesteps a
> queuing limit (haven't looked, haven't tried it).

If I am reading correctly, either veth or internal ports will end up
in the backlog queue.

internal_dev_recv()
  netif_rx()
    netif_rx_internal()  
      enqueue_to_backlog()

fbl
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to