Changeset View
Changeset View
Standalone View
Standalone View
usr.sbin/bhyve/net_backends.h
Show All 37 Lines | |||||
/* Interface between network frontends and the network backends. */ | /* Interface between network frontends and the network backends. */ | ||||
typedef void (*net_be_rxeof_t)(int, enum ev_type, void *param); | typedef void (*net_be_rxeof_t)(int, enum ev_type, void *param); | ||||
int netbe_init(net_backend_t **be, const char *devname, net_be_rxeof_t cb, | int netbe_init(net_backend_t **be, const char *devname, net_be_rxeof_t cb, | ||||
void *param); | void *param); | ||||
void netbe_cleanup(net_backend_t *be); | void netbe_cleanup(net_backend_t *be); | ||||
uint64_t netbe_get_cap(net_backend_t *be); | uint64_t netbe_get_cap(net_backend_t *be); | ||||
int netbe_set_cap(net_backend_t *be, uint64_t cap, | int netbe_set_cap(net_backend_t *be, uint64_t cap, | ||||
unsigned vnet_hdr_len); | unsigned vnet_hdr_len); | ||||
ssize_t netbe_send(net_backend_t *be, struct iovec *iov, int iovcnt); | size_t netbe_get_vnet_hdr_len(net_backend_t *be); | ||||
ssize_t netbe_recv(net_backend_t *be, struct iovec *iov, int iovcnt); | ssize_t netbe_send(net_backend_t *be, const struct iovec *iov, int iovcnt); | ||||
ssize_t netbe_recv(net_backend_t *be, const struct iovec *iov, int iovcnt); | |||||
ssize_t netbe_rx_discard(net_backend_t *be); | ssize_t netbe_rx_discard(net_backend_t *be); | ||||
void netbe_rx_disable(net_backend_t *be); | void netbe_rx_disable(net_backend_t *be); | ||||
void netbe_rx_enable(net_backend_t *be); | void netbe_rx_enable(net_backend_t *be); | ||||
/* | /* | ||||
* Network device capabilities taken from the VirtIO standard. | * Network device capabilities taken from the VirtIO standard. | ||||
* Despite the name, these capabilities can be used by different frontents | * Despite the name, these capabilities can be used by different frontents | ||||
Show All 36 Lines |