Uploaded image for project: 'OpenFlowPlugin'
  1. OpenFlowPlugin
  2. OPNFLWPLUG-551

controller becomes deadlocked after arp packet floods

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Done
    • None
    • None
    • General
    • None
    • Operating System: Linux
      Platform: PC

    • 4335

    Description

      Here I have encountered a problem when testing the ODL performance. The following is the way how i did. I wrote a test program sending arp packets to ODL at some rate. when the rate reaches a relative high level, ODL stops replying arp packet, and it seems to be deadlocked. I followed ODL and figure the reason out. Firstly, the QueueHarvester find out that the packets from switch belong to packet-in and forward them to MD-SAL. And then MD-SAL uses distruptor to push notification. Finally packet handler in L2switch decode the packet from MD-SAL and publich the packet to MD-SAL again. Here is the key section. Disruptor uses ring buffer to store packets. If the buffer is full, provider has to wait consumer to pick packet out. When the packets flood, packet handler cannot process in time, so ring buffer in distruptor has no space some time later. After this time QueueHarvester drops all packet because ring buffer is full, while packet handler is also waiting to publich decoded packet, they are deadlocked.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            Unassigned Unassigned
            tony_huang_ii@163.com Tony Huang
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: