[DPDK]MetaSwitch Perimeta VOIP VNF fails in 3.2.8.0 with mergeable buffer enabled

Bug #1746578 reported by Ning Zhong on 2018-01-31
32
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R3.2
Fix Committed
High
Jeya ganesh babu J
R4.0
Fix Committed
High
Jeya ganesh babu J
R4.1
Fix Committed
High
Jeya ganesh babu J
Trunk
Fix Committed
High
Jeya ganesh babu J

Bug Description

Contrail version seeing this issue: 3.2.8.0-66.

MetaSwitch Perimeta VOIP VNF fails to send traffic to vRouter in DPDK mode when the “Mergeable buffer” is turned on/introduced in 3.2.8.0. Previous releases work fine due to no support of Mergeable buffer feature.

The Perimeta VNF does not have any features it uses for QEMU 2.5 to pass to the vRouter (see guest features below). When the vRouter restarts, Perimeta sends 0x0 code to the vRouter, but we are expecting anything other than 0x0. 0x0 is specifically used to handle a qemu reconnect case when the dpdk vrouter application is restarted.

Juniper BU said we didn’t expect VNF’s NOT to use any features and hence we turned mergeable buffer on. Action Item on Juniper BU(Raja) to research is if there is any way to unblock them since upgrading Perimeta code which supports Mergeable buffer will derail their timelines and expense on ECOMP.

There are apparently other VOIP VNF’s which are also going to be affected….not yet sure which ones.

#define VIRTIO_PMD_DEFAULT_GUEST_FEATURES \
        (1u << VIRTIO_NET_F_MAC | \
         1u << VIRTIO_NET_F_STATUS | \
         1u << VIRTIO_NET_F_MQ | \
         1u << VIRTIO_NET_F_CTRL_MAC_ADDR | \
         1u << VIRTIO_NET_F_CTRL_VQ | \
         1u << VIRTIO_NET_F_CTRL_RX | \
         1u << VIRTIO_NET_F_CTRL_VLAN | \
         1u << VIRTIO_NET_F_CSUM | \
         1u << VIRTIO_NET_F_HOST_TSO4 | \
         1u << VIRTIO_NET_F_HOST_TSO6 | \
         1u << VIRTIO_NET_F_MRG_RXBUF | \
         1u << VIRTIO_NET_F_MTU | \
         1u << VIRTIO_RING_F_INDIRECT_DESC | \
         1ULL << VIRTIO_F_VERSION_1 | \
         1ULL << VIRTIO_F_IOMMU_PLATFORM)

Jeba Paulaiyan (jebap) on 2018-02-06
tags: added: blocker
Jeba Paulaiyan (jebap) on 2018-02-13
tags: removed: blocker

Review in progress for https://review.opencontrail.org/39831
Submitter: Jeya ganesh babu (<email address hidden>)

OpenContrail Admin (ci-admin-f) wrote :

Review in progress for https://review.opencontrail.org/39832
Submitter: Jeya ganesh babu (<email address hidden>)

Reviewed: https://review.opencontrail.org/39832
Committed: http://github.com/Juniper/contrail-vrouter/commit/123b224cbdefb8f7fa27028ba13f535825de1f4f
Submitter: Zuul (<email address hidden>)
Branch: R3.2

commit 123b224cbdefb8f7fa27028ba13f535825de1f4f
Author: Jeya ganesh babu J <email address hidden>
Date: Thu Feb 15 23:24:59 2018 -0800

Qemu feature set negotiation

Partial-bug: #1746578
Fix done in qemu. Reverting the workaround done in
dpdk vrouter.

Change-Id: I5c4e0a7c164818dde44829a070338cc3f87a0d6e

OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/39831
Committed: http://github.com/Juniper/contrail-packaging/commit/9cf2f9f9423d654d552936dc747e014f7cc5157d
Submitter: Zuul (<email address hidden>)
Branch: R3.2

commit 9cf2f9f9423d654d552936dc747e014f7cc5157d
Author: Jeya ganesh babu J <email address hidden>
Date: Thu Feb 15 23:21:38 2018 -0800

Qemu feature set negotiation

Partial-bug: #1746578
After a vhost userspace process restarts, the qemu
reinitalizes the feature set to 0 instead of using the
negotiated feature set. Fix done in qemu to use the
negotiated feature set after the vhostuser process
restarts.

Change-Id: I00f04a24fd52a5c946fe61605ba10289bd70cce3

Review in progress for https://review.opencontrail.org/41159
Submitter: Jeya ganesh babu (<email address hidden>)

Reviewed: https://review.opencontrail.org/41159
Committed: http://github.com/Juniper/contrail-vrouter/commit/9800537bfa0b608f30f7275e4362cbf2bab9704e
Submitter: Zuul v3 CI (<email address hidden>)
Branch: master

commit 9800537bfa0b608f30f7275e4362cbf2bab9704e
Author: Jeya ganesh babu J <email address hidden>
Date: Wed Mar 28 16:05:03 2018 -0700

Feature set negotiation

Closes-bug: #1746578
Fixed the feature negotiation issue by storing
the feature in persistent store and load when
VM comes up.

Change-Id: I3f41079264f040e1b57a146eda7711b171e302ac

Review in progress for https://review.opencontrail.org/42919
Submitter: Jeya ganesh babu (<email address hidden>)

Review in progress for https://review.opencontrail.org/42920
Submitter: Jeya ganesh babu (<email address hidden>)

Review in progress for https://review.opencontrail.org/43198
Submitter: Jeya ganesh babu (<email address hidden>)

Reviewed: https://review.opencontrail.org/43198
Committed: http://github.com/Juniper/contrail-vrouter/commit/caedab4c8e712e46d5e743d978cb737219d56370
Submitter: Zuul (<email address hidden>)
Branch: R3.2

commit caedab4c8e712e46d5e743d978cb737219d56370
Author: Jeya ganesh babu J <email address hidden>
Date: Mon May 21 17:38:50 2018 -0700

Feature set negotiation

Closes-bug: #1746578
Fixed the feature negotiation issue by storing
the feature in persistent store and load when
VM comes up.

Change-Id: I96fced4a93e523f89461fa2cc9a21ecc2daa4e79

Reviewed: https://review.opencontrail.org/42920
Committed: http://github.com/Juniper/contrail-vrouter/commit/ac67e3601ab72a070eac8668af9d47423e443f5d
Submitter: Zuul (<email address hidden>)
Branch: R4.0

commit ac67e3601ab72a070eac8668af9d47423e443f5d
Author: Jeya ganesh babu J <email address hidden>
Date: Wed Mar 28 16:05:03 2018 -0700

Feature set negotiation

Closes-bug: #1746578
Fixed the feature negotiation issue by storing
the feature in persistent store and load when
VM comes up.

Change-Id: I3f41079264f040e1b57a146eda7711b171e302ac
(cherry picked from commit 9800537bfa0b608f30f7275e4362cbf2bab9704e)

Reviewed: https://review.opencontrail.org/42919
Committed: http://github.com/Juniper/contrail-vrouter/commit/f442753cc93c4bafcb37d0511861a58b390d14ae
Submitter: Zuul (<email address hidden>)
Branch: R4.1

commit f442753cc93c4bafcb37d0511861a58b390d14ae
Author: Jeya ganesh babu J <email address hidden>
Date: Wed Mar 28 16:05:03 2018 -0700

Feature set negotiation

Closes-bug: #1746578
Fixed the feature negotiation issue by storing
the feature in persistent store and load when
VM comes up.

Change-Id: I3f41079264f040e1b57a146eda7711b171e302ac
(cherry picked from commit 9800537bfa0b608f30f7275e4362cbf2bab9704e)

Ning Zhong (nzhong) on 2018-07-12
information type: Private → Public
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers