Uploaded image for project: 'vpp'
  1. vpp
  2. VPP-844

ping command does not work when there is woker thread

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Medium Medium
    • 18.04
    • 17.07
    • IP

      when we run vpp by only main thread, ping command does work  correctly.

      But when we run vpp by main thread and worker thread, ping any peer address will be unreachable, it does not work.

      After we debuged it , we find there are some thread barrier sync issue when worker thread existed, as follow:

      vlib_main_or_worker_loop

          if (!is_main)
          {
            vlib_worker_thread_barrier_check ();                ---------woker thread will be blocked here when ping command started, so it can't receive icmp_echo packets in time.
            vec_foreach (fqm, tm->frame_queue_mains)
              vlib_frame_queue_dequeue (vm, fqm);
          }

      cause that , CLI ping command which waiting for icmp_echo packets will call 'vlib_worker_thread_barrier_sync' suspend worker thread. Maybe there is deadlock.

      Then we find a solution to fix this bug.

       

            flyingeagle23 hui wang
            flyingeagle23 hui wang
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: