SR-IOV port binding

Registered by Bin Zhou on 2017-08-03

OpenStack Zun team is investigating the implementation gaps to support SR-IOV [1]. It looks like a promising approach to introduce a new SR-IOV port driver at kuryr-libnetwork. By doing this, the whole solution will built on existing Neutron SR-IOV networking support with minimum modification for both Kuryr and Zun implementations.
Below are the change scope of this proposal:
Implement a new sriov_port_driver at kuryr_libnetwork.

   The sriov_port_driver implements the abstract function create_host_iface().
   The function allocates an SR-IOV VF on the host for the specified neutron
   port (e.g. pass-in parameter). Then the port is bound to the corresponding
   network subsystem.

   The sriov_port_driver should also implement delete_host_iface(). The
   function de-allocates the SR-IOV VF and adds it back to the available VF
   pool.

   The sriov_port_driver also implements get_container_iface_name(). This
   function should return the name of the VF instance.

   Once a SR-IOV network port is available, Docker will call kuryr-libnetwork
   API to bind the neutron port to a network interface attached to the
   container. The name of the allocated VF instance will be passed to
   Docker. The VF interface name representing the actual OS level VF
   interface that should be moved by LibNetwork into the sandbox.

[1] https://review.openstack.org/#/c/484496/

Blueprint information

Status:
Started
Approver:
Antoni Segura Puimedon
Priority:
Undefined
Drafter:
Bin Zhou
Direction:
Needs approval
Assignee:
hongbin
Definition:
New
Series goal:
None
Implementation:
Needs Code Review
Milestone target:
None
Started by
hongbin on 2017-11-30

Related branches

Sprints

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.