Lines Matching refs:skb

109 				   struct sk_buff *skb,
113 skb_frag_t *frag = &skb_shinfo(skb)->frags[0];
119 skb->tail += IPOIB_UD_HEAD_SIZE;
120 skb->len += length;
125 skb->data_len += size;
126 skb->truesize += PAGE_SIZE;
128 skb_put(skb, length);
147 dev_kfree_skb_any(priv->rx_ring[id].skb);
148 priv->rx_ring[id].skb = NULL;
157 struct sk_buff *skb;
170 skb = dev_alloc_skb(buf_size + tailroom + 4);
171 if (unlikely(!skb))
179 skb_reserve(skb, 4);
182 mapping[0] = ib_dma_map_single(priv->ca, skb->data, buf_size,
191 skb_fill_page_desc(skb, 0, page, 0, PAGE_SIZE);
199 priv->rx_ring[id].skb = skb;
200 return skb;
205 dev_kfree_skb_any(skb);
232 struct sk_buff *skb;
245 skb = priv->rx_ring[wr_id].skb;
253 dev_kfree_skb_any(skb);
254 priv->rx_ring[wr_id].skb = NULL;
281 ipoib_ud_skb_put_frags(priv, skb, wc->byte_len);
284 dgid = &((struct ib_grh *)skb->data)->dgid;
287 skb->pkt_type = PACKET_HOST;
289 skb->pkt_type = PACKET_BROADCAST;
291 skb->pkt_type = PACKET_MULTICAST;
293 skb_pull(skb, IB_GRH_BYTES);
295 skb->protocol = ((struct ipoib_header *) skb->data)->proto;
296 skb_reset_mac_header(skb);
297 skb_pull(skb, IPOIB_ENCAP_LEN);
300 dev->stats.rx_bytes += skb->len;
302 skb->dev = dev;
305 skb->ip_summed = CHECKSUM_UNNECESSARY;
307 napi_gro_receive(&priv->napi, skb);
318 struct sk_buff *skb = tx_req->skb;
323 if (skb_headlen(skb)) {
324 mapping[0] = ib_dma_map_single(ca, skb->data, skb_headlen(skb),
333 for (i = 0; i < skb_shinfo(skb)->nr_frags; ++i) {
334 const skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
346 const skb_frag_t *frag = &skb_shinfo(skb)->frags[i - 1];
352 ib_dma_unmap_single(ca, mapping[0], skb_headlen(skb), DMA_TO_DEVICE);
360 struct sk_buff *skb = tx_req->skb;
365 if (skb_headlen(skb)) {
366 ib_dma_unmap_single(ca, mapping[0], skb_headlen(skb), DMA_TO_DEVICE);
371 for (i = 0; i < skb_shinfo(skb)->nr_frags; ++i) {
372 const skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
399 dev->stats.tx_bytes += tx_req->skb->len;
401 dev_kfree_skb_any(tx_req->skb);
510 struct sk_buff *skb = tx_req->skb;
511 skb_frag_t *frags = skb_shinfo(skb)->frags;
512 int nr_frags = skb_shinfo(skb)->nr_frags;
515 if (skb_headlen(skb)) {
517 priv->tx_sge[0].length = skb_headlen(skb);
532 priv->tx_wr.wr.ud.mss = skb_shinfo(skb)->gso_size;
542 void ipoib_send(struct net_device *dev, struct sk_buff *skb,
550 if (skb_is_gso(skb)) {
551 hlen = skb_transport_offset(skb) + tcp_hdrlen(skb);
552 phead = skb->data;
553 if (unlikely(!skb_pull(skb, hlen))) {
557 dev_kfree_skb_any(skb);
561 if (unlikely(skb->len > priv->mcast_mtu + IPOIB_ENCAP_LEN)) {
563 skb->len, priv->mcast_mtu + IPOIB_ENCAP_LEN);
566 ipoib_cm_skb_too_long(dev, skb, priv->mcast_mtu);
574 skb->len, address, qpn);
577 * We put the skb into the tx_ring _before_ we call post_send()
584 tx_req->skb = skb;
587 dev_kfree_skb_any(skb);
591 if (skb->ip_summed == CHECKSUM_PARTIAL)
603 skb_orphan(skb);
604 skb_dst_drop(skb);
613 dev_kfree_skb_any(skb);
765 if (priv->rx_ring[i].skb)
847 dev_kfree_skb_any(tx_req->skb);
856 if (!rx_req->skb)
860 dev_kfree_skb_any(rx_req->skb);
861 rx_req->skb = NULL;