DPDK patches and discussions
 help / color / mirror / Atom feed
From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [dpdk-dev] [Bug 284] Secondary not able to Rx/TX after primary dies in symmetric multiprocess
Date: Thu, 23 May 2019 14:23:18 +0000	[thread overview]
Message-ID: <bug-284-3@http.bugs.dpdk.org/> (raw)

https://bugs.dpdk.org/show_bug.cgi?id=284

            Bug ID: 284
           Summary: Secondary not able to Rx/TX after primary dies in
                    symmetric multiprocess
           Product: DPDK
           Version: 18.11
          Hardware: x86
                OS: Linux
            Status: CONFIRMED
          Severity: major
          Priority: Normal
         Component: other
          Assignee: dev@dpdk.org
          Reporter: oleksandr.gromovskyi@harmonicinc.com
  Target Milestone: ---

In our project we plan to use symmetric multiprocessing to have redundancy on
application level. So if primary crashes secondary still can process packets
from the eth ports.
But currently i see that when primary is alive secondary can receive the data
from port and everything works as expected, but after primary dies secondary
also stop receiving the data.
I tested same in symmetric_mp example and problem is same.
According to documentation:
https://doc.dpdk.org/guides-18.11/sample_app_ug/multi_process.html
    ...
        it is not necessary to restart all processes if the primary instance
dies. Instead, that process can be restarted as a secondary, 
    ...

I'm executing primary and secondary with next two commands

./build/symmetric_mp -c 1 -n 4 --proc-type=auto -- -p 3 --num-procs=2
--proc-id=0
./build/symmetric_mp -c 2 -n 4 --proc-type=auto -- -p 3 --num-procs=2
--proc-id=1

I modified the code to print statistics each second and see rx/tx increasing
but only till primary is alive.

EAL: Detected 4 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Probing VFIO support...
EAL: PCI device 0000:01:00.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:10fb net_ixgbe
EAL: PCI device 0000:01:00.1 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:10fb net_ixgbe
# Initialising port 0... # Initialising port 1...
Checking link status...done
Port0 Link Up. Speed 10000 Mbps - full-duplex
Port1 Link Up. Speed 10000 Mbps - full-duplex
APP: Finished Process Init.
Lcore 0 using ports 0 1
lcore 0 using queue 0 of each port
Port 0: RX - 0, TX - 0, Drop - 0
Port 1: RX - 0, TX - 0, Drop - 0

Port 0: RX - 0, TX - 1, Drop - 0
Port 1: RX - 1, TX - 0, Drop - 0

Port 0: RX - 0, TX - 2, Drop - 0
Port 1: RX - 2, TX - 0, Drop - 0

Port 0: RX - 0, TX - 3, Drop - 0
Port 1: RX - 3, TX - 0, Drop - 0

Port 0: RX - 0, TX - 4, Drop - 0
Port 1: RX - 4, TX - 0, Drop - 0

Restarting of primary as secondary

./build/symmetric_mp -c 1 -n 4 --proc-type=secondary -- -p 3 --num-procs=2
--proc-id=0

does not help. Only stop of all applications and starting of primary again
makes rx/tx working again.

-- 
You are receiving this mail because:
You are the assignee for the bug.

                 reply	other threads:[~2019-05-23 14:23 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-284-3@http.bugs.dpdk.org/ \
    --to=bugzilla@dpdk.org \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).