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

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

  • Comments

    • jfehlig
      almost 8 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
      almost 8 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

    mikrolite - a cli to create lighweight Kubernetes clusters using microvms by rcase

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


    Plan 9 filesystem support in GRUB by ptesarik

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


    Vulkan Widget for GTK by yudaike

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


    Avahi Integration and Network Connection by vojha

    Avahi Integration and Network Connection

    ...


    Extract generic testing framework from Linux Test Project code base by acervesato

    Project Description

    The Linux Test Projec...


    Extend GObject based introspectable API to libzypp by zbenjamin

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


    Deep Packet Inspection: compare the performance between libnetfilter_queue, NF_HOOK and eBPF XDP by nguyens

    Deep Packet Inspection: compare the performan...