Lines Matching refs:mbufc

152 			 const struct mbuf *mbufc, gnttab_copy_table gnttab);
154 struct mbuf **mbufc, if_t ifnet,
163 struct mbuf *mbufc,
167 static void xnb_update_mbufc(struct mbuf *mbufc,
169 static int xnb_mbufc2pkt(const struct mbuf *mbufc,
173 const struct mbuf *mbufc,
191 static void xnb_add_mbuf_cksum(struct mbuf *mbufc);
1441 struct mbuf *mbufc; in xnb_intr() local
1444 err = xnb_recv(txb, xnb->otherend_id, &mbufc, ifp, in xnb_intr()
1446 if (err || (mbufc == NULL)) in xnb_intr()
1450 if_input(xnb->xnb_ifp, mbufc); in xnb_intr()
1698 xnb_txpkt2gnttab(const struct xnb_pkt *pkt, struct mbuf *mbufc, in xnb_txpkt2gnttab() argument
1703 struct mbuf *mbuf = mbufc;/* current mbuf within the chain */ in xnb_txpkt2gnttab()
1765 xnb_update_mbufc(struct mbuf *mbufc, const gnttab_copy_table gnttab, in xnb_update_mbufc() argument
1768 struct mbuf *mbuf = mbufc; in xnb_update_mbufc()
1783 mbufc->m_pkthdr.len = total_size; in xnb_update_mbufc()
1786 xnb_add_mbuf_cksum(mbufc); in xnb_update_mbufc()
1805 xnb_recv(netif_tx_back_ring_t *txb, domid_t otherend, struct mbuf **mbufc, in xnb_recv() argument
1813 *mbufc = NULL; in xnb_recv()
1835 *mbufc = xnb_pkt2mbufc(&pkt, ifnet); in xnb_recv()
1837 if (*mbufc == NULL) { in xnb_recv()
1849 nr_ents = xnb_txpkt2gnttab(&pkt, *mbufc, gnttab, txb, otherend); in xnb_recv()
1856 xnb_update_mbufc(*mbufc, gnttab, nr_ents); in xnb_recv()
1877 xnb_mbufc2pkt(const struct mbuf *mbufc, struct xnb_pkt *pkt, in xnb_mbufc2pkt() argument
1883 if ((mbufc == NULL) || in xnb_mbufc2pkt()
1884 ( (mbufc->m_flags & M_PKTHDR) == 0) || in xnb_mbufc2pkt()
1885 (mbufc->m_pkthdr.len == 0)) { in xnb_mbufc2pkt()
1893 pkt->size = mbufc->m_pkthdr.len; in xnb_mbufc2pkt()
1895 pkt->car_size = mbufc->m_len; in xnb_mbufc2pkt()
1897 if (mbufc->m_pkthdr.csum_flags & CSUM_TSO) { in xnb_mbufc2pkt()
1899 pkt->extra.u.gso.size = mbufc->m_pkthdr.tso_segsz; in xnb_mbufc2pkt()
1909 if (mbufc->m_pkthdr.csum_flags & (CSUM_TSO | CSUM_DELAY_DATA)) { in xnb_mbufc2pkt()
1950 xnb_rxpkt2gnttab(const struct xnb_pkt *pkt, const struct mbuf *mbufc, in xnb_rxpkt2gnttab() argument
1955 const struct mbuf *mbuf = mbufc;/* current mbuf within the chain */ in xnb_rxpkt2gnttab()
2139 xnb_add_mbuf_cksum(struct mbuf *mbufc) in xnb_add_mbuf_cksum() argument
2145 eh = mtod(mbufc, struct ether_header*); in xnb_add_mbuf_cksum()
2153 if (mbufc->m_pkthdr.csum_flags & CSUM_IP_VALID) { in xnb_add_mbuf_cksum()
2160 if (mbufc->m_pkthdr.csum_flags & CSUM_IP_VALID) { in xnb_add_mbuf_cksum()
2165 th->th_sum = in_cksum_skip(mbufc, in xnb_add_mbuf_cksum()
2171 if (mbufc->m_pkthdr.csum_flags & CSUM_IP_VALID) { in xnb_add_mbuf_cksum()
2176 uh->uh_sum = in_cksum_skip(mbufc, in xnb_add_mbuf_cksum()
2314 struct mbuf *mbufc; in xnb_start_locked() local
2331 mbufc = if_dequeue(ifp); in xnb_start_locked()
2332 if (mbufc == NULL) in xnb_start_locked()
2334 error = xnb_send(rxb, xnb->otherend_id, mbufc, in xnb_start_locked()
2343 if_sendq_prepend(ifp, mbufc); in xnb_start_locked()
2360 if (mbufc) in xnb_start_locked()
2361 m_freem(mbufc); in xnb_start_locked()
2390 xnb_send(netif_rx_back_ring_t *ring, domid_t otherend, const struct mbuf *mbufc, in xnb_send() argument
2398 error = xnb_mbufc2pkt(mbufc, &pkt, ring->rsp_prod_pvt, space); in xnb_send()
2401 n_entries = xnb_rxpkt2gnttab(&pkt, mbufc, gnttab, ring, otherend); in xnb_send()