mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-08-21 07:21:15 +00:00
In order to avoid cloud-hypervisor to rely on a pending PR for the empty crate "vhost", this commit temporarily copies the content of the crate based on branch jiangliu/v1 18b5081d9199c76eca49da1971c9d1a65e53e5ff. Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
31 lines
1.1 KiB
Rust
31 lines
1.1 KiB
Rust
// Copyright (C) 2019 Alibaba Cloud Computing. All rights reserved.
|
|
// SPDX-License-Identifier: Apache-2.0 or BSD-3-Clause
|
|
//
|
|
// Portions Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
//
|
|
// Portions Copyright 2017 The Chromium OS Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE-BSD file.
|
|
|
|
//! Trait to control vhost-vsock backend drivers.
|
|
|
|
use crate::backend::VhostBackend;
|
|
use crate::Result;
|
|
|
|
/// Trait to control vhost-vsock backend drivers.
|
|
pub trait VhostVsock: VhostBackend {
|
|
/// Set the CID for the guest.
|
|
/// This number is used for routing all data destined for running in the guest.
|
|
/// Each guest on a hypervisor must have an unique CID.
|
|
///
|
|
/// # Arguments
|
|
/// * `cid` - CID to assign to the guest
|
|
fn set_guest_cid(&mut self, cid: u64) -> Result<()>;
|
|
|
|
/// Tell the VHOST driver to start performing data transfer.
|
|
fn start(&mut self) -> Result<()>;
|
|
|
|
/// Tell the VHOST driver to stop performing data transfer.
|
|
fn stop(&mut self) -> Result<()>;
|
|
}
|