openvswitch is used by cloud infrastructure (e.g. OpenStack) and software defined networking stacks, often in conjunction with KVM and Xen compute resources. When creating workloads on KVM compute resources, orchestration services can specify the openvswitch interfaceid and port-profile of the workload's virtual interface(s). E.g. orchestration can create workload configuration containing

<interface type='bridge'> <source bridge='ovsbr'/> <virtualport type='openvswitch'> <parameters profileid='menial' interfaceid='09b11c53-8b5c-4eeb-8f00-d84eaa0aaa4f'/> </virtualport> </interface>

libvirt will connect this virtual interface to an openvswitch bridge named 'ovsbr', which is uniquely identified with openvswitch via interfaceid. Additionally, the 'menial' port profile will be sent to openvswitch as the interface's "port-profile".

Xen, libvirt, and openvswitch do not enjoy the same level of integration. This project aims to improve the integration, allowing orchestration services to use Xen compute resources similar to KVM.

Looking for hackers with the skills:

virtualization openvswitch c

This project is part of:

Hack Week 14

Activity

  • over 5 years ago: tdig liked this project.
  • over 5 years ago: zzhou liked this project.
  • over 5 years ago: xbem joined this project.
  • over 5 years ago: jfehlig added keyword "c" to this project.
  • over 5 years ago: jfehlig added keyword "virtualization" to this project.
  • over 5 years ago: jfehlig added keyword "openvswitch" to this project.
  • over 5 years ago: jfehlig joined this project.
  • over 5 years ago: mlatimer started this project.
  • over 5 years ago: mlatimer liked this project.
  • over 5 years ago: jfehlig originated this project.

  • Comments

    • jfehlig
      over 5 years ago by jfehlig | Reply

      My hackweek had several interruptions, including and L3 bug, SLE12 SP2 beta4 preparations, and a bad crash on my bike! But nonetheless, I was able to get libvirt+Xen+openvswitch working well together, including support for VLAN tags and trunking. An example of a trunking interface could be

      <interface type='bridge'>
        <vlan>
          <tag id='42'/>
          <tag id='43'/>
        </vlan>
        <source bridge='ovsbr0'/>
        <mac address='00:16:3e:7a:35:ce'/>
        <virtualport type='openvswitch'/>
        <model type='netfront'/>
      </interface>
      

    • jfehlig
      over 5 years ago by jfehlig | Reply

      To expand a bit more on the above, starting a VM with such config will add the vif to an openvswitch port and configure the port with ovs-vsctl. E.g. after starting the VM

      ovs-vsctl show<br> 406871f3-2fb6-45a7-8fcd-30f1f714ffe1<br> Bridge "ovsbr0"<br> Port "eth1"<br> Interface "eth1"<br> Port "vif6.0"<br> trunks: [42, 43]<br> Interface "vif6.0"<br> Port "ovsbr0"<br> Interface "ovsbr0"<br> type: internal<br> ovs_version: "2.5.0"<br>

    Similar Projects

    multipath-tools: improve CI by mwilck

    Project Description

    multipath-tools is ...


    NeoMutt: Show index and body of emails in a horizontal split by iivanov

    [comment]: # (Please use the project descriptio...


    multithreaded network benchmark by mkubecek

    Project Description

    There are multiple ne...


    Phoebe - where AI meets Linux by mvarlese

    Project Description

    Phoeβe (/ˈfiːbi/) wan...


    multipathd: improve asynchronous behavior by mwilck

    Project Description

    multipathd is multi...