Lines Matching full:mb

99 	for (i = 0, m = rx_req->mb; m != NULL; m = m->m_next, i++)  in ipoib_dma_unmap_rx()
105 ipoib_dma_mb(struct ipoib_dev_priv *priv, struct mbuf *mb, unsigned int length) in ipoib_dma_mb() argument
108 m_adj(mb, -(mb->m_pkthdr.len - length)); in ipoib_dma_mb()
115 struct mbuf *mb, *m; in ipoib_alloc_map_mb() local
118 rx_req->mb = NULL; in ipoib_alloc_map_mb()
119 mb = m_getm2(NULL, align + size, M_NOWAIT, MT_DATA, M_PKTHDR); in ipoib_alloc_map_mb()
120 if (mb == NULL) in ipoib_alloc_map_mb()
122 for (i = 0, m = mb; m != NULL; m = m->m_next, i++) { in ipoib_alloc_map_mb()
128 mb->m_pkthdr.len += m->m_len; in ipoib_alloc_map_mb()
136 rx_req->mb = mb; in ipoib_alloc_map_mb()
137 return (mb); in ipoib_alloc_map_mb()
139 for (j = 0, m = mb; j < i; m = m->m_next, j++) in ipoib_alloc_map_mb()
142 m_freem(mb); in ipoib_alloc_map_mb()
156 for (m = rx_req->mb, i = 0; m != NULL; m = m->m_next, i++) { in ipoib_ib_post_receive()
167 m_freem(priv->rx_ring[id].mb); in ipoib_ib_post_receive()
168 priv->rx_ring[id].mb = NULL; in ipoib_ib_post_receive()
206 struct mbuf *mb; in ipoib_ib_handle_rx_wc() local
217 mb = priv->rx_ring[wr_id].mb; in ipoib_ib_handle_rx_wc()
226 if (mb) { in ipoib_ib_handle_rx_wc()
228 m_freem(mb); in ipoib_ib_handle_rx_wc()
229 priv->rx_ring[wr_id].mb = NULL; in ipoib_ib_handle_rx_wc()
256 ipoib_dma_mb(priv, mb, wc->byte_len); in ipoib_ib_handle_rx_wc()
259 if_inc_counter(dev, IFCOUNTER_IBYTES, mb->m_pkthdr.len); in ipoib_ib_handle_rx_wc()
260 mb->m_pkthdr.rcvif = dev; in ipoib_ib_handle_rx_wc()
261 m_adj(mb, sizeof(struct ib_grh) - INFINIBAND_ALEN); in ipoib_ib_handle_rx_wc()
262 eh = mtod(mb, struct ipoib_header *); in ipoib_ib_handle_rx_wc()
266 mb->m_pkthdr.csum_flags = CSUM_IP_CHECKED | CSUM_IP_VALID; in ipoib_ib_handle_rx_wc()
268 if_input(dev, mb); in ipoib_ib_handle_rx_wc()
278 struct mbuf *mb = tx_req->mb; in ipoib_dma_map_tx() local
284 for (m = mb, p = NULL, i = 0; m != NULL; p = m, m = m->m_next, i++) { in ipoib_dma_map_tx()
295 tx_req->mb = mb = m_defrag(mb, M_NOWAIT); in ipoib_dma_map_tx()
296 if (mb == NULL) in ipoib_dma_map_tx()
298 for (m = mb, i = 0; m != NULL; m = m->m_next, i++); in ipoib_dma_map_tx()
303 for (m = mb, i = 0; m != NULL; m = m->m_next, i++) { in ipoib_dma_map_tx()
315 for (m = mb, i = 0; i < end; m = m->m_next, i++) in ipoib_dma_map_tx()
324 struct mbuf *mb = tx_req->mb; in ipoib_dma_unmap_tx() local
329 for (m = mb, i = 0; m != NULL; m = m->m_next, i++) in ipoib_dma_unmap_tx()
354 m_freem(tx_req->mb); in ipoib_ib_handle_tx_wc()
454 struct mbuf *mb = tx_req->mb; in post_send() local
459 for (m = mb, i = 0; m != NULL; m = m->m_next, i++) { in post_send()
469 priv->tx_wr.mss = 0; /* XXX mb_shinfo(mb)->gso_size; */ in post_send()
480 ipoib_send(struct ipoib_dev_priv *priv, struct mbuf *mb, in ipoib_send() argument
492 m_adj(mb, sizeof (struct ipoib_pseudoheader)); in ipoib_send()
493 if (0 /* XXX segment offload mb_is_gso(mb) */) { in ipoib_send()
494 /* XXX hlen = mb_transport_offset(mb) + tcp_hdrlen(mb); */ in ipoib_send()
495 phead = mtod(mb, void *); in ipoib_send()
496 if (mb->m_len < hlen) { in ipoib_send()
499 m_freem(mb); in ipoib_send()
502 m_adj(mb, hlen); in ipoib_send()
504 if (unlikely(mb->m_pkthdr.len - IPOIB_ENCAP_LEN > priv->mcast_mtu)) { in ipoib_send()
506 mb->m_pkthdr.len, priv->mcast_mtu); in ipoib_send()
508 ipoib_cm_mb_too_long(priv, mb, priv->mcast_mtu); in ipoib_send()
516 mb->m_pkthdr.len, address, qpn); in ipoib_send()
519 * We put the mb into the tx_ring _before_ we call post_send() in ipoib_send()
526 tx_req->mb = mb; in ipoib_send()
529 if (tx_req->mb) in ipoib_send()
530 m_freem(tx_req->mb); in ipoib_send()
534 if (mb->m_pkthdr.csum_flags & (CSUM_IP|CSUM_TCP|CSUM_UDP)) in ipoib_send()
553 m_freem(mb); in ipoib_send()
711 if (priv->rx_ring[i].mb) in recvs_pending()
810 m_freem(tx_req->mb); in ipoib_ib_dev_stop()
819 if (!rx_req->mb) in ipoib_ib_dev_stop()
822 m_freem(rx_req->mb); in ipoib_ib_dev_stop()
823 rx_req->mb = NULL; in ipoib_ib_dev_stop()