timing issues in trunk port feature

Bug #1788848 reported by Onong Tayeng
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
networking-vpp
Fix Released
Undecided
Onong Tayeng

Bug Description

Timing issue #1
The reconsider_trunk_subports() function is invoked only once when a a new trunk port key is added to etcd and not thereafter. As a result, child ports may never be bound if there's a lag in the parent port’s bind.

Timing issue #2
A vhostuser interface's admin state is set to UP only when a VM instance has connected to the other end of the interface. So, it is possible that the parent port's vhostuser interface's state is not yet set to UP when ifup() is invoked on the child subport's vhostuser subinterface causing the ifup() to fail. As a result no data can flow on the child subport unless the interface is set UP manually in VPP.

Lastly, another side-effect of these timing issues is that trunk port artifacts in VPP are not cleaned up upon unbind of the parent port.

Onong Tayeng (onong)
Changed in networking-vpp:
assignee: nobody → Onong Tayeng (onong)
Revision history for this message
Onong Tayeng (onong) wrote :

This issue is not so much of a problem during the normal running of ML2 agent but it is definitely a problem in the restart/resync situation.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to networking-vpp (master)

Fix proposed to branch: master
Review: https://review.openstack.org/601546

Changed in networking-vpp:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to networking-vpp (master)

Reviewed: https://review.openstack.org/601546
Committed: https://git.openstack.org/cgit/openstack/networking-vpp/commit/?id=8c4400a2b565933ee7f1928a7740118fd1aa3af8
Submitter: Zuul
Branch: master

commit 8c4400a2b565933ee7f1928a7740118fd1aa3af8
Author: Onong Tayeng <email address hidden>
Date: Tue Sep 11 16:01:52 2018 +0530

    timing issues in trunk port feature

    During restart/resync, the reconsider_trunk_subports() function is
    invoked only once. As a result, child ports may never be bound if
    there's a lag in the parent port’s bind.

    A second related issue is when the parent port is bound but not 'up'
    yet then the child subport stays in the 'down' state. A side-effect of
    this issue is that trunk port artifacts in VPP are not cleaned up upon
    unbind of the parent port.

    Change-Id: I03839f36b7063b92d1420ae7a91e5841f3623018
    Closes-Bug: #1788848

Changed in networking-vpp:
status: In Progress → Fix Released
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.