mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-29 00:55:22 +00:00
e4c29e2904
There are two types of vhostuser ports: dpdkvhostuser - OVS creates the socket and QEMU connects to it dpdkvhostuserclient - QEMU creates the socket and OVS connects to it But of course ovs-vsctl syntax for fetching ifname is different. So far, we've implemented the former. The lack of implementation for the latter means that we are not detecting the interface name and thus not reporting it in domain XML, or failing to get interface statistics. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1767013 Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
71 lines
2.9 KiB
C
71 lines
2.9 KiB
C
/*
|
|
* Copyright (C) 2013 Red Hat, Inc.
|
|
* Copyright (C) 2012 Nicira, Inc.
|
|
* Copyright (C) 2017 IBM Corporation
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library. If not, see
|
|
* <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "internal.h"
|
|
#include "virnetdevvportprofile.h"
|
|
#include "virnetdevvlan.h"
|
|
|
|
#define VIR_NETDEV_OVS_DEFAULT_TIMEOUT 5
|
|
|
|
void virNetDevOpenvswitchSetTimeout(unsigned int timeout);
|
|
|
|
int virNetDevOpenvswitchAddPort(const char *brname,
|
|
const char *ifname,
|
|
const virMacAddr *macaddr,
|
|
const unsigned char *vmuuid,
|
|
const virNetDevVPortProfile *ovsport,
|
|
const virNetDevVlan *virtVlan)
|
|
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3)
|
|
G_GNUC_WARN_UNUSED_RESULT;
|
|
|
|
int virNetDevOpenvswitchRemovePort(const char *brname, const char *ifname)
|
|
ATTRIBUTE_NONNULL(2) G_GNUC_WARN_UNUSED_RESULT;
|
|
|
|
int virNetDevOpenvswitchInterfaceGetMaster(const char *ifname, char **master)
|
|
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) G_GNUC_WARN_UNUSED_RESULT;
|
|
|
|
int virNetDevOpenvswitchGetMigrateData(char **migrate, const char *ifname)
|
|
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) G_GNUC_WARN_UNUSED_RESULT;
|
|
|
|
int virNetDevOpenvswitchSetMigrateData(char *migrate, const char *ifname)
|
|
ATTRIBUTE_NONNULL(2) G_GNUC_WARN_UNUSED_RESULT;
|
|
|
|
int virNetDevOpenvswitchInterfaceParseStats(const char *json,
|
|
virDomainInterfaceStatsPtr stats)
|
|
ATTRIBUTE_NONNULL(1) G_GNUC_WARN_UNUSED_RESULT;
|
|
|
|
int virNetDevOpenvswitchInterfaceStats(const char *ifname,
|
|
virDomainInterfaceStatsPtr stats)
|
|
ATTRIBUTE_NONNULL(1) G_GNUC_WARN_UNUSED_RESULT;
|
|
|
|
int virNetDevOpenvswitchInterfaceGetMaster(const char *ifname, char **master)
|
|
ATTRIBUTE_NONNULL(1) G_GNUC_WARN_UNUSED_RESULT;
|
|
|
|
int virNetDevOpenvswitchGetVhostuserIfname(const char *path,
|
|
bool server,
|
|
char **ifname)
|
|
ATTRIBUTE_NONNULL(2) G_GNUC_WARN_UNUSED_RESULT G_GNUC_NO_INLINE;
|
|
|
|
int virNetDevOpenvswitchUpdateVlan(const char *ifname,
|
|
const virNetDevVlan *virtVlan)
|
|
ATTRIBUTE_NONNULL(1) G_GNUC_WARN_UNUSED_RESULT;
|