[NET]: Store skb->timestamp as offset to a base timestamp
Reduces skb size by 8 bytes on 64-bit. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
25ed891019
commit
a61bbcf28a
@@ -812,7 +812,7 @@ static void ndisc_recv_ns(struct sk_buff *skb)
|
||||
if (ipv6_chk_acast_addr(dev, &msg->target) ||
|
||||
(idev->cnf.forwarding &&
|
||||
pneigh_lookup(&nd_tbl, &msg->target, dev, 0))) {
|
||||
if (skb->stamp.tv_sec != LOCALLY_ENQUEUED &&
|
||||
if (!(NEIGH_CB(skb)->flags & LOCALLY_ENQUEUED) &&
|
||||
skb->pkt_type != PACKET_HOST &&
|
||||
inc != 0 &&
|
||||
idev->nd_parms->proxy_delay != 0) {
|
||||
@@ -1487,6 +1487,8 @@ int ndisc_rcv(struct sk_buff *skb)
|
||||
return 0;
|
||||
}
|
||||
|
||||
memset(NEIGH_CB(skb), 0, sizeof(struct neighbour_cb));
|
||||
|
||||
switch (msg->icmph.icmp6_type) {
|
||||
case NDISC_NEIGHBOUR_SOLICITATION:
|
||||
ndisc_recv_ns(skb);
|
||||
|
@@ -238,8 +238,8 @@ ipq_build_packet_message(struct ipq_queue_entry *entry, int *errp)
|
||||
|
||||
pmsg->packet_id = (unsigned long )entry;
|
||||
pmsg->data_len = data_len;
|
||||
pmsg->timestamp_sec = entry->skb->stamp.tv_sec;
|
||||
pmsg->timestamp_usec = entry->skb->stamp.tv_usec;
|
||||
pmsg->timestamp_sec = skb_tv_base.tv_sec + entry->skb->tstamp.off_sec;
|
||||
pmsg->timestamp_usec = skb_tv_base.tv_usec + entry->skb->tstamp.off_usec;
|
||||
pmsg->mark = entry->skb->nfmark;
|
||||
pmsg->hook = entry->info->hook;
|
||||
pmsg->hw_protocol = entry->skb->protocol;
|
||||
|
@@ -562,7 +562,7 @@ static void ip6_frag_queue(struct frag_queue *fq, struct sk_buff *skb,
|
||||
if (skb->dev)
|
||||
fq->iif = skb->dev->ifindex;
|
||||
skb->dev = NULL;
|
||||
fq->stamp = skb->stamp;
|
||||
skb_get_timestamp(skb, &fq->stamp);
|
||||
fq->meat += skb->len;
|
||||
atomic_add(skb->truesize, &ip6_frag_mem);
|
||||
|
||||
@@ -664,7 +664,7 @@ static int ip6_frag_reasm(struct frag_queue *fq, struct sk_buff **skb_in,
|
||||
|
||||
head->next = NULL;
|
||||
head->dev = dev;
|
||||
head->stamp = fq->stamp;
|
||||
skb_set_timestamp(head, &fq->stamp);
|
||||
head->nh.ipv6h->payload_len = htons(payload_len);
|
||||
|
||||
*skb_in = head;
|
||||
|
Reference in New Issue
Block a user