You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
[SK_BUFF]: Introduce skb_reset_mac_header(skb)
For the common, open coded 'skb->mac.raw = skb->data' operation, so that we can later turn skb->mac.raw into a offset, reducing the size of struct sk_buff in 64bit land while possibly keeping it as a pointer on 32bit. This one touches just the most simple case, next will handle the slightly more "complex" cases. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
4c13eb6657
commit
459a98ed88
@@ -27,7 +27,8 @@ new_skb(ulong len)
|
||||
|
||||
skb = alloc_skb(len, GFP_ATOMIC);
|
||||
if (skb) {
|
||||
skb->nh.raw = skb->mac.raw = skb->data;
|
||||
skb_reset_mac_header(skb);
|
||||
skb->nh.raw = skb->data;
|
||||
skb->protocol = __constant_htons(ETH_P_AOE);
|
||||
skb->priority = 0;
|
||||
skb->next = skb->prev = NULL;
|
||||
|
||||
@@ -834,7 +834,7 @@ static inline u16 ether1394_type_trans(struct sk_buff *skb,
|
||||
struct eth1394hdr *eth;
|
||||
unsigned char *rawp;
|
||||
|
||||
skb->mac.raw = skb->data;
|
||||
skb_reset_mac_header(skb);
|
||||
skb_pull (skb, ETH1394_HLEN);
|
||||
eth = eth1394_hdr(skb);
|
||||
|
||||
|
||||
@@ -408,7 +408,7 @@ void ipoib_cm_handle_rx_wc(struct net_device *dev, struct ib_wc *wc)
|
||||
skb_put_frags(skb, IPOIB_CM_HEAD_SIZE, wc->byte_len, newskb);
|
||||
|
||||
skb->protocol = ((struct ipoib_header *) skb->data)->proto;
|
||||
skb->mac.raw = skb->data;
|
||||
skb_reset_mac_header(skb);
|
||||
skb_pull(skb, IPOIB_ENCAP_LEN);
|
||||
|
||||
dev->last_rx = jiffies;
|
||||
|
||||
@@ -216,7 +216,7 @@ static void ipoib_ib_handle_rx_wc(struct net_device *dev, struct ib_wc *wc)
|
||||
if (wc->slid != priv->local_lid ||
|
||||
wc->src_qp != priv->qp->qp_num) {
|
||||
skb->protocol = ((struct ipoib_header *) skb->data)->proto;
|
||||
skb->mac.raw = skb->data;
|
||||
skb_reset_mac_header(skb);
|
||||
skb_pull(skb, IPOIB_ENCAP_LEN);
|
||||
|
||||
dev->last_rx = jiffies;
|
||||
|
||||
@@ -1366,7 +1366,7 @@ isdn_net_type_trans(struct sk_buff *skb, struct net_device *dev)
|
||||
struct ethhdr *eth;
|
||||
unsigned char *rawp;
|
||||
|
||||
skb->mac.raw = skb->data;
|
||||
skb_reset_mac_header(skb);
|
||||
skb_pull(skb, ETH_HLEN);
|
||||
eth = eth_hdr(skb);
|
||||
|
||||
@@ -1786,7 +1786,7 @@ isdn_net_receive(struct net_device *ndev, struct sk_buff *skb)
|
||||
}
|
||||
skb->dev = ndev;
|
||||
skb->pkt_type = PACKET_HOST;
|
||||
skb->mac.raw = skb->data;
|
||||
skb_reset_mac_header(skb);
|
||||
#ifdef ISDN_DEBUG_NET_DUMP
|
||||
isdn_dumppkt("R:", skb->data, skb->len, 40);
|
||||
#endif
|
||||
|
||||
@@ -1167,7 +1167,7 @@ isdn_ppp_push_higher(isdn_net_dev * net_dev, isdn_net_local * lp, struct sk_buff
|
||||
mlp->huptimer = 0;
|
||||
#endif /* CONFIG_IPPP_FILTER */
|
||||
skb->dev = dev;
|
||||
skb->mac.raw = skb->data;
|
||||
skb_reset_mac_header(skb);
|
||||
netif_rx(skb);
|
||||
/* net_dev->local->stats.rx_packets++; done in isdn_net.c */
|
||||
return;
|
||||
|
||||
@@ -753,7 +753,7 @@ mpt_lan_sdu_send (struct sk_buff *skb, struct net_device *dev)
|
||||
/* Set the mac.raw pointer, since this apparently isn't getting
|
||||
* done before we get the skb. Pull the data pointer past the mac data.
|
||||
*/
|
||||
skb->mac.raw = skb->data;
|
||||
skb_reset_mac_header(skb);
|
||||
skb_pull(skb, 12);
|
||||
|
||||
dma = pci_map_single(mpt_dev->pcidev, skb->data, skb->len,
|
||||
@@ -1549,7 +1549,7 @@ mpt_lan_type_trans(struct sk_buff *skb, struct net_device *dev)
|
||||
struct mpt_lan_ohdr *fch = (struct mpt_lan_ohdr *)skb->data;
|
||||
struct fcllc *fcllc;
|
||||
|
||||
skb->mac.raw = skb->data;
|
||||
skb_reset_mac_header(skb);
|
||||
skb_pull(skb, sizeof(struct mpt_lan_ohdr));
|
||||
|
||||
if (fch->dtype == htons(0xffff)) {
|
||||
|
||||
@@ -853,7 +853,7 @@ static void cops_rx(struct net_device *dev)
|
||||
return;
|
||||
}
|
||||
|
||||
skb->mac.raw = skb->data; /* Point to entire packet. */
|
||||
skb_reset_mac_header(skb); /* Point to entire packet. */
|
||||
skb_pull(skb,3);
|
||||
skb->h.raw = skb->data; /* Point to data (Skip header). */
|
||||
|
||||
|
||||
@@ -770,7 +770,7 @@ static int sendup_buffer (struct net_device *dev)
|
||||
skb->data[0] = dnode;
|
||||
skb->data[1] = snode;
|
||||
skb->data[2] = llaptype;
|
||||
skb->mac.raw = skb->data; /* save pointer to llap header */
|
||||
skb_reset_mac_header(skb); /* save pointer to llap header */
|
||||
skb_pull(skb,3);
|
||||
|
||||
/* copy ddp(s,e)hdr + contents */
|
||||
|
||||
@@ -110,7 +110,7 @@ static void rx(struct net_device *dev, int bufnum,
|
||||
|
||||
pkt = (struct archdr *) skb->data;
|
||||
|
||||
skb->mac.raw = skb->data;
|
||||
skb_reset_mac_header(skb);
|
||||
skb_pull(skb, ARC_HDR_SIZE);
|
||||
|
||||
/* up to sizeof(pkt->soft) has already been copied from the card */
|
||||
|
||||
@@ -122,10 +122,8 @@ static void rx(struct net_device *dev, int bufnum,
|
||||
}
|
||||
skb_put(skb, length + ARC_HDR_SIZE + sizeof(int));
|
||||
skb->dev = dev;
|
||||
|
||||
pkt = (struct archdr *) skb->data;
|
||||
|
||||
skb->mac.raw = skb->data;
|
||||
skb_reset_mac_header(skb);
|
||||
pkt = (struct archdr *)skb->mac.raw;
|
||||
skb_pull(skb, ARC_HDR_SIZE);
|
||||
|
||||
/* up to sizeof(pkt->soft) has already been copied from the card */
|
||||
@@ -270,9 +268,8 @@ static int ack_tx(struct net_device *dev, int acked)
|
||||
skb_put(ackskb, length + ARC_HDR_SIZE );
|
||||
ackskb->dev = dev;
|
||||
|
||||
ackpkt = (struct archdr *) ackskb->data;
|
||||
|
||||
ackskb->mac.raw = ackskb->data;
|
||||
skb_reset_mac_header(ackskb);
|
||||
ackpkt = (struct archdr *)ackskb->mac.raw;
|
||||
/* skb_pull(ackskb, ARC_HDR_SIZE); */
|
||||
|
||||
|
||||
|
||||
@@ -94,7 +94,7 @@ static unsigned short type_trans(struct sk_buff *skb, struct net_device *dev)
|
||||
int hdr_size = ARC_HDR_SIZE + RFC1051_HDR_SIZE;
|
||||
|
||||
/* Pull off the arcnet header. */
|
||||
skb->mac.raw = skb->data;
|
||||
skb_reset_mac_header(skb);
|
||||
skb_pull(skb, hdr_size);
|
||||
|
||||
if (pkt->hard.dest == 0)
|
||||
|
||||
@@ -96,7 +96,7 @@ static unsigned short type_trans(struct sk_buff *skb, struct net_device *dev)
|
||||
int hdr_size = ARC_HDR_SIZE + RFC1201_HDR_SIZE;
|
||||
|
||||
/* Pull off the arcnet header. */
|
||||
skb->mac.raw = skb->data;
|
||||
skb_reset_mac_header(skb);
|
||||
skb_pull(skb, hdr_size);
|
||||
|
||||
if (pkt->hard.dest == 0)
|
||||
|
||||
@@ -884,7 +884,7 @@ static int ad_lacpdu_send(struct port *port)
|
||||
}
|
||||
|
||||
skb->dev = slave->dev;
|
||||
skb->mac.raw = skb->data;
|
||||
skb_reset_mac_header(skb);
|
||||
skb->nh.raw = skb->data + ETH_HLEN;
|
||||
skb->protocol = PKT_TYPE_LACPDU;
|
||||
skb->priority = TC_PRIO_CONTROL;
|
||||
@@ -928,7 +928,7 @@ static int ad_marker_send(struct port *port, struct marker *marker)
|
||||
skb_reserve(skb, 16);
|
||||
|
||||
skb->dev = slave->dev;
|
||||
skb->mac.raw = skb->data;
|
||||
skb_reset_mac_header(skb);
|
||||
skb->nh.raw = skb->data + ETH_HLEN;
|
||||
skb->protocol = PKT_TYPE_LACPDU;
|
||||
|
||||
|
||||
@@ -890,7 +890,7 @@ static void alb_send_learning_packets(struct slave *slave, u8 mac_addr[])
|
||||
data = skb_put(skb, size);
|
||||
memcpy(data, &pkt, size);
|
||||
|
||||
skb->mac.raw = data;
|
||||
skb_reset_mac_header(skb);
|
||||
skb->nh.raw = data + ETH_HLEN;
|
||||
skb->protocol = pkt.type;
|
||||
skb->priority = TC_PRIO_CONTROL;
|
||||
@@ -1266,7 +1266,7 @@ int bond_alb_xmit(struct sk_buff *skb, struct net_device *bond_dev)
|
||||
u8 *hash_start = NULL;
|
||||
int res = 1;
|
||||
|
||||
skb->mac.raw = (unsigned char *)skb->data;
|
||||
skb_reset_mac_header(skb);
|
||||
eth_data = eth_hdr(skb);
|
||||
|
||||
/* make sure that the curr_active_slave and the slaves list do
|
||||
|
||||
@@ -783,7 +783,7 @@ static int do_trace(struct t3cdev *dev, struct sk_buff *skb)
|
||||
skb->protocol = htons(0xffff);
|
||||
skb->dev = dev->lldev;
|
||||
skb_pull(skb, sizeof(*p));
|
||||
skb->mac.raw = skb->data;
|
||||
skb_reset_mac_header(skb);
|
||||
netif_receive_skb(skb);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1620,7 +1620,8 @@ static inline int rx_offload(struct t3cdev *tdev, struct sge_rspq *rq,
|
||||
unsigned int gather_idx)
|
||||
{
|
||||
rq->offload_pkts++;
|
||||
skb->mac.raw = skb->nh.raw = skb->h.raw = skb->data;
|
||||
skb_reset_mac_header(skb);
|
||||
skb->nh.raw = skb->h.raw = skb->data;
|
||||
|
||||
if (rq->polling) {
|
||||
rx_gather[gather_idx++] = skb;
|
||||
|
||||
@@ -1932,7 +1932,7 @@ static int ali_ircc_dma_receive_complete(struct ali_ircc_cb *self)
|
||||
self->stats.rx_packets++;
|
||||
|
||||
skb->dev = self->netdev;
|
||||
skb->mac.raw = skb->data;
|
||||
skb_reset_mac_header(skb);
|
||||
skb->protocol = htons(ETH_P_IRDA);
|
||||
netif_rx(skb);
|
||||
self->netdev->last_rx = jiffies;
|
||||
|
||||
@@ -606,7 +606,7 @@ static int au1k_irda_rx(struct net_device *dev)
|
||||
skb_put(skb, count-2);
|
||||
memcpy(skb->data, (void *)pDB->vaddr, count-2);
|
||||
skb->dev = dev;
|
||||
skb->mac.raw = skb->data;
|
||||
skb_reset_mac_header(skb);
|
||||
skb->protocol = htons(ETH_P_IRDA);
|
||||
netif_rx(skb);
|
||||
prxd->count_0 = 0;
|
||||
|
||||
@@ -1286,7 +1286,7 @@ dumpbufs(self->rx_bufs[self->rxs],len,'<');
|
||||
|
||||
self->stats.rx_packets++;
|
||||
skb->dev = self->netdev;
|
||||
skb->mac.raw = skb->data;
|
||||
skb_reset_mac_header(skb);
|
||||
skb->protocol = htons (ETH_P_IRDA);
|
||||
}
|
||||
else
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user