[ovs-dev] [RFC PATCH v2 11/19] keepalive: Add support to query keepalive status.

2017-06-12 Thread Bhanuprakash Bodireddy
This commit adds support to query if keepalive status is enabled/disabled. $ ovs-appctl keepalive/status keepAlive Status: Enabled Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/keepalive.c | 15 +++ 1 file changed, 15 insertions(+)

[ovs-dev] [RFC PATCH v2 10/19] keepalive: Add support to query keepalive statistics.

2017-06-12 Thread Bhanuprakash Bodireddy
8632190191006555 Datapath status : BAD Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/keepalive.c | 78 + 1 file changed, 78 insertions(+) diff --git a/lib/keepalive.c b/lib/keepalive.c index f

[ovs-dev] [RFC PATCH v2 16/19] keepalive: Check the PMD cycle stats as part of PMD health checks.

2017-06-12 Thread Bhanuprakash Bodireddy
This commit adds the support to check the PMD cycle stats. If the cycles aren't changing for a duration of time this can be flagged as possible PMD stall. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.c | 18 +++--- lib/dpif-ne

[ovs-dev] [RFC PATCH v2 15/19] keepalive: Check the packet statistics as part of PMD health checks.

2017-06-12 Thread Bhanuprakash Bodireddy
-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.c | 23 +++-- lib/keepalive.c | 100 ++ lib/keepalive.h | 6 3 files changed, 126 insertions(+), 3 deletions(-) diff --git a/lib/dpif-netd

[ovs-dev] [RFC PATCH v2 17/19] netdev-dpdk: Enable PMD health checks on heartbeat failure.

2017-06-12 Thread Bhanuprakash Bodireddy
red. - Link status of the ports polled by PMD thread. - Statistics of the ports polled by PMD thread. - PMD polling and processing cycles. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/keepalive.h | 3

[ovs-dev] [PATCH v2] process: Consolidate process related APIs.

2017-06-20 Thread Bhanuprakash Bodireddy
functionality. CC: Ben Pfaff <b...@ovn.org> Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- v1->v2 * Move ticks_to_ms() from util.c to process.c * Verify the changes and test it by enabling statistics using, $ovs-vsctl set Open_vSwitch . other_config:en

[ovs-dev] [PATCH] packets: Do not initialize ct_orig_tuple.

2017-06-22 Thread Bhanuprakash Bodireddy
32419.html Fixes: daf4d3c18da4("odp: Support conntrack orig tuple key.") Signed-off-by: Daniele Di Proietto <diproiet...@vmware.com> Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> Co-authored-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@int

[ovs-dev] [PATCH v9] netdev-dpdk: Increase pmd thread priority.

2017-06-22 Thread Bhanuprakash Bodireddy
to '-20'. $ ps -eLo comm,policy,psr,nice | grep pmd COMMAND POLICY PROCESSORNICE pmd62 TS3-20 pmd63 TS0-20 pmd64 TS1-20 pmd65 TS2-20 Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bod

[ovs-dev] [PATCH 1/6] process: Consolidate process related APIs.

2017-06-19 Thread Bhanuprakash Bodireddy
functionality. CC: Ben Pfaff <b...@ovn.org> Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/process.c | 172 + lib/process.h | 12 +++ lib/util.c | 85 lib/util.h

[ovs-dev] [PATCH 3/6] dpctl: Skip invoking qsort on empty list

2017-06-19 Thread Bhanuprakash Bodireddy
Clang reports "Argument with 'nonnull' attribute passed null" warning. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpctl.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/dpctl.c b/lib/dpctl.c index 7f44d02..2ad475b

[ovs-dev] [PATCH 4/6] dpif-netlink-rtnl: Fix dead store reported by clang.

2017-06-19 Thread Bhanuprakash Bodireddy
Clang reports variable 'ifmsg' never been used in the function. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netlink-rtnl.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/dpif-netlink-rtnl.c b/lib/dpif-netlink-rtnl.c

[ovs-dev] [PATCH 2/6] dpif-netdev: Skip invoking qsort on empty list.

2017-06-19 Thread Bhanuprakash Bodireddy
to qsort in this case. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 2b65dc7..4b5b23b 100644 --- a/lib/dpif-netdev.c +++ b/li

[ovs-dev] [PATCH 6/6] netdev: Fix null pointer dereference reported by clang.

2017-06-19 Thread Bhanuprakash Bodireddy
Clang reports that array access from 'dumps' variable result in null pointer dereference. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/netdev.c | 16 +--- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/netdev.c b/lib/ne

[ovs-dev] [PATCH 5/6] test-conntrack: Fix dead store reported by clang.

2017-06-19 Thread Bhanuprakash Bodireddy
Clang reports that value store to 'batch_size' is never read. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- tests/test-conntrack.c | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/test-conntrack.c b/tests/test-conntrack.c index f79a9fc..5d2f8b8

[ovs-dev] [RFC PATCH 01/21] vswitch.xml: Add keepalive support.

2017-06-07 Thread Bhanuprakash Bodireddy
e"' Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- vswitchd/vswitch.xml | 39 +++ 1 file changed, 39 insertions(+) diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml index 892f839..59c96df 100644 --- a/vswitchd/vswitch.xml

[ovs-dev] [RFC PATCH 06/21] bridge: Invoke keepalive framework.

2017-06-07 Thread Bhanuprakash Bodireddy
. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- vswitchd/bridge.c | 4 1 file changed, 4 insertions(+) diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c index cc7a43b..d40879d 100644 --- a/vswitchd/bridge.c +++ b/vswitchd/bridge.c @@ -34,6 +34,7 @@ #i

[ovs-dev] [RFC PATCH 05/21] Keepalive: Add initial keepalive support.

2017-06-07 Thread Bhanuprakash Bodireddy
This commit introduces the initial keepalive support by adding 'keepalive' module and also helper and initialization functions that will be invoked by later commits. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/automake.mk | 2 + lib/dpdk.c

[ovs-dev] [RFC PATCH 16/21] keepalive: Check the link status as part of PMD health checks.

2017-06-07 Thread Bhanuprakash Bodireddy
This commit adds the initial support in to performing PMD health checks. The ports handled by the PMD threads are checked for the link status and the same is updated in to SHM block. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.

[ovs-dev] [RFC PATCH 11/21] bridge: Update keepalive status in ovsdb

2017-06-07 Thread Bhanuprakash Bodireddy
"CORE_1"="ALIVE,9226460230168100" "CORE_2"="ALIVE,9226460230168905" "CORE_3"="ALIVE,9226460230169632"

[ovs-dev] [RFC PATCH 12/21] keepalive: Add support to query keepalive statistics.

2017-06-07 Thread Bhanuprakash Bodireddy
8632190191006555 Datapath status : BAD Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/keepalive.c | 70 + 1 file changed, 70 insertions(+) diff --git a/lib/keepalive.c b/lib/keepalive.c index a

[ovs-dev] [RFC PATCH 20/21] keepalive: Display extended Keepalive status.

2017-06-07 Thread Bhanuprakash Bodireddy
and additional stats(pkt stats, cpu cycles) are displayed as above. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/keepalive.c | 124 1 file changed, 124 insertions(+) diff --git a/lib/keepalive.c b/lib/keepa

[ovs-dev] [RFC PATCH 10/21] keepalive: Retrieve PMD status periodically.

2017-06-07 Thread Bhanuprakash Bodireddy
LIVE,9220698256784207" CORE_1="ALIVE,9220698256784913" CORE_2="ALIVE,9220698256785902" CORE_3="ALIVE,9220698256786231" Datapath status:HEALTHY" Signed-off-by: Bhanuprakash Bodireddy <bhan

[ovs-dev] [RFC PATCH 07/21] keepalive: Add more helper functions to KA framework.

2017-06-07 Thread Bhanuprakash Bodireddy
This commit introduces helper functions in 'keepalive' module that are needed to register/unregister PMD threads to KA framework. Also introduce APIs to mark the PMD core states. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/keepalive.

[ovs-dev] [RFC PATCH 14/21] dpif-netdev: Add helper function to check false positives.

2017-06-07 Thread Bhanuprakash Bodireddy
This commit adds an API to store the PMD thread id in SHM block. The tid later shall be retrieved by callback function that gets invoked to check for false positives. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.c | 1 + lib/keepalive.c

[ovs-dev] [RFC PATCH 04/21] process: Retrieve process status.

2017-06-07 Thread Bhanuprakash Bodireddy
Implement helper function to retrieve the process status. This will be used by keepalive monitoring thread to detect false alarms and to show PMD thread state in future commits. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/process.

[ovs-dev] [RFC PATCH 03/21] dpdk: Add helper functions for DPDK datapath keepalive.

2017-06-07 Thread Bhanuprakash Bodireddy
Introduce helper functions in 'dpdk' module that are needed for DPDK keepalive functionality. Also add dummy functions in 'dpdk-stub' module that are needed when DPDK datapath is not available. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpdk-stub.

[ovs-dev] [RFC PATCH 21/21] Documentation: Update DPDK doc with Keepalive feature.

2017-06-07 Thread Bhanuprakash Bodireddy
rmance or latency impact is observed with KA feature enabled. The tests were run with 100ms KA interval and latency is (Min:134,710ns, Avg:173,005ns, Max:1,504,670ns) for Phy2Phy loopback test case with 100 unique streams. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@in

[ovs-dev] [RFC PATCH 02/21] ovsschema: Introduce 'keepalive' column in Open_vSwitch.

2017-06-07 Thread Bhanuprakash Bodireddy
This commit adds new ovsdb column "keepalive". It shows the overall datapath status and the health of the cores running datapath threads. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- vswitchd/vswitch.ovsschema | 7 +-- vswitchd/vswitc

[ovs-dev] [RFC PATCH 08/21] dpif-netdev: Register packet processing cores to KA framework.

2017-06-07 Thread Bhanuprakash Bodireddy
by marking themselves alive. As long as PMD responds to heartbeats it is considered 'healthy'. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.c | 65 +++ 1 file changed, 65 insertions(+) diff --git

[ovs-dev] [RFC PATCH 09/21] dpif-netdev: Dispatch heartbeats for DPDK datapath.

2017-06-07 Thread Bhanuprakash Bodireddy
the port. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpdk-stub.c | 6 ++ lib/dpdk.c| 7 +++ lib/dpdk.h| 2 ++ lib/dpif-netdev.c | 5 + 4 files changed, 20 insertions(+) diff --git a/lib/dpdk-stub.c b/lib/dpdk-stub.c index d

[ovs-dev] [RFC PATCH 15/21] dpif-netdev: Add additional datapath health checks.

2017-06-07 Thread Bhanuprakash Bodireddy
keepalive thread. It should be noted that the PMD health checks are only performed on the PMD threads whose health check is enabled. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.c | 23 +++ lib/keepalive.c

[ovs-dev] [RFC PATCH 13/21] keepalive: Add support to query keepalive status.

2017-06-07 Thread Bhanuprakash Bodireddy
This commit adds support to query if keepalive status is enabled/disabled. $ ovs-appctl keepalive/status keepAlive Status: Enabled Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/keepalive.c | 17 + 1 file changed, 17 insertions(+)

[ovs-dev] [RFC PATCH 18/21] keepalive: Check the PMD cycle stats as part of PMD health checks.

2017-06-07 Thread Bhanuprakash Bodireddy
This commit adds the support to check the PMD cycle stats. If the cycles aren't changing for a duration of time this can be flagged as possible PMD stall. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.c | 17 ++--- lib/dpif-netdev.

[ovs-dev] [RFC PATCH 19/21] netdev-dpdk: Enable PMD health checks on heartbeat failure.

2017-06-07 Thread Bhanuprakash Bodireddy
red. - Link status of the ports polled by PMD thread. - Statistics of the ports polled by PMD thread. - PMD polling and processing cycles. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/keepalive.h | 3 +++ lib/netdev-dpdk.c | 39 +

[ovs-dev] [PATCH 2/8] netdev-dpdk: Add netdev_dpdk_txq_drain function.

2017-06-07 Thread Bhanuprakash Bodireddy
This commit adds netdev_dpdk_txq_drain() function. If there are any packets waiting in the queue, they are transmitted instantly using the rte_eth_tx_burst function. In XPS enabled case, lock is taken on the tx queue before draining the queue. Signed-off-by: Bhanuprakash Bodireddy

[ovs-dev] [PATCH 4/8] dpif-netdev: Drain the packets in intermediate queue.

2017-06-07 Thread Bhanuprakash Bodireddy
-by: Eelco Chaudron <echau...@redhat.com> Reported-at: https://mail.openvswitch.org/pipermail/ovs-dev/2017-April/331039.html Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> Signed-off-by: Antonio Fischetti <antonio.fische...@intel.com> Co-authored-by:

[ovs-dev] [PATCH 6/8] netdev-dpdk: Enable intermediate queue for vHost User port.

2017-06-07 Thread Bhanuprakash Bodireddy
hau...@redhat.com>] Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> Signed-off-by: Antonio Fischetti <antonio.fische...@intel.com> Co-authored-by: Antonio Fischetti <antonio.fische...@intel.com> --- lib/netdev-dpdk.c | 38 +++---

[ovs-dev] [PATCH 5/8] netdev-dpdk: Add netdev_dpdk_vhost_txq_drain function.

2017-06-07 Thread Bhanuprakash Bodireddy
Add netdev_dpdk_vhost_txq_drain(), that flushes packets on vHost User port queues. Also add netdev_dpdk_vhost_tx_burst() function that uses rte_vhost_enqueue_burst() to enqueue burst of packets on vHost User ports. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>

[ovs-dev] [PATCH 7/8] netdev-dpdk: Configurable retries while enqueuing to vHost User ports.

2017-06-07 Thread Bhanuprakash Bodireddy
performed with atleast some pkts successfully enqueued in previous attempt, set below: $ ovs-vsctl set Open_vSwitch . other_config:vhost-enque-retry=3 CC: Kevin Traynor <ktray...@redhat.com> Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> Signed-off-by: Antonio Fis

[ovs-dev] [RFC PATCH v3 08/18] keepalive: Retrieve PMD status periodically.

2017-06-18 Thread Bhanuprakash Bodireddy
56784913" "PMD64"="ALIVE,2,9220698256785902" "PMD65"="ALIVE,3,9220698256786231" Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.c | 1 + lib/keepalive.c | 73 ++

[ovs-dev] [RFC PATCH v3 06/18] dpif-netdev: Register packet processing cores to KA framework.

2017-06-18 Thread Bhanuprakash Bodireddy
by marking themselves alive. As long as PMD responds to heartbeats it is considered 'healthy'. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.c | 100 + lib/keepalive.c

[ovs-dev] [RFC PATCH v3 07/18] dpif-netdev: Enable heartbeats for DPDK datapath.

2017-06-18 Thread Bhanuprakash Bodireddy
the port. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpdk-stub.c | 6 ++ lib/dpdk.c| 7 +++ lib/dpdk.h| 2 ++ lib/dpif-netdev.c | 9 - lib/keepalive.c | 9 + lib/keepalive.h | 1 + 6 files changed, 33 inse

[ovs-dev] [RFC PATCH v3 09/18] bridge: Update keepalive status in OVSDB

2017-06-18 Thread Bhanuprakash Bodireddy
quot;="ALIVE,1,9226460230168100" "PMD64"="ALIVE,2,9226460230168905" "PMD65"="ALIVE,3,9226460230169632"} Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/keepalive.c |

[ovs-dev] [RFC PATCH v3 10/18] keepalive: Add support to query keepalive statistics.

2017-06-18 Thread Bhanuprakash Bodireddy
6 ALIVE 8632190191005713 pmd697 ALIVE 8632190191006555 Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/keepalive.c | 78 + 1 file changed, 78 insertions(+) diff --git

[ovs-dev] [PATCH 3/6] netdev-dpdk: Add intermediate queue support.

2017-06-18 Thread Bhanuprakash Bodireddy
rate and can potentially get stuck in the queue, flush logic is implemented that gets invoked from dp_netdev_flush_txq_ports() as part of PMD packet processing loop. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> Signed-off-by: Antonio Fischetti <anton

[ovs-dev] [PATCH 4/6] dpif-netdev: Flush the packets in intermediate queue.

2017-06-18 Thread Bhanuprakash Bodireddy
-by: Eelco Chaudron <echau...@redhat.com> Reported-at: https://mail.openvswitch.org/pipermail/ovs-dev/2017-April/331039.html Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> Signed-off-by: Antonio Fischetti <antonio.fische...@intel.com> Co-authored-by:

[ovs-dev] [RFC PATCH v3 03/18] Keepalive: Add initial keepalive support.

2017-06-18 Thread Bhanuprakash Bodireddy
en_vSwitch . \ other_config:keepalive-interval="5000" Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/automake.mk| 2 + lib/dpdk.c | 17 + lib/dpdk.h | 2 + lib/keepalive.c| 160

[ovs-dev] [RFC PATCH v3 05/18] dpif-netdev: Add helper function to store datapath tids.

2017-06-18 Thread Bhanuprakash Bodireddy
This commit adds an API to store the PMD thread ids in to KA info struct. The thread ids shall be used to check false positives and for status and statistics reporting. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.c | 3 +++ lib/keepalive.c

[ovs-dev] [RFC PATCH v3 04/18] keepalive: Add more helper functions to KA framework.

2017-06-18 Thread Bhanuprakash Bodireddy
This commit introduces helper functions in 'keepalive' module that are needed to register/unregister PMD threads to KA framework. Also introduce APIs to mark the PMD core states. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/keepalive.

[ovs-dev] [RFC PATCH v3 16/18] netdev-dpdk: Enable PMD health checks on heartbeat failure.

2017-06-18 Thread Bhanuprakash Bodireddy
red. - Link status of the ports polled by PMD thread. - Statistics of the ports polled by PMD thread. - PMD polling and processing cycles. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/keepalive.c | 16 ++ lib/keepalive.h | 2

[ovs-dev] [RFC PATCH v3 17/18] keepalive: Display extended Keepalive status.

2017-06-18 Thread Bhanuprakash Bodireddy
, health checks are enabled and additional stats(pkt stats, cpu cycles) are displayed as above. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/keepalive.c | 112 1 file changed, 112 insertions(+) diff --git

[ovs-dev] [PATCH 2/6] netdev-dpdk: Add netdev_dpdk_txq_flush function.

2017-06-18 Thread Bhanuprakash Bodireddy
This commit adds netdev_dpdk_txq_flush() function. If there are any packets waiting in the queue, they are transmitted instantly using the rte_eth_tx_burst function. In XPS enabled case, lock is taken on the tx queue before flushing the queue. Signed-off-by: Bhanuprakash Bodireddy

[ovs-dev] [PATCH 1/6] netdev: Add netdev_txq_flush function.

2017-06-18 Thread Bhanuprakash Bodireddy
Add netdev_txq_flush(), that flush packets on a queue. This is needed to transmit packets on the intermediate queue. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> Signed-off-by: Antonio Fischetti <antonio.fische...@intel.com> Co-authored-by: Anton

[ovs-dev] [PATCH 0/6 V2] netdev-dpdk: Use intermediate queue during packet transmission.

2017-06-18 Thread Bhanuprakash Bodireddy
ble names appropriately. * No functional change changes. Bhanuprakash Bodireddy (6): netdev: Add netdev_txq_flush function. netdev-dpdk: Add netdev_dpdk_txq_flush function. netdev-dpdk: Add intermediate queue support. dpif-netdev: Flush the packets in intermediate queue. netdev-dpdk:

[ovs-dev] [RFC PATCH v3 01/18] dpdk: Add helper functions for DPDK datapath keepalive.

2017-06-18 Thread Bhanuprakash Bodireddy
Introduce helper functions in 'dpdk' module that are needed for DPDK keepalive functionality. Also add dummy functions in 'dpdk-stub' module that are needed when DPDK datapath is not available. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpdk-stub.

[ovs-dev] [RFC PATCH v3 02/18] process: Add helper functions to retrieve process related info.

2017-06-18 Thread Bhanuprakash Bodireddy
Implement helper functions to retrieve the process status, name and last core the process was scheduled. The APIs will be used by keepalive monitoring framework in future commits. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/process.c

[ovs-dev] [RFC PATCH v3 00/18] Add OVS DPDK keep-alive functionality

2017-06-18 Thread Bhanuprakash Bodireddy
and schema commits to later commit where the actual implementation is done(suggested by Ben). * Fix ovs-appctl keepalive/* hang issue when KA disabled. * Fixed memory leaks with appctl commands for keepalive/pmd-health-show, pmd-xstats-show. * Refactored code and fixed APIs dealing with PMD he

[ovs-dev] [RFC PATCH v3 12/18] dpif-netdev: Add additional datapath health checks.

2017-06-18 Thread Bhanuprakash Bodireddy
keepalive thread. It should be noted that the PMD health checks are only performed on the PMD threads whose health check is enabled. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.c | 30 + lib/keepalive.c

[ovs-dev] [RFC PATCH v3 11/18] keepalive: Add support to query keepalive status.

2017-06-18 Thread Bhanuprakash Bodireddy
This commit adds support to query if keepalive status is enabled/disabled. $ ovs-appctl keepalive/status keepAlive Status: Enabled Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/keepalive.c | 15 +++ 1 file changed, 15 insertions(+)

[ovs-dev] [PATCH 5/6] netdev-dpdk: Add netdev_dpdk_vhost_txq_flush function.

2017-06-18 Thread Bhanuprakash Bodireddy
Add netdev_dpdk_vhost_txq_flush(), that flushes packets on vHost User port queues. Also add netdev_dpdk_vhost_tx_burst() function that uses rte_vhost_enqueue_burst() to enqueue burst of packets on vHost User ports. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>

[ovs-dev] [PATCH 6/6] netdev-dpdk: Enable intermediate queue for vHost User port.

2017-06-18 Thread Bhanuprakash Bodireddy
hau...@redhat.com>] Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> Signed-off-by: Antonio Fischetti <antonio.fische...@intel.com> Co-authored-by: Antonio Fischetti <antonio.fische...@intel.com> Acked-by: Eelco Chaudron <echau...@redhat.com&g

[ovs-dev] [RFC PATCH v3 13/18] keepalive: Check the link status as part of PMD health checks.

2017-06-18 Thread Bhanuprakash Bodireddy
This commit adds the initial support in to performing PMD health checks. The ports handled by the PMD threads are checked for the link status and the same is updated in to keepalive info structure. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-ne

[ovs-dev] [RFC PATCH v3 15/18] keepalive: Check the PMD cycle stats as part of PMD health checks.

2017-06-18 Thread Bhanuprakash Bodireddy
This commit adds the support to check the PMD cycle stats. If the cycles aren't changing for a duration of time this can be flagged as possible PMD stall. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.c | 16 +--- lib/dpif-netdev.

[ovs-dev] [RFC PATCH v3 14/18] keepalive: Check the packet statistics as part of PMD health checks.

2017-06-18 Thread Bhanuprakash Bodireddy
-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.c | 25 +++--- lib/keepalive.c | 97 +++ lib/keepalive.h | 5 +++ 3 files changed, 122 insertions(+), 5 deletions(-) diff --git a/lib/dpif-netd

[ovs-dev] [PATCH 1/2] checkpatch: Suggest ovs_assert() to author.

2017-06-18 Thread Bhanuprakash Bodireddy
Suggest the author to use the OVS wrapper of the assert function. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- utilities/checkpatch.py | 1 + 1 file changed, 1 insertion(+) diff --git a/utilities/checkpatch.py b/utilities/checkpatch.py index b45a255..3

[ovs-dev] [PATCH v5 10/10] NEWS: Add keepalive support information in NEWS.

2017-09-15 Thread Bhanuprakash Bodireddy
Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- NEWS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/NEWS b/NEWS index 6a5d2bf..7f5ff78 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,8 @@ Post-v2.8.0 - OVN: * The "requested-chassis" opti

[ovs-dev] [PATCH v5 04/10] dpif-netdev: Register packet processing cores to KA framework.

2017-09-15 Thread Bhanuprakash Bodireddy
by marking themselves alive. As long as PMD responds to heartbeats it is considered 'healthy'. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.c | 79 ++ lib/keepalive.c

[ovs-dev] [PATCH v5 05/10] dpif-netdev: Enable heartbeats for DPDK datapath.

2017-09-15 Thread Bhanuprakash Bodireddy
the port. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.c | 15 +-- lib/keepalive.c | 44 lib/keepalive.h | 1 + 3 files changed, 58 insertions(+), 2 deletions(-) diff --git a/li

[ovs-dev] [PATCH v5 01/10] process: Extend get_process_info() for additional fields.

2017-09-15 Thread Bhanuprakash Bodireddy
assignment suppression and length modifier together in gnu_scanf format [-Werror=format=]. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/process.c | 43 +++ lib/process.h | 2 ++ 2 files changed, 25 insertions(+), 20 de

[ovs-dev] [PATCH v5 00/10] Add OVS DPDK keep-alive functionality.

2017-09-15 Thread Bhanuprakash Bodireddy
l keepalive/* hang issue when KA disabled. * Fixed memory leaks with appctl commands for keepalive/pmd-health-show, pmd-xstats-show. * Refactor code and fixed APIs dealing with PMD health monitoring. Bhanuprakash Bodireddy (10): process: Extend get_process_info() for additional fields. Keepali

[ovs-dev] [PATCH v5 07/10] bridge: Update keepalive status in OVSDB.

2017-09-15 Thread Bhanuprakash Bodireddy
"pmd64"="ALIVE,2,150679619" "pmd65"="ALIVE,3,150679619""} Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/keepalive.c | 15 ++

[ovs-dev] [PATCH v5 06/10] keepalive: Retrieve PMD status periodically.

2017-09-15 Thread Bhanuprakash Bodireddy
0332575" "pmd64"="ALIVE,2,150332575" "pmd65"="ALIVE,3,150332575" Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.c | 1 + lib/keepalive.c | 66 +++

[ovs-dev] [PATCH v5 02/10] Keepalive: Add initial keepalive support.

2017-09-15 Thread Bhanuprakash Bodireddy
K datapath and only status of PMD threads is reported. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/automake.mk| 2 + lib/keepalive.c| 145 + lib/keepalive.h

[ovs-dev] [PATCH v5 03/10] util: Add high resolution sleep support.

2017-09-15 Thread Bhanuprakash Bodireddy
This commit introduces xnanosleep() for the threads needing high resolution sleep timeouts. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/timeval.c | 2 +- lib/timeval.h | 1 + lib/util.c| 19 +++ lib/util.h| 1 + 4 files chang

[ovs-dev] [PATCH v5 08/10] keepalive: Add support to query keepalive status and statistics.

2017-09-15 Thread Bhanuprakash Bodireddy
-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/keepalive.c | 103 1 file changed, 103 insertions(+) diff --git a/lib/keepalive.c b/lib/keepalive.c index b140d21..9db1389 100644 --- a/lib/keepalive.c +++

[ovs-dev] [PATCH v5 09/10] Documentation: Update DPDK doc with Keepalive feature.

2017-09-15 Thread Bhanuprakash Bodireddy
No noticeable performance or latency impact is observed with KA feature enabled. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- Documentation/howto/dpdk.rst | 113 +++ 1 file changed, 113 insertions(+) dif

[ovs-dev] [PATCH 07/10] odp-execute: Use const qualifer for batch size.

2017-09-19 Thread Bhanuprakash Bodireddy
It is recommended to use const qualifer for 'num' that tracks the packet batch count. This way 'num' can't be modified by iterator. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/odp-execute.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff

[ovs-dev] [PATCH 06/10] netdev-bsd: Use DP_PACKET_BATCH_FOR_EACH in netdev_bsd_send.

2017-09-19 Thread Bhanuprakash Bodireddy
Use DP_PACKET_BATCH_FOR_EACH macro in netdev_bsd_send(). Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/netdev-bsd.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/netdev-bsd.c b/lib/netdev-bsd.c index 8a4cdb3..96ba71c

[ovs-dev] [PATCH 10/10] dpif-netdev: Remove 'cnt' in dp_netdev_input__().

2017-09-19 Thread Bhanuprakash Bodireddy
There is little use of 'cnt' variable in dp_netdev_input__(). Get rid of it and use dp_packet_batch_size() to initialize PKT_ARRAY_SIZE. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)

[ovs-dev] [PATCH 02/10] netdev-linux: Use DP_PACKET_BATCH_FOR_EACH in netdev_linux_tap_batch_send.

2017-09-19 Thread Bhanuprakash Bodireddy
Use DP_PACKET_BATCH_FOR_EACH macro in netdev_linux_tap_batch_send(). Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/netdev-linux.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c index a

[ovs-dev] [PATCH 01/10] netdev-linux: Clean up netdev_linux_sock_batch_send().

2017-09-19 Thread Bhanuprakash Bodireddy
Use DP_PACKET_BATCH_FOR_EACH macro and dp_packet_batch_size() API in netdev_linux_sock_batch_send(). No change in functionality. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/netdev-linux.c | 13 +++-- 1 file changed, 7 insertions(+), 6 del

[ovs-dev] [PATCH 00/10] Use DP_PACKET_BATCH_FOR_EACH macro.

2017-09-19 Thread Bhanuprakash Bodireddy
is a simple and straightforward set of changes aimed at using DP_PACKET_BATCH_FOR_EACH macro at all appropriate places. Also minor code cleanup is done to improve readability of the code. No functionality changes and no performance impact with this series. Bhanuprakash Bodireddy (10): netdev

[ovs-dev] [PATCH 05/10] netdev-dpdk: Use DP_PACKET_BATCH_FOR_EACH in netdev_dpdk_ring_send

2017-09-19 Thread Bhanuprakash Bodireddy
Use DP_PACKET_BATCH_FOR_EACH macro in netdev_dpdk_ring_send(). Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/netdev-dpdk.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index 4e75bf1..3

[ovs-dev] [PATCH 09/10] dpif-netdev: Use DP_PACKET_BATCH_FOR_EACH in fast_path_processing.

2017-09-19 Thread Bhanuprakash Bodireddy
Use DP_PACKET_BATCH_FOR_EACH macro in fast_path_processing(). Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.c | 15 +++ 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 5

[ovs-dev] [PATCH 08/10] dpif-netdev: Use DP_PACKET_BATCH_FOR_EACH in dp_netdev_run_meter.

2017-09-19 Thread Bhanuprakash Bodireddy
Use DP_PACKET_BATCH_FOR_EACH macro in dp_netdev_run_meter(). Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.c | 15 +++ 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index c

[ovs-dev] [PATCH 04/10] netdev-dpdk: Minor cleanup of netdev_dpdk_send__.

2017-09-19 Thread Bhanuprakash Bodireddy
'tx_cnt' packets gets transmitted on the respective 'qid'. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/netdev-dpdk.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index 2078c94..4e75bf1

[ovs-dev] [PATCH 03/10] netdev-dpdk: Cleanup dpdk_do_tx_copy.

2017-09-19 Thread Bhanuprakash Bodireddy
Clean up dpdk_do_tx_copy() Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/netdev-dpdk.c | 22 ++ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index 648d719..2078c94 100644 ---

[ovs-dev] [PATCH v2 12/12] dpif-netdev: Fix comments for pmd_load_cached_ports.

2017-09-20 Thread Bhanuprakash Bodireddy
Commit 57eebbb4c315 replaces thread local 'pmd->port_cache' with 'pmd->tnl_port_cache' and 'pmd->send_port_cache' maps. Update the comments accordingly. Fixes: 57eebbb4c315 ("Don't try to output on a device without txqs") Signed-off-by: Bhanuprakash Bodireddy <bhanupraka

[ovs-dev] [PATCH v2 09/12] netdev-dpdk: Minor cleanup of netdev_dpdk_send__.

2017-09-20 Thread Bhanuprakash Bodireddy
'tx_cnt' packets gets transmitted on the respective 'qid'. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/netdev-dpdk.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index 60887e5..3ff79c1

[ovs-dev] [PATCH v2 11/12] dpif-netdev: Remove 'cnt' in dp_netdev_input__().

2017-09-20 Thread Bhanuprakash Bodireddy
There is little use of 'cnt' variable in dp_netdev_input__(). Get rid of it and use dp_packet_batch_size() to initialize PKT_ARRAY_SIZE. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)

[ovs-dev] [PATCH v2 10/12] odp-execute: Use const qualifer for batch size.

2017-09-20 Thread Bhanuprakash Bodireddy
It is recommended to use const qualifer for 'num' that tracks the packet batch count. This way 'num' can't be modified by iterator. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/odp-execute.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff

[ovs-dev] [PATCH v2 00/12] Use packet batch macro and APIs.

2017-09-20 Thread Bhanuprakash Bodireddy
5 patches - Code Cleanup 1 patch - Fix comment. Bhanuprakash Bodireddy (12): conntrack: Use DP_PACKET_BATCH_FOR_EACH macro. netdev-linux: Use DP_PACKET_BATCH_FOR_EACH in netdev_linux_tap_batch_send. netdev-dpdk: Use DP_PACKET_BATCH_FOR_EACH in netdev_dpdk_ring_send netdev-bsd:

[ovs-dev] [PATCH v2 02/12] netdev-linux: Use DP_PACKET_BATCH_FOR_EACH in netdev_linux_tap_batch_send.

2017-09-20 Thread Bhanuprakash Bodireddy
Use DP_PACKET_BATCH_FOR_EACH macro in netdev_linux_tap_batch_send(). Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/netdev-linux.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c index 2

[ovs-dev] [PATCH v2 03/12] netdev-dpdk: Use DP_PACKET_BATCH_FOR_EACH in netdev_dpdk_ring_send

2017-09-20 Thread Bhanuprakash Bodireddy
Use DP_PACKET_BATCH_FOR_EACH macro in netdev_dpdk_ring_send(). Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/netdev-dpdk.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index 648d719..6

[ovs-dev] [PATCH v2 04/12] netdev-bsd: Use DP_PACKET_BATCH_FOR_EACH in netdev_bsd_send.

2017-09-20 Thread Bhanuprakash Bodireddy
Use DP_PACKET_BATCH_FOR_EACH macro in netdev_bsd_send(). Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/netdev-bsd.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/netdev-bsd.c b/lib/netdev-bsd.c index 8a4cdb3..96ba71c

[ovs-dev] [PATCH v2 01/12] conntrack: Use DP_PACKET_BATCH_FOR_EACH macro.

2017-09-20 Thread Bhanuprakash Bodireddy
Use DP_PACKET_BATCH_FOR_EACH macro in conntrack_execute(). Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/conntrack.c | 13 ++--- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/conntrack.c b/lib/conntrack.c index 419cb1d..0

[ovs-dev] [PATCH v2 05/12] dpif-netdev: Use DP_PACKET_BATCH_FOR_EACH in dp_netdev_run_meter.

2017-09-20 Thread Bhanuprakash Bodireddy
Use DP_PACKET_BATCH_FOR_EACH macro in dp_netdev_run_meter(). Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/dpif-netdev.c | 15 +++ 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index c

[ovs-dev] [PATCH v2 08/12] netdev-dpdk: Cleanup dpdk_do_tx_copy.

2017-09-20 Thread Bhanuprakash Bodireddy
Cleanup dpdk_do_tx_copy(). Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/netdev-dpdk.c | 22 ++ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index 60ec528..60887e5 100644 ---

[ovs-dev] [PATCH 07/13] netdev-provider: Reorder elements in netdev structure.

2017-09-08 Thread Bhanuprakash Bodireddy
By reordering elements in netdev structure, holes can be removed. Before: structure size: 88, sum holes: 10, cachelines:2 After : structure size: 80, sum holes: 2, cachelines:2 Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> --- lib/netdev-provider.

[ovs-dev] [PATCH 05/13] netdev: Reorder elements in netdev_tunnel_config structure.

2017-09-08 Thread Bhanuprakash Bodireddy
By reordering elements in netdev_tunnel_config structure, sum holes and pad bytes can be reduced. Before: structure size: 96, sum holes: 17, pad bytes: 4, cachelines:2 After : structure size: 80, sum holes: 5, pad bytes: 0, cachelines:2 Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bod

<    1   2   3   >