• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/dev/xen/netback/

Lines Matching refs:mbufc

154 			 const struct mbuf *mbufc, gnttab_copy_table gnttab);
156 struct mbuf **mbufc, struct ifnet *ifnet,
165 struct mbuf *mbufc,
169 static void xnb_update_mbufc(struct mbuf *mbufc,
171 static int xnb_mbufc2pkt(const struct mbuf *mbufc,
175 const struct mbuf *mbufc,
193 static void xnb_add_mbuf_cksum(struct mbuf *mbufc);
1443 struct mbuf *mbufc;
1446 err = xnb_recv(txb, xnb->otherend_id, &mbufc, ifp,
1448 if (err || (mbufc == NULL))
1452 (*xnb->xnb_ifp->if_input)(xnb->xnb_ifp, mbufc);
1689 * to an mbufc. Does not actually perform the copy. Always uses gref's on
1693 * \param[in] mbufc mbufc's storage forms the dest for the copy operation
1700 xnb_txpkt2gnttab(const struct xnb_pkt *pkt, struct mbuf *mbufc,
1705 struct mbuf *mbuf = mbufc;/* current mbuf within the chain */
1761 * \param[in,out] mbufc mbuf chain to update. The chain must be valid and of
1767 xnb_update_mbufc(struct mbuf *mbufc, const gnttab_copy_table gnttab,
1770 struct mbuf *mbuf = mbufc;
1785 mbufc->m_pkthdr.len = total_size;
1788 xnb_add_mbuf_cksum(mbufc);
1799 * \param[out] mbufc The assembled mbuf chain, ready to send to the generic
1807 xnb_recv(netif_tx_back_ring_t *txb, domid_t otherend, struct mbuf **mbufc,
1815 *mbufc = NULL;
1837 *mbufc = xnb_pkt2mbufc(&pkt, ifnet);
1839 if (*mbufc == NULL) {
1851 nr_ents = xnb_txpkt2gnttab(&pkt, *mbufc, gnttab, txb, otherend);
1858 xnb_update_mbufc(*mbufc, gnttab, nr_ents);
1868 * \param[in] mbufc mbuf chain to transform into a packet
1874 * \retval EINVAL mbufc was corrupt or not convertible into a pkt
1879 xnb_mbufc2pkt(const struct mbuf *mbufc, struct xnb_pkt *pkt,
1885 if ((mbufc == NULL) ||
1886 ( (mbufc->m_flags & M_PKTHDR) == 0) ||
1887 (mbufc->m_pkthdr.len == 0)) {
1895 pkt->size = mbufc->m_pkthdr.len;
1897 pkt->car_size = mbufc->m_len;
1899 if (mbufc->m_pkthdr.csum_flags & CSUM_TSO) {
1901 pkt->extra.u.gso.size = mbufc->m_pkthdr.tso_segsz;
1911 if (mbufc->m_pkthdr.csum_flags & (CSUM_TSO | CSUM_DELAY_DATA)) {
1945 * \param[in] mbufc The source for the copy operation
1952 xnb_rxpkt2gnttab(const struct xnb_pkt *pkt, const struct mbuf *mbufc,
1957 const struct mbuf *mbuf = mbufc;/* current mbuf within the chain */
2141 xnb_add_mbuf_cksum(struct mbuf *mbufc)
2147 eh = mtod(mbufc, struct ether_header*);
2155 if (mbufc->m_pkthdr.csum_flags & CSUM_IP_VALID) {
2162 if (mbufc->m_pkthdr.csum_flags & CSUM_IP_VALID) {
2167 th->th_sum = in_cksum_skip(mbufc,
2173 if (mbufc->m_pkthdr.csum_flags & CSUM_IP_VALID) {
2178 uh->uh_sum = in_cksum_skip(mbufc,
2316 struct mbuf *mbufc;
2333 IF_DEQUEUE(&ifp->if_snd, mbufc);
2334 if (mbufc == NULL)
2336 error = xnb_send(rxb, xnb->otherend_id, mbufc,
2345 IF_PREPEND(&ifp->if_snd, mbufc);
2362 if (mbufc)
2363 m_freem(mbufc);
2380 * \param[in] mbufc Contains one packet to send. Caller must free
2389 * \retval EINVAL mbufc was corrupt or not convertible into a pkt
2392 xnb_send(netif_rx_back_ring_t *ring, domid_t otherend, const struct mbuf *mbufc,
2400 error = xnb_mbufc2pkt(mbufc, &pkt, ring->rsp_prod_pvt, space);
2403 n_entries = xnb_rxpkt2gnttab(&pkt, mbufc, gnttab, ring, otherend);