Lines Matching defs:skb

960  * @skb:	Associated socket buffer.
965 struct sk_buff *skb;
4440 dev_kfree_skb(dma_buf->skb);
4441 dma_buf->skb = NULL;
4463 if (dma_buf->skb && dma_buf->len != adapter->mtu)
4466 if (!dma_buf->skb)
4467 dma_buf->skb = alloc_skb(dma_buf->len, GFP_ATOMIC);
4468 if (dma_buf->skb && !dma_buf->dma)
4470 skb_tail_pointer(dma_buf->skb),
4582 if (dma_buf->skb)
4624 * @skb: Socket buffer.
4629 static void send_packet(struct sk_buff *skb, struct net_device *dev)
4639 int last_frag = skb_shinfo(skb)->nr_frags;
4649 len = skb->len;
4660 dma_buf->len = skb_headlen(skb);
4662 dma_buf->dma = dma_map_single(&hw_priv->pdev->dev, skb->data,
4669 this_frag = &skb_shinfo(skb)->frags[frag];
4703 dma_buf->dma = dma_map_single(&hw_priv->pdev->dev, skb->data,
4709 if (skb->ip_summed == CHECKSUM_PARTIAL) {
4718 dma_buf->skb = skb;
4763 if (dma_buf->skb) {
4764 dev = dma_buf->skb->dev;
4767 dev_kfree_skb_irq(dma_buf->skb);
4768 dma_buf->skb = NULL;
4806 static inline void copy_old_skb(struct sk_buff *old, struct sk_buff *skb)
4808 skb->dev = old->dev;
4809 skb->protocol = old->protocol;
4810 skb->ip_summed = old->ip_summed;
4811 skb->csum = old->csum;
4812 skb_set_network_header(skb, ETH_HLEN);
4819 * @skb: Socket buffer.
4826 static netdev_tx_t netdev_tx(struct sk_buff *skb, struct net_device *dev)
4836 struct sk_buff *org_skb = skb;
4838 if (skb->len <= 48) {
4839 if (skb_end_pointer(skb) - skb->data >= 50) {
4840 memset(&skb->data[skb->len], 0, 50 - skb->len);
4841 skb->len = 50;
4843 skb = netdev_alloc_skb(dev, 50);
4844 if (!skb)
4846 memcpy(skb->data, org_skb->data, org_skb->len);
4847 memset(&skb->data[org_skb->len], 0,
4849 skb->len = 50;
4850 copy_old_skb(org_skb, skb);
4857 num = skb_shinfo(skb)->nr_frags + 1;
4858 left = hw_alloc_pkt(hw, skb->len, num);
4861 (CHECKSUM_PARTIAL == skb->ip_summed &&
4862 skb->protocol == htons(ETH_P_IPV6))) {
4863 struct sk_buff *org_skb = skb;
4865 skb = netdev_alloc_skb(dev, org_skb->len);
4866 if (!skb) {
4870 skb_copy_and_csum_dev(org_skb, skb->data);
4872 skb->len = org_skb->len;
4873 copy_old_skb(org_skb, skb);
4875 send_packet(skb, dev);
4961 static inline void csum_verified(struct sk_buff *skb)
4966 protocol = skb->protocol;
4967 skb_reset_network_header(skb);
4968 iph = (struct iphdr *) skb_network_header(skb);
4971 skb_set_network_header(skb, VLAN_HLEN);
4972 iph = (struct iphdr *) skb_network_header(skb);
4976 skb->ip_summed = CHECKSUM_UNNECESSARY;
4987 struct sk_buff *skb;
4997 /* skb->data != skb->head */
4998 skb = netdev_alloc_skb(dev, packet_len + 2);
4999 if (!skb) {
5008 skb_reserve(skb, 2);
5010 skb_put_data(skb, dma_buf->skb->data, packet_len);
5013 skb->protocol = eth_type_trans(skb, dev);
5016 csum_verified(skb);
5023 netif_rx(skb);