Lines Matching full:be
19 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
30 * to be used by network frontends such as virtio-net and e1000.
71 #define NET_BE_SIZE(be) (sizeof(*be) + (be)->priv_size) argument
74 tap_cleanup(struct net_backend *be) in tap_cleanup() argument
76 struct tap_priv *priv = NET_BE_PRIV(be); in tap_cleanup()
81 if (be->fd != -1) { in tap_cleanup()
82 close(be->fd); in tap_cleanup()
83 be->fd = -1; in tap_cleanup()
88 tap_init(struct net_backend *be, const char *devname, in tap_init() argument
91 struct tap_priv *priv = NET_BE_PRIV(be); in tap_init()
107 be->fd = open(tbuf, O_RDWR); in tap_init()
108 if (be->fd == -1) { in tap_init()
117 if (ioctl(be->fd, FIONBIO, &opt) < 0) { in tap_init()
122 if (ioctl(be->fd, VMIO_SIOCSIFFLAGS, up)) { in tap_init()
129 if (caph_rights_limit(be->fd, &rights) == -1) in tap_init()
136 priv->mevp = mevent_add_disabled(be->fd, EVF_READ, cb, param); in tap_init()
145 tap_cleanup(be); in tap_init()
153 tap_send(struct net_backend *be, const struct iovec *iov, int iovcnt) in tap_send() argument
155 return (writev(be->fd, iov, iovcnt)); in tap_send()
159 tap_peek_recvlen(struct net_backend *be) in tap_peek_recvlen() argument
161 struct tap_priv *priv = NET_BE_PRIV(be); in tap_peek_recvlen()
177 ret = read(be->fd, priv->bbuf, sizeof(priv->bbuf)); in tap_peek_recvlen()
189 tap_recv(struct net_backend *be, const struct iovec *iov, int iovcnt) in tap_recv() argument
191 struct tap_priv *priv = NET_BE_PRIV(be); in tap_recv()
208 ret = readv(be->fd, iov, iovcnt); in tap_recv()
217 tap_recv_enable(struct net_backend *be) in tap_recv_enable() argument
219 struct tap_priv *priv = NET_BE_PRIV(be); in tap_recv_enable()
225 tap_recv_disable(struct net_backend *be) in tap_recv_disable() argument
227 struct tap_priv *priv = NET_BE_PRIV(be); in tap_recv_disable()
233 tap_get_cap(struct net_backend *be __unused) in tap_get_cap()
240 tap_set_cap(struct net_backend *be __unused, uint64_t features, in tap_set_cap()
301 * @ret is a pointer to the backend to be initialized
379 netbe_cleanup(struct net_backend *be) in netbe_cleanup() argument
382 if (be != NULL) { in netbe_cleanup()
383 be->cleanup(be); in netbe_cleanup()
384 free(be); in netbe_cleanup()
389 netbe_get_cap(struct net_backend *be) in netbe_get_cap() argument
392 assert(be != NULL); in netbe_get_cap()
393 return (be->get_cap(be)); in netbe_get_cap()
397 netbe_set_cap(struct net_backend *be, uint64_t features, in netbe_set_cap() argument
402 assert(be != NULL); in netbe_set_cap()
409 be->fe_vnet_hdr_len = vnet_hdr_len; in netbe_set_cap()
411 ret = be->set_cap(be, features, vnet_hdr_len); in netbe_set_cap()
412 assert(be->be_vnet_hdr_len == 0 || in netbe_set_cap()
413 be->be_vnet_hdr_len == be->fe_vnet_hdr_len); in netbe_set_cap()
419 netbe_send(struct net_backend *be, const struct iovec *iov, int iovcnt) in netbe_send() argument
422 return (be->send(be, iov, iovcnt)); in netbe_send()
426 netbe_peek_recvlen(struct net_backend *be) in netbe_peek_recvlen() argument
429 return (be->peek_recvlen(be)); in netbe_peek_recvlen()
438 netbe_recv(struct net_backend *be, const struct iovec *iov, int iovcnt) in netbe_recv() argument
441 return (be->recv(be, iov, iovcnt)); in netbe_recv()
450 netbe_rx_discard(struct net_backend *be) in netbe_rx_discard() argument
454 * so there is no need for it to be per-vtnet or locked. in netbe_rx_discard()
463 return netbe_recv(be, &iov, 1); in netbe_rx_discard()
467 netbe_rx_disable(struct net_backend *be) in netbe_rx_disable() argument
470 return be->recv_disable(be); in netbe_rx_disable()
474 netbe_rx_enable(struct net_backend *be) in netbe_rx_enable() argument
477 return be->recv_enable(be); in netbe_rx_enable()
481 netbe_get_vnet_hdr_len(struct net_backend *be) in netbe_get_vnet_hdr_len() argument
484 return (be->be_vnet_hdr_len); in netbe_get_vnet_hdr_len()