Lines Matching refs:be

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