[Hyper-V] Include bondvf in /usr/sbin for SR-IOV interface bonding

Bug #1667531 reported by Joshua R. Poulson
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Won't Fix
Medium
Joseph Salisbury
Xenial
Won't Fix
Medium
Joseph Salisbury
Yakkety
Won't Fix
Medium
Joseph Salisbury

Bug Description

Please include bondvf.sh from kernel git tools/hv/ in /usr/sbin

commit fd7aabb062fa1a8331a786d617744de220eaf002
Author: Haiyang Zhang <email address hidden>
Date: Fri Dec 2 15:55:38 2016 -0800

    tools: hv: Enable network manager for bonding scripts on RHEL

    We found network manager is necessary on RHEL to make the synthetic
    NIC, VF NIC bonding operations handled automatically. So, enabling
    network manager here.

    Signed-off-by: Haiyang Zhang <email address hidden>
    Reviewed-by: K. Y. Srinivasan <email address hidden>
    Signed-off-by: David S. Miller <email address hidden>

commit 178cd55f086629cf0bad9c66c793a7e2bcc3abb6
Author: Haiyang Zhang <email address hidden>
Date: Mon Jul 11 17:06:42 2016 -0700

    tools: hv: Add a script to help bonding synthetic and VF NICs

    This script helps to create bonding network devices based on synthetic NIC
    (the virtual network adapter usually provided by Hyper-V) and the matching
    VF NIC (SRIOV virtual function). So the synthetic NIC and VF NIC can
    function as one network device, and fail over to the synthetic NIC if VF is
    down.

    Mayjor distros (RHEL, Ubuntu, SLES) supported by Hyper-V are supported by
    this script.

    Signed-off-by: Haiyang Zhang <email address hidden>
    Reviewed-by: K. Y. Srinivasan <email address hidden>
    Signed-off-by: David S. Miller <email address hidden>

Joshua R. Poulson (jrp)
Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Is this only needed in Xenial or other releases as well?

Changed in linux (Ubuntu):
importance: Undecided → Medium
tags: added: kernel-da-key kernel-hyper-v
Changed in linux (Ubuntu Xenial):
status: New → Triaged
Changed in linux (Ubuntu):
status: Confirmed → Triaged
Changed in linux (Ubuntu Xenial):
importance: Undecided → Medium
Changed in linux (Ubuntu):
assignee: nobody → Joseph Salisbury (jsalisbury)
Changed in linux (Ubuntu Xenial):
assignee: nobody → Joseph Salisbury (jsalisbury)
Revision history for this message
Joshua R. Poulson (jrp) wrote :

lts-xenial, HWE, and Azure custom.

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Thanks for the update. It looks like Yakkety might need commit fd7aabb062f, since it already has 178cd55f08. Zesty has both commits already.

I'll post a test kernel shortly.

Changed in linux (Ubuntu Yakkety):
importance: Undecided → Medium
status: New → Triaged
assignee: nobody → Joseph Salisbury (jsalisbury)
status: Triaged → In Progress
Changed in linux (Ubuntu Xenial):
status: Triaged → In Progress
Changed in linux (Ubuntu):
status: Triaged → In Progress
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

I built a test kernel with commit fd7aabb062. It can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1667531/xenial/

Revision history for this message
Haiyang Zhang (haiyangz) wrote :

Please include this pending patch:
    http://patchwork.ozlabs.org/patch/732222/

[net-next] tools: hv: Add clean up function for Ubuntu config
This patch adds a function to clean up duplicate config info
on Ubuntu.

Signed-off-by: Haiyang Zhang <email address hidden>
---
 tools/hv/bondvf.sh | 18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

Revision history for this message
Simon Xiao (sixiao) wrote :

Could you please build the test kernel based on this one:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1667527
http://kernel.ubuntu.com/~jsalisbury/lp1667527/xenial/

Thus, we will have a test kernel with all the patches and it would be the test kernel for the full SR-IOV tests.

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

I built a test kernel with the patch from this bug(Commit fd7aabb) , the patch from bug 1667527 (Commit 4a9b0933) and the patch posted in comment #5.

The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1667531/SR-IOV/

Revision history for this message
Simon Xiao (sixiao) wrote :

The test kernel in comment #7 will crash the kernel.

Please apply the patches mentioned in this bug to below test kernel which is verified as pass:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1667527
http://kernel.ubuntu.com/~jsalisbury/lp1667527/Commit4a9b0933bdfOnBug1667007Tree/

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

I built the requested test kernel. It can be downloaded from:

http://kernel.ubuntu.com/~jsalisbury/lp1667531

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

This V3 test kernel was built using the same tree as in bug 1667527, but it also had the two patches requested in this bug.

Revision history for this message
Simon Xiao (sixiao) wrote :

1) The bondvf.sh is not put into /usr/sbin as requested by the bug title.
Instead, it is only available at /usr/src/linux-headers-4.4.0-65/tools/hv

2) Can you please build the full source code package and share it? The current source package is almost empty:
linux-source-4.4.0_4.4.0-65.86~lp1667531v3_all.deb 2017-02-28 18:14 244K

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

How is the bondvf.sh script consumed?

We would want to add that to the tools packages but what to call it etc depends on how it is consumed.

I'll re-build a source package for you and post it momentarily.

Revision history for this message
Simon Xiao (sixiao) wrote :

bondvf.sh is used by Linux VM on HyperV to bond netvsc interface (for example eth0) with VF interface (for example, enP1p0s2) and show as a bond interface (for example, bond0).
This is a one time setup work when a new VM come up.

For the source code package of this V3 test kernel, yes, please post it once it is ready.

Thanks!

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

I rebuilt the source .deb package for the v3 kernel. It can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1667531

We should have an update regarding the move of the bondvf.sh script shortly.

no longer affects: linux (Ubuntu Yakkety)
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

I built a Xenial test kernel with all the patches from the following bugs:

bug 1670518
  PCI: hv: Allocate physically contiguous hypercall params buffer
  PCI: hv: Make unnecessarily global IRQ masking functions static
  PCI: hv: Delete the device earlier from hbus->children for hot-remove
  PCI: hv: Fix hv_pci_remove() for hot-remove

bug 1672785
  net/mlx4_core: Avoid delays during VF driver device shutdown

bug 1667531
  tools: hv: Enable network manager for bonding scripts on RH
  [net-next] tools: hv: Add clean up function for Ubuntu config
  bcc5a76 tools: hv: Add a script to help bonding synthetic and VF NICs

bug 1667527
 4a9b0933bdfc PCI: hv: Use device serial number as PCI domain

bug 1667007
 d3de209 net/mlx4_core: Use cq quota in SRIOV when creating completion EQs

bug 1650058
 14c84da90b0d net/mlx4_en: Fix bad WQE issue
 c46100f413ca net/mlx4_core: Fix racy CQ (Completion Queue) free
 f4f73e2e6308 net/mlx4_core: Fix when to save some qp context flags for dynamic VST to VGT transitions
 3c05ac20fe6e net/mlx4_core: Avoid command timeouts during VF driver device shutdown

The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/HyperVCombined/

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Were you able to test for this specific bug using the combined test
kernel posted in comment #15? A SRU request will be submitted once
testing is verified.

Changed in linux (Ubuntu Yakkety):
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Joseph Salisbury (jsalisbury)
Revision history for this message
Joshua R. Poulson (jrp) wrote :

We did test this specific scenario in our combined testing. We are telling preview customers to download this script manually right now and I'm being asked for an ETA for when this will start appearing on images.

Brad Figg (brad-figg)
Changed in linux (Ubuntu Yakkety):
status: In Progress → Won't Fix
Changed in linux (Ubuntu Xenial):
status: In Progress → Won't Fix
Changed in linux (Ubuntu):
status: In Progress → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.